v1 · public beta

The OTC product data layer for consumer health apps.

Salvio returns structured, source-verified product data for over-the-counter medications on the US market — active ingredients, dosage forms, label text, and equivalent products (same active ingredients). One API. Informational product data, built for production.

Get API key Read the docs
Products indexed
GET /api/v1/stats
Data source
FDA product labeling
Auth
Bearer sk_live_…
curl# Look up a product by NDC or UPC $ curl https://api.salvio.health/v1/products/0573-0164 \   -H "Authorization: Bearer sk_live_…" {   "product_id": "b1e3…",   "product_ndc": "0573-0164",   "brand_name": "Advil Liqui-Gels",   "generic_name": "ibuprofen",   "dosage_form": "capsule, liquid filled",   "active_ingredients": [     {       "name": "ibuprofen",       "strength": "200 mg",       "rxcui": "5640"     }   ],   "equivalents_count": 14 }
Built for
Consumer health appsPharmacy toolsAI agentsRetail catalogsResearch
§ · try it live

Explore the data — no key required.

Search an active ingredient to see every product that contains it, filter by dose or allergen, and pivot to equivalent products. This is a capped preview — 5 results; the full explorer is available to signed-in users.

ibuprofenbismuth subsalicylateacetaminophenloratadine

DemoResults are limited to 5 — the full explorer (all matches) is for signed-in users.

Informational product data only, from FDA labeling. “Equivalent” = same active ingredients, strength, and dosage form — not a clinical substitution recommendation. Allergen coverage is partial: only ~55% of products have inactive-ingredient data on file. Products without it show “inactive ingredients not on file” and are never reported as “free of” anything.

§ 01 · what salvio returns

Source-verified data, on every endpoint.

Every record traces back to FDA product labeling. No scraping. No hallucinated matches — equivalence groups are built from normalized active ingredients, dosage form, and route, each with a confidence level.

Verified sources

Records are reconciled from FDA product labeling and the NDC Directory, with RxNorm (RxCUI) codes mapped onto active ingredients for cross-referencing.

One REST API

A clean JSON API under /api/v1 with Bearer-token auth. Search, look up by NDC or UPC, resolve barcodes, and analyze ingredient lists.

Equivalent products

Map a brand-name product to other products with the same active ingredients, strength, and dosage form — each match carries a confidence score. Informational only.

Ingredient analysis

Post a list of ingredients to /ingredients/analyze and get back parsed active ingredients, purposes, and matched products — with informational safety notes.

Barcode resolution

Resolve a retail barcode to a product with /scan/{barcode}. UPC and GTIN lookups return the matched product and its active ingredients.

Structured label text

Drug Facts content — indications, warnings, do-not-use, ask-a-doctor, directions, and interactions — returned as typed fields, not OCR'd blobs.

§ 02 · what's in the catalog

Coverage across the OTC aisle.

Live counts are served from /api/v1/stats and /api/v1/categories — so you never hard-code a number that drifts out of date.

/stats
OTC products
Live product and ingredient totals across pain, allergy, cough & cold, GI, skin, sleep, and first aid.
/categories
Browse by aisle
Product categories with counts, for building navigation and filters over the catalog.
/equivalence-groups
Same-ingredient sets
Groups of products that share active ingredients, strength, and dosage form, each with a confidence level.
/health
Service health
A public health check returning service status and the current indexed product count.
§ 03 · structured response

Brand-to-generic equivalence, scored and ready to render.

Call /products/{id}/equivalents and Salvio returns the reference product, its equivalence group, and every product sharing the same active ingredients — normalized for direct comparison and tagged with a confidence score. This is product data for comparison, not medical advice.

RxNorm (RxCUI) codes mapped onto active ingredients on every product
Each equivalent carries a confidence score and a plain match reason
Filter by labeler type — name brand, store brand, or generic
Paginated, so large equivalence groups stay fast
json · 200 ok{   "reference_product": {     "brand_name": "Advil Liqui-Gels",     "generic_name": "ibuprofen"   },   "equivalence_group": {     "dosage_form": "capsule, liquid filled",     "confidence_level": "exact"   },   "total_equivalents": 14,   "equivalents": [     {       "brand_name": "ibuprofen",       "labeler_type": "store_brand",       "confidence_score": 0.98,       "match_reason": "same active ingredient + form"     }   ] }
§ 04 · for ai agents

Built to be agent- and LLM-friendly.

Salvio publishes machine-readable discovery surfaces so autonomous agents and LLM tools can find and call the API without hand-holding. Point your agent at any of these:

/openapi.json

The full OpenAPI specification for every endpoint — request shapes, parameters, and response schemas. Drop it into any OpenAPI-aware client or codegen tool.

View the spec →

/llms.txt

A plain-text map of the API written for language models — what Salvio is, what each endpoint does, and how to authenticate, in the emerging llms.txt convention.

Read llms.txt →

/api/mcp

A Model Context Protocol (MCP) server that exposes Salvio's tools — search, lookup, equivalents, ingredient analysis, and barcode scan — directly to compatible AI assistants.

Connect via MCP →

§ 05 · pricing

Simple flat plans, with a free tier that's actually useful.

No credit card to start. Every plan includes all endpoints, the discovery surfaces, and the MCP server — you just pick a volume.

Hobby
$0 /month

For prototypes and side projects.

  • 10,000 requests / month
  • Up to 5 API keys
  • Community support
Start free
Starter
$49 /month

For side projects and early apps.

  • 100,000 requests / month
  • 100 API keys
  • Email support
Get started
Enterprise
Custom

For retailers, platforms, and research.

  • Custom volume & rate limits
  • Dedicated support
  • Data export on request
Contact sales

Billing is handled by Lemon Squeezy, our merchant of record. Prices in USD.