> ## Documentation Index
> Fetch the complete documentation index at: https://enhancedradar.com/docs/api/llms.txt
> Use this file to discover all available pages before exploring further.

# Search PIREPs

> Searches pilot weather reports heard on frequency near a point, in plain language and FAA PIREP format.

Searches pilot weather reports (PIREPs) heard on frequency near a point: a pilot reporting turbulence, icing, wind shear, cloud layers, or other conditions they encountered. A controller passing an earlier report on to other aircraft is not a new PIREP. Describe what you are looking for in plain words; results are ranked by how closely they match its meaning, not by exact words.

Each PIREP is returned as it was first reported, with its plain-language summary and the conditions encoded in the FAA PIREP format.

<video controls preload="none" playsInline src="https://enhancedradar.com/media/api/api-05-enhanced-pireps-v1.mp4" poster="https://enhancedradar.com/media/api/api-05-enhanced-pireps-poster-v1.jpg" />

## Query parameters

**q** `string` *required*

What you are looking for, e.g. `turbulence`, `icing on descent`, or `wind shear on final`.

**since** `string` *required*

Start of the window, inclusive. See [Times](https://enhancedradar.com/docs/api/docs/api/concepts/times.md).

**until** `string` *required*

End of the window, exclusive. Must be after `since` and at most 6 hours later.

**latitude** `number` *required*

Latitude of the center of the search area, in decimal degrees.

**longitude** `number` *required*

Longitude of the center of the search area, in decimal degrees.

**radius\_nm** `number` *required*

Radius of the search area in nautical miles, 1 to 150. A PIREP is in the area when the reporting aircraft was.

**limit** `integer` (default: 10)

Maximum PIREPs to return, 1 to 25.

Results are the best matches in one page; there is no cursor. Weak matches are left out, so a search for conditions nobody reported returns no PIREPs. A PIREP is returned only when the reporting aircraft's position is known. A page can hold fewer than `limit` PIREPs even when more match. A PIREP can take a few minutes after it is heard to become searchable.

## Response

**pireps** `array`

The PIREPs, best match first.

**PIREP**

**event\_id** `integer`

Id of the event the PIREP was reported in. Fetch it with [Get event](https://enhancedradar.com/docs/api/docs/api/api-reference/events/get.md).

**atc\_channel\_id** `integer`

The channel the PIREP was heard on.

**facility\_ids** `string[]`

Facilities that channel belongs to.

**happened\_at** `string`

When the PIREP was made, in UTC, accurate to within 20 seconds.

**callsign** `string`

ICAO callsign of the reporting aircraft.

**aircraft\_latitude** `number`

Latitude of the reporting aircraft from ADS-B when it reported, in decimal degrees.

**aircraft\_longitude** `number`

Longitude of the reporting aircraft from ADS-B when it reported, in decimal degrees.

**summary** `string`

One-line plain-language summary of the conditions the pilot reported, with the pilot's words from the frequency.

**faa\_pirep** `string`

The report in the FAA PIREP format of FAA Order JO 7110.10, starting with `UUA` for an urgent report or `UA` for a routine one. See [FAA PIREP format](#faa-pirep-format).

**evidence\_audio\_sample\_ids** `string[]`

Transmissions the PIREP was heard in. Fetch them with [Get transcript](https://enhancedradar.com/docs/api/docs/api/api-reference/transcripts/get.md) and [Get transcript audio](https://enhancedradar.com/docs/api/docs/api/api-reference/transcripts/audio.md).

**search\_score** `number`

Relevance of the match; higher is better. Compare scores only within one response.

## FAA PIREP format

`faa_pirep` holds these text elements, in this order, each only when known:

| Element | Source |
| - | - |
| `UUA` or `UA` | Urgent when the report includes a tornado, funnel cloud, or waterspout, severe or extreme turbulence, severe icing, hail, low-level wind shear, or volcanic ash. |
| `/TM` | `happened_at` as `HHMM` UTC. |
| `/FL` | The aircraft's barometric altitude from ADS-B in hundreds of feet, or `UNKN`. |
| `/TP` | Always `UNKN`; the aircraft type is not known. |
| `/SK`, `/WX`, `/TA`, `/WV`, `/TB`, `/IC`, `/RM` | Sky condition, flight visibility and weather, air temperature, wind, turbulence, icing, and remarks, as the pilot stated them. |

There is no `/OV` location element; use `aircraft_latitude` and `aircraft_longitude`.

> [!WARNING]
>
> The condition elements are written by a language model from transcripts and can contain mistakes. Check important details against the transcripts.

## Billing

Each PIREP returned is charged as one `pirep`, at \$0.15. A search that returns no PIREPs is free. See [Pricing](https://enhancedradar.com/docs/api/docs/api/pricing.md) and [Billing](https://enhancedradar.com/docs/api/docs/api/concepts/billing.md).

## Errors

| Status | Meaning |
| - | - |
| `400` | A required parameter is missing, or a parameter is invalid. |
| `504` | The search took too long. Try again. |

```bash cURL theme={null}
curl -H "Authorization: Bearer $ER_API_KEY" \
  "https://api.enhancedradar.com/api/v0/pireps?q=turbulence&since=2026-10-22T18:00:00Z&until=2026-10-23T00:00:00Z&latitude=37.62&longitude=-122.38&radius_nm=60"
```

```json 200 theme={null}
{
  "pireps": [
    {
      "event_id": 5180144,
      "atc_channel_id": 820,
      "facility_ids": ["ae40254d-1aeb-4a43-93b5-82d7e61d1202"],
      "happened_at": "2026-10-22T22:14:05.120934Z",
      "callsign": "SWA2214",
      "aircraft_latitude": 37.7412,
      "aircraft_longitude": -122.7031,
      "summary": "Moderate chop reported descending through 9,000, \"moderate chop from about ten down to eight\"",
      "faa_pirep": "UA /TM 2214 /FL090 /TP UNKN /TB MOD CHOP 080-100 /RM DURD",
      "evidence_audio_sample_ids": ["7d4c2f1e-93a8-4f0b-b6e2-5a1c9d3e8f70"],
      "search_score": 0.68
    }
  ]
}
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.