<!-- Agent Datasets docs · fda_search_approvals · canonical: https://www.agentdatasets.com/docs/tools/fda_search_approvals · rendered from https://www.agentdatasets.com -->

# fda_search_approvals

Search pilot-sponsor Drugs@FDA approval events with bounded cursor paging.

| Field | Value |
| --- | --- |
| Category | FDA (`fda`) |
| Exposure | public |
| MCP tool | `fda_search_approvals` |
| Documentation | https://www.agentdatasets.com/docs/tools/fda_search_approvals |

## Description

Search pilot-sponsor Drugs@FDA approval events with bounded cursor paging.

The shared envelope echoes filters in `data`, returns one original or
efficacy-supplement event per `data.matches` item, reports
`source="openfda_drugsfda"` and the freshest export date on the page in
`meta`, and supplies `pagination.next_cursor` when more events remain.
Each match includes the application number, catalog-resolved sponsor
block (company, ticker, key, and published sponsor name), brand/generic
names, submission status/class/date/priority fields, and per-event
source/as_of attribution.

Use this to discover approval history by sponsor, drug name, or approval
date. Pass application numbers from matches to `fda_get_approvals` for
product and full submission detail. The default limit is 10 and maximum
is 50. Pass `pagination.next_cursor` back unchanged to continue; stop
when `has_more` is false. Errors are `out_of_coverage` for a sponsor
outside the pilot catalog and `bad_parameter` for an empty drug,
reversed date range, invalid cursor, or service-level invalid limit
(schema-invalid bounds are rejected before dispatch).

Example: `fda_search_approvals(sponsor="VRTX", drug="ivacaftor", limit=5)`.

## Parameters

Input schema advertised to MCP clients and mirrored by the REST query string.

| Parameter | In | Type | Required | Default | Constraints | Description |
| --- | --- | --- | --- | --- | --- | --- |
| sponsor | input | `string \| null` | no | null | — | Optional pilot sponsor ticker, catalog key, or exact company name, matched case-insensitively. A sponsor outside the pilot catalog returns out_of_coverage; a covered sponsor with no approvals returns an empty page. |
| drug | input | `string \| null` | no | null | — | Optional case-insensitive substring matched against curated brand and generic drug names. Omit to include every drug for the selected sponsor universe. |
| approved_after | input | `string (date) \| null` | no | null | — | Optional inclusive lower bound on approval_date (YYYY-MM-DD). Rows without an approval date do not match when this filter is present. |
| approved_before | input | `string (date) \| null` | no | null | — | Optional inclusive upper bound on approval_date (YYYY-MM-DD). Rows without an approval date do not match when this filter is present. |
| limit | input | `integer` | no | 10 | min 1, max 50 | Approval events to return, newest first (1–50); default 10. |
| cursor | input | `string \| null` | no | null | — | Opaque pagination.next_cursor from the previous response; keep sponsor, drug, approved_after, and approved_before constant while paging. Omit for the newest events. |

## Provenance

- `openfda_drugsfda` — U.S. Food and Drug Administration, Drugs@FDA application, product, original-approval, and efficacy-supplement history for the pilot sponsor universe (Public domain, dedicated under CC0 1.0 Universal (cc0-1.0)). See https://www.agentdatasets.com/docs/attribution.md

Dataset registry: `fda_approvals`.
