The Pharmacy of the Commons

Open pharmacotherapy data drawn from FDA and CDC public records, structured, versioned, and released back to the public as free and permanent infrastructure.

scroll
01

About

Clinical pharmacotherapy data — adverse event reports, NDC directory listings, product labeling — already belongs to the public. It is collected under public authority and published by the FDA and CDC. Pharmacy Commons does not create new data; it removes the friction between publication and use, turning scattered regulatory filings into a single queryable database anyone can build on.

The project is maintained as open infrastructure rather than a product. The codebase is released under the GNU GPL, and the underlying data sets carry a Creative Commons license, so the information stays free to use, fork, and redistribute for as long as the project exists.

  • Public data, public trust Regulatory data stays attributable to its source and free of paywalls, at every stage of the pipeline.
  • Reproducible by design Every extraction script and schema decision is versioned and readable, not a black box.
  • Built for clinicians and developers alike The same tables that power a research query power a search bar — no separate "public" tier.
02

Infrastructure

The stack is intentionally small: a relational database, a set of extraction scripts, and a thin frontend. Nothing here is proprietary, and nothing requires a login to inspect.

Data layer

PostgreSQL on Supabase

A relational schema for drugs, adverse events, NDC codes, and labeling, with pgvector enabled for future semantic search over label text.

Ingestion

openFDA extraction scripts

Python scripts query the openFDA drug endpoints and load adverse event, NDC, and labeling records directly into the schema.

Access

Auto-generated REST API

Supabase exposes the schema as a REST API automatically, so the frontend and any third-party tool query the same live data.

Initial validation is scoped to two clinical domains — GLP-1 receptor agonists and psychotropic safety profiles — chosen to stress-test the schema's table relationships before ingestion expands to the full pharmacopeia.

Database provisioned Schema design in progress openFDA ingestion — not started Frontend search — not started
03

Contact

Questions, data corrections, or contributions welcome.

Reach the maintainers directly — this inbox is read by the people building the schema and scripts, not a support queue.

contact@pharmacycommons.org