<!-- Agent Datasets docs · FDA REST endpoints · canonical: https://www.agentdatasets.com/docs/rest/fda · rendered from https://www.agentdatasets.com -->

# FDA REST endpoints

Drug application, product, and approval history for pilot US-listed biotech and pharmaceutical sponsors from Drugs@FDA.

2 endpoints. Paths are relative to `https://api.agentdatasets.com`. Every endpoint mirrors an MCP tool over the same service layer — https://www.agentdatasets.com/docs/tools.md documents the same operations for MCP clients.

## GET /v1/fda/approvals

Get Approvals Route

Return full curated detail for one to ten FDA applications.

### Parameters

| Parameter | In | Type | Required | Default | Constraints | Description |
| --- | --- | --- | --- | --- | --- | --- |
| application_numbers | query | `array<string>` | yes | — | min items 1, max items 10 | Repeated exact Drugs@FDA application number (one to ten) |

### Example request

Required parameters only, with values taken from the schema.

```bash
curl --fail --silent --show-error \
  --header "X-API-KEY: adk_..." \
  "https://api.agentdatasets.com/v1/fda/approvals?application_numbers=APPLICATION_NUMBERS"
```

### Response

`200` Successful Response — `FdaApprovalsDetailResult`.

- `data` `FdaApprovalsDetailData` (required) — Application details in the caller's requested order.
  - `applications` `array<FdaApprovalDetail>` (required)
    - `application_number` `string` (required)
    - `sponsor` `FdaSponsor` (required) — Catalog identity joined to the sponsor name published by Drugs@FDA.
      - `company` `string` (required)
      - `ticker` `string` (required)
      - `key` `string` (required)
      - `sponsor_name` `string` (required)
    - `brand_names` `array<string>` (required)
    - `generic_names` `array<string>` (required)
    - `products` `array<FdaProduct>` (required)
      - `product_number` `string | null` (required)
      - `brand_name` `string | null` (required)
      - `active_ingredients` `array<FdaActiveIngredient>` (required)
      - `dosage_form` `string | null` (required)
      - `route` `string | null` (required)
      - `marketing_status` `string | null` (required)
    - `submissions` `array<FdaSubmissionDetail>` (required)
      - `submission_type` `string` (required)
      - `submission_number` `string` (required)
      - `submission_status` `string | null` (required)
      - `submission_status_date` `string (date) | null` (required)
      - `approval_date` `string (date) | null` (required)
      - `submission_class_code` `string | null` (required)
      - `submission_class_code_description` `string | null` (required)
      - `review_priority` `string | null` (required)
    - `source` `"openfda_drugsfda"`
    - `as_of` `string (date-time)` (required)
- `meta` `Meta` (required) — Result-level provenance. ``source`` is a stable connector identifier (e.g. ``sec_edgar_companyfacts``); ``as_of`` is the freshest value-level ``as_of`` on the returned page, or ``None`` when the page is empty. Event-grained sources carry an aware datetime; date-grained sources (e.g. an SEC filing's report period) carry a plain date.
  - `source` `string` (required)
  - `as_of` `string (date-time) | string (date) | null`
- `pagination` `Pagination | null`
  - `limit` `integer` (required)
  - `has_more` `boolean` (required)
  - `next_cursor` `string | null`

Fields are shown to 3 levels; the full schema is in https://www.agentdatasets.com/docs/machine/openapi.json

## GET /v1/fda/approvals/search

Search Approvals Route

Return bounded, cursor-paged Drugs@FDA approval events.

### Parameters

| Parameter | In | Type | Required | Default | Constraints | Description |
| --- | --- | --- | --- | --- | --- | --- |
| sponsor | query | `string \| null` | no | — | — | Pilot sponsor ticker, catalog key, or exact company name |
| drug | query | `string \| null` | no | — | — | Case-insensitive brand or generic drug-name substring |
| approved_after | query | `string (date) \| null` | no | — | — | Inclusive lower approval-date bound (YYYY-MM-DD) |
| approved_before | query | `string (date) \| null` | no | — | — | Inclusive upper approval-date bound (YYYY-MM-DD) |
| limit | query | `integer` | no | 10 | min 1, max 50 | Approval events, newest first |
| cursor | query | `string \| null` | no | — | — | Opaque pagination.next_cursor from the previous response |

### Example request

Required parameters only, with values taken from the schema.

```bash
curl --fail --silent --show-error \
  --header "X-API-KEY: adk_..." \
  "https://api.agentdatasets.com/v1/fda/approvals/search"
```

### Response

`200` Successful Response — `FdaApprovalSearchResult`.

- `data` `FdaApprovalSearchData` (required) — Echoed approval filters and the bounded newest-first matches.
  - `sponsor` `string | null` (required)
  - `drug` `string | null` (required)
  - `approved_after` `string (date) | null` (required)
  - `approved_before` `string (date) | null` (required)
  - `matches` `array<FdaApprovalMatch>` (required)
    - `application_number` `string` (required)
    - `sponsor` `FdaSponsor` (required) — Catalog identity joined to the sponsor name published by Drugs@FDA.
      - `company` `string` (required)
      - `ticker` `string` (required)
      - `key` `string` (required)
      - `sponsor_name` `string` (required)
    - `brand_names` `array<string>` (required)
    - `generic_names` `array<string>` (required)
    - `submission_type` `string` (required)
    - `submission_number` `string` (required)
    - `submission_class_code` `string | null` (required)
    - `submission_class_code_description` `string | null` (required)
    - `submission_status` `string | null` (required)
    - `submission_status_date` `string (date) | null` (required)
    - `approval_date` `string (date) | null` (required)
    - `review_priority` `string | null` (required)
    - `source` `"openfda_drugsfda"`
    - `as_of` `string (date-time)` (required)
- `meta` `Meta` (required) — Result-level provenance. ``source`` is a stable connector identifier (e.g. ``sec_edgar_companyfacts``); ``as_of`` is the freshest value-level ``as_of`` on the returned page, or ``None`` when the page is empty. Event-grained sources carry an aware datetime; date-grained sources (e.g. an SEC filing's report period) carry a plain date.
  - `source` `string` (required)
  - `as_of` `string (date-time) | string (date) | null`
- `pagination` `Pagination | null`
  - `limit` `integer` (required)
  - `has_more` `boolean` (required)
  - `next_cursor` `string | null`

Fields are shown to 3 levels; the full schema is in https://www.agentdatasets.com/docs/machine/openapi.json
