Documentation

OpenFDA CLI

openfda-pp-cli

Install

npx -y @mvanhorn/printing-press-library install openfda

Installs the CLI binary and the agent skill for Claude Code, Codex, Cursor, Gemini CLI, Copilot, and more. Add --cli-only or --skill-only for one half. Requires Node.

Documentation

The FDA safety data terminal. Every drug adverse event, device recall, food contamination, and product label the FDA publishes — synced locally, searchable offline, with trend analysis no other tool offers.

Created by @H179922 (H179922).

Quick Start

1. Install

See Install above.

2. Set Up Credentials

Get your API key from your API provider's developer portal. The key typically looks like a long alphanumeric string.

export FDA_API_KEY="<paste-your-key>"

You can also persist this in your config file at ~/.config/openfda-pp-cli/config.json.

3. Verify Setup

openfda-pp-cli doctor

This checks your configuration and credentials.

4. Try Your First Command

openfda-pp-cli animal-events

Usage

Run openfda-pp-cli --help for the full command reference and flag list.

Commands

animal-events

Animal drug and device adverse event reports.

  • openfda-pp-cli animal-events list - Search animal adverse event reports

device-510k

Premarket notification submissions demonstrating substantial equivalence.

  • openfda-pp-cli device-510k list - Search 510(k) clearance records

device-classification

Medical device product codes, specialty areas, and regulatory class.

  • openfda-pp-cli device-classification list - Search device classifications

device-covid19

COVID-19 serological testing evaluation data.

  • openfda-pp-cli device-covid19 list - Search COVID-19 serology test evaluations

device-events

Medical device adverse event reports (MAUDE/MDR) — injuries, deaths, malfunctions.

  • openfda-pp-cli device-events count - Count device events by field
  • openfda-pp-cli device-events list - Search device adverse event reports

device-pma

Class III medical device premarket approval decisions.

  • openfda-pp-cli device-pma list - Search premarket approval records

device-recall-detail

Detailed device recall actions addressing defects or health risks.

  • openfda-pp-cli device-recall-detail list - Search device recall action details

device-recalls

Medical device recall enforcement reports.

  • openfda-pp-cli device-recalls list - Search device recall enforcement reports

device-registration

Medical device manufacturing establishment registrations and product listings.

  • openfda-pp-cli device-registration list - Search device registrations and listings

device-udi

Global Unique Device Identification Database (GUDID).

  • openfda-pp-cli device-udi list - Search unique device identifiers

drug-approvals

FDA-approved drug products since 1939 — applications, submissions, and marketing status.

  • openfda-pp-cli drug-approvals list - Search approved drug products

drug-events

Reports of drug side effects, medication errors, product quality problems (FAERS). 4.9M+ reports since 2003.

  • openfda-pp-cli drug-events count - Count adverse events by field
  • openfda-pp-cli drug-events list - Search drug adverse event reports

drug-labels

Structured product information including prescribing info, black box warnings, indications.

  • openfda-pp-cli drug-labels list - Search drug product labels

drug-ndc

National Drug Code directory — product identifiers, packaging, and classification.

  • openfda-pp-cli drug-ndc list - Search NDC directory

drug-recalls

Drug product recall enforcement reports.

  • openfda-pp-cli drug-recalls count - Count drug recalls by field
  • openfda-pp-cli drug-recalls list - Search drug recall enforcement reports

drug-shortages

Current and historical drug shortages from manufacturing issues, delays, and discontinuations.

  • openfda-pp-cli drug-shortages list - Search drug shortages

food-events

CAERS reports — food, dietary supplement, and cosmetic adverse events.

  • openfda-pp-cli food-events list - Search food/supplement adverse event reports

food-recalls

Food product recall enforcement reports.

  • openfda-pp-cli food-recalls count - Count food recalls by field
  • openfda-pp-cli food-recalls list - Search food recall enforcement reports

nsde

Non-Standardized Drug Entities — drug names that don't map to standard terminology.

  • openfda-pp-cli nsde list - Search non-standardized drug entities

substance

Substance data from the FDA substance registration system.

  • openfda-pp-cli substance list - Search substance records

tobacco-problems

Tobacco product problem reports.

  • openfda-pp-cli tobacco-problems list - Search tobacco problem reports

Output Formats

# Human-readable table (default in terminal, JSON when piped)
openfda-pp-cli animal-events

# JSON for scripting and agents
openfda-pp-cli animal-events --json

# Filter to specific fields
openfda-pp-cli animal-events --json --select id,name,status

# Dry run — show the request without sending
openfda-pp-cli animal-events --dry-run

# Agent mode — JSON + compact + no prompts in one flag
openfda-pp-cli animal-events --agent

Agent Usage

This CLI is designed for AI agent consumption:

  • Non-interactive - never prompts, every input is a flag
  • Pipeable - --json output to stdout, errors to stderr
  • Filterable - --select id,name returns only fields you need
  • Previewable - --dry-run shows the request without sending
  • Read-only by default - this CLI does not create, update, delete, publish, send, or mutate remote resources
  • Offline-friendly - sync/search commands can use the local SQLite store when available
  • Agent-safe by default - no colors or formatting unless --human-friendly is set

Exit codes: 0 success, 2 usage error, 3 not found, 4 auth error, 5 API error, 7 rate limited, 10 config error.

Health Check

openfda-pp-cli doctor

Verifies configuration, credentials, and connectivity to the API.

Configuration

Config file: ~/.config/openfda-pp-cli/config.json

Static request headers can be configured under headers; per-command header overrides take precedence.

Environment variables:

NameKindRequiredDescription
FDA_API_KEYper_callYesSet to your API credential.

Troubleshooting

Authentication errors (exit code 4)

  • Run openfda-pp-cli doctor to check credentials
  • Verify the environment variable is set: echo $FDA_API_KEY Not found errors (exit code 3)
  • Check the resource ID is correct
  • Run the list command to see available items

Generated by CLI Printing Press

For agents: pass /documentation/openfda/agents.md to install this CLI from a prompt.