---
title: findRecord() function
description: findRecord() returns a row at a specified index as a record from the first table in a stream of tables that matches the specified predicate function.
url: https://docs.influxdata.com/flux/v0/stdlib/universe/findrecord/
estimated_tokens: 976
product: Flux
version: v0
---

# findRecord() function

-   Flux 0.68.0+
-   View InfluxDB support

`findRecord()` returns a row at a specified index as a record from the first table in a stream of tables that matches the specified predicate function.

The function returns an empty record if no table is found or if the index is out of bounds.

##### Function type signature

```js
(<-tables: stream[B], fn: (key: A) => bool, idx: int) => B where A: Record, B: Record
```

For more information, see [Function type signatures](/flux/v0/function-type-signatures/).

## Parameters

### idx

(Required) Index of the record to extract.

### fn

(Required) Predicate function to evaluate input table group keys.

`findColumn()` uses the first table that resolves as `true`. The predicate function requires a `key` argument that represents each input table’s group key as a record.

### tables

Input data. Default is piped-forward data (`<-`).

## Examples

### Extract a row as a record

```js
import "sampledata"

sampledata.int()
    |> findRecord(
        fn: (key) => key.tag == "t1",
        idx: 0,
    )// Returns {_time: 2021-01-01T00:00:00.000000000Z, _value: -2, tag: t1}

```

#### Related

-   [Extract scalar values in Flux](/influxdb/v2/query-data/flux/scalar-values/)

[dynamic queries](/flux/v0/tags/dynamic-queries/)
