---
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: 316
product: Flux
version: v0
publisher: InfluxData
canonical: https://docs.influxdata.com/flux/v0/stdlib/universe/findrecord/
date: '2024-04-08T16:01:02-06:00'
lastmod: '2024-04-08T16:01:02-06:00'
---

* Flux 0.68.0+

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

```
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/)
