FDA Response Events
get_fda_response_eventsAdverse FDA regulatory actions disclosed in 8-Ks: Complete Response Letters, full and partial clinical holds, and refuse-to-file letters, 2024+, each graded by an explicit severity precedence rule with the evidence flags the grade depends on served alongside it (new-trial-required, manufacturing-related, resubmission-path, hold-lifted). Follow-ups and resolutions are linked per (issuer, drug program), so an original hold row answers 'was it ever lifted, and how long did it take'.
By default only classified FDA events are returned (~196 rows); the ~1,520 audited not-an-event rows the full-text sweep also retrieved are available with include_rejects=true. The date window filters disclosed_date (the EDGAR filing date); event_letter_date is extracted with its own precision enum and days_letter_to_disclosure is the selective-disclosure measure -- on initial_disclosure rows only (on follow-ups it measures distance to the original letter). Selective disclosure is the headline caveat: a CRL disclosed only in a 10-Q, or never, is not here.
Requires an Alphanume Pro API key. A 403 PRO_SUBSCRIPTION_REQUIRED or DATE_RANGE_RESTRICTED error means the key's plan does not cover the request -- it does not mean the data is missing.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| cik | No | SEC CIK number (digits only). | |
| date | No | Exact date, YYYY-MM-DD. Cannot be combined with the date range parameters. | |
| ticker | No | Ticker symbol filter, e.g. 'AAPL'. Case-insensitive. | |
| date_gt | No | Start of date range, exclusive (YYYY-MM-DD). | |
| date_lt | No | End of date range, exclusive (YYYY-MM-DD). | |
| date_gte | No | Start of date range, inclusive (YYYY-MM-DD). | |
| date_lte | No | End of date range, inclusive (YYYY-MM-DD). | |
| max_rows | No | Maximum data rows to return to the client (applied after the API responds). Default 500. Use 0 for no cap. Prefer narrowing with date/ticker filters over raising this. | |
| resolved | No | true = events with a linked later resolution (hold lifted, approval, resubmission accepted); false = still open. NULL rows are themselves resolutions. | |
| severity | No | Comma-separated severity grades: program_terminated, major_delay_new_trial_required, manufacturing_only, addressable_deficiencies, safety_signal_no_path_stated, unstated, not_restated. Rank encodes grading precedence, NOT market impact. | |
| asset_key | No | Exact normalized program key -- groups all filings about one program and audits the served linkage columns. | |
| event_type | No | Comma-separated: crl, clinical_hold_full, clinical_hold_partial, refuse_to_file, other_fda_action. (not_a_setback_event requires include_rejects=true.) | |
| cursor_date | No | Pagination: 'date' from next_cursor (send with cursor_accession). | |
| drug_search | No | Case-insensitive substring on the drug/asset name (3+ chars). | |
| filing_role | No | What the document does about the event: initial_disclosure, follow_up_update, or resolution. Counting rows without this filter overstates events ~2.4x -- one program's hold can be 3+ filings. | |
| updated_since | No | YYYY-MM-DD, on last_updated -- rows touched by the linkage sweep since this date. | |
| include_rejects | No | true = include the ~1,520 audited 'not_a_setback_event' rows (boilerplate the recall-first sweep retrieved and the labeler rejected, each with its reason). Default = real FDA events only. | |
| cursor_accession | No | Pagination: 'accession_number' from next_cursor (send with cursor_date). |