Medication price and pharmacy-offer comparison
Use GoodRx endpoints to turn medication price and pharmacy-offer comparison into repeatable API requests with documented inputs and JSON responses.
Turn GoodRx's public medication, price-comparison, and editorial directories into structured JSON — prescription configurations and pharmacy offers, drug classes and conditions, people and pet medication information, comparisons, guides, health questions, and GoodRx Health articles. GoodRx is a discount service, not insurance.
Compare GoodRx medication prices, prescription options, drug and condition directories, guides, answers, and Health articles as structured JSON.
Endpoint families
6
Documented params
48
Examples
20
Live catalog snapshot
Active endpoints
20
Methods
GET
Required params
33
Schema refs
20
{
"platform": "GoodRx",
"endpoint": "goodrx-drug-prices",
"method": "GET",
"path": "/goodrx/drug-prices",
"auth": "apiKey"
}Use cases
Compare GoodRx medication prices, prescription options, drug and condition directories, guides, answers, and Health articles as structured JSON.
Use GoodRx endpoints to turn medication price and pharmacy-offer comparison into repeatable API requests with documented inputs and JSON responses.
Use GoodRx endpoints to turn drug, class, and condition directory research into repeatable API requests with documented inputs and JSON responses.
Use GoodRx endpoints to turn health article and medication-guide monitoring into repeatable API requests with documented inputs and JSON responses.
Managed execution
Every figure below is read from the live GoodRx endpoint catalog — 20 endpoints, 48 documented request parameters, and 20 published response schemas — the same catalog Docs and Playground run against.
20 documented GoodRx endpoints, grouped into 20 request families — Answer, Answers and Brands, plus 17 more.
48 request parameters are documented across those GoodRx endpoints, 33 of them required — the full input contract is public before you write any integration code.
20 of the 20 GoodRx endpoints ship a recorded example response, and 20 carry a documented response schema — you can code against the real JSON before the first request.
GoodRx endpoints document their error responses (400, 404, 429 and 503) alongside the success schema, so a block, a rate limit, or a missing record comes back as a typed error rather than silently empty data.
20 hosted MCP tools back the GoodRx endpoints, so an agent can call the same routes with the same parameters and the same JSON contract, with no custom glue.
Coverage map
/goodrx/answer
/goodrx/answers
/goodrx/brands
/goodrx/class
/goodrx/classes
/goodrx/comparison
Featured endpoints
/goodrx/drug-pricesReturns GoodRx coupon, membership, and mail-order prices by pharmacy for one drug and prescription (brand/generic label, form, dosage, quantity), plus the drug summary, the priced configuration, the location prices were computed for, and every available label/form/dosage/quantity. Omit label/form/dosage/quantity for GoodRx's default prescription; values must come from /goodrx/drug-options. Pass latitude and longitude (optionally zip_code and state) to price at a US location; otherwise prices reflect a US location chosen by GoodRx. Requests use US egress because GoodRx is US-only.
Sampled 14 Oct 2026: 15 items, 6 fields filled in every item, 4 not. pharmacy_type: PharmacyChain (13), PharmacyOnlineStore (2); price: 0 to 26.66, median 9.
MCP tool goodrx_drug_prices
/goodrx/drug-optionsReturns every brand and generic label, dosage form, strength, and quantity GoodRx prices for one drug, with GoodRx's default prescription. Use these values for /goodrx/drug-prices.
Sampled 14 Oct 2026: 2 items, 4 fields filled in every item. name: “Lipitor” and 1 other value; forms: median 1 entry.
MCP tool goodrx_drug_options
/goodrx/drugsLists the drugs GoodRx files under one letter of its A-Z directory, chosen with the required `letter` (`a` to `z`). Each drug has its name, price-page `slug`, GoodRx URL and drug-information URL. If GoodRx is unreachable, a retained copy up to about a day old is returned and flagged with an `X-Availability-Mode: stale` header.
Sampled 14 Oct 2026: 611 items, 0 fields filled in every item, 4 not. name: “A-Hydrocort” and 436 other values; url: goodrx.com.
MCP tool goodrx_drugs
/goodrx/drug-infoReturns a drug's GoodRx information page as titled sections (uses, side effects, pros and cons, pharmacist tips, risks and warnings, dosage, interactions, contraindications, alternatives, pill images, references, and common questions), plus authors, publish and review dates, FAQs, and comparison links to alternatives. With audience=pets it returns the drug's cat and dog page (veterinary uses, side effects, and dosing) for drugs listed by /goodrx/pet-medications; other drugs return 404. Requests use US egress because GoodRx is US-only.
Sampled 14 Oct 2026: 30 items, 3 fields filled in every item. name: “Lovastatin vs Atorvastatin” and 29 other values; url: goodrx.com.
MCP tool goodrx_drug_info
/goodrx/classesLists the drug classes in GoodRx's class directory, such as ACE Inhibitors, with each class name, GoodRx URL and the `slug` used to look up that class. If GoodRx is unreachable, a retained copy up to about a day old is returned and flagged with an `X-Availability-Mode: stale` header.
Sampled 14 Oct 2026: 658 items, 0 fields filled in every item, 3 not. name: “A2A Receptor Antagonists” and 499 other values; url: goodrx.com.
MCP tool goodrx_classes
/goodrx/classReturns the drugs GoodRx lists for one drug class, with each drug's lowest displayed price and summary. Use a slug from /goodrx/classes.
Sampled 14 Oct 2026: 13 items, 5 fields filled in every item. lowest_price: 15 to 1,187, median 306; name: “Lipitor (atorvastatin)” and 12 other values.
MCP tool goodrx_class
Related APIs
Business & Market Intelligence
Turn public GitHub ecosystem signals into structured data for developer-market research, open-source intelligence, recruiting, and AI-agent workflows.
Business & Market Intelligence
Collect public TrustMRR startup marketplace and leaderboard data as normalized JSON for startup research, SaaS discovery, and market intelligence workflows.
Business & Market Intelligence
Add website and competitive intelligence signals from SimilarWeb to research pipelines.
How to scrape GoodRx
Crawlora's 20 GoodRx endpoints separate discovery from detail so a workflow can preserve GoodRx's returned slugs and prescription configuration. On 2026-10-04, the live pet-medications directory listed 21 slugs, while /goodrx/drug-options for atorvastatin returned brand Lipitor and generic Atorvastatin families with their available forms, dosages, quantities, and defaults. A location-specific 20mg, 30-tablet atorvastatin request returned 15 offers across coupon, paid-membership upsell, and home-delivery pricing types. These are time- and location-sensitive public comparisons, not prescribing advice or guaranteed nationwide prices.
Use /goodrx/drugs, /goodrx/classes, /goodrx/class, /goodrx/conditions, /goodrx/condition-drugs, or /goodrx/pet-medications to obtain a returned slug. Then call /goodrx/drug-options for the valid brand or generic label, form, dosage, quantity, and default configuration instead of inventing combinations.
Pass the returned option values to /goodrx/drug-prices. Latitude and longitude must be supplied together when overriding location; zip_code and state are optional only alongside those coordinates. Store the response's location, prescription summary, pricing type, and retrieval time because pharmacy offers can change.
Use /goodrx/drug-info for public drug fields, alternatives, FAQs, and its people or pets audience. Traverse /goodrx/comparisons and /goodrx/comparison for returned comparison slugs, and use /goodrx/drug-guides plus /goodrx/drug-guide for side-effects, dosage, or interaction guide pages.
Start with /goodrx/health-topics, page through /goodrx/health-articles with a documented section and returned topic, then pass a returned path to /goodrx/health-article. Preserve authors, medical reviewers where supplied, publication and modification dates, FAQs, and references as source metadata.
Agent skills
Install a Crawlora agent skill and your agent can pull GoodRx data as JSON through the documented API, without writing a scraper. These skills cover GoodRx:
Retrieve source-attributed GoodRx medication and health information with author and review dates. Treat it as secondary material; safety-critical…
npx skills add github.com/Crawlora-org/crawlora-skills --skill medication-information-researchCompare public GoodRx pharmacy price snapshots using Crawlora drug and option discovery. Use to compare posted prices for a specified medication…
npx skills add github.com/Crawlora-org/crawlora-skills --skill prescription-price-researchFAQ
No. GoodRx describes itself as a discount service rather than insurance. Its public workflow compares a selected medication configuration across participating pharmacies and presents a coupon; do not describe the returned offer as insurance coverage.
Use /goodrx/drug-options first for the menu-validated brand or generic labels, forms, and dosages, plus GoodRx's standard quantity choices and defaults. Quantity itself accepts an integer from 1 through 999999; a priced configuration mismatch returns an error rather than a substituted prescription.
The price response includes the location actually used. To override it, latitude and longitude are required together; zip_code and state may accompany those coordinates. Keep the location and retrieval time with every comparison instead of treating one response as a fixed nationwide price.
No. The API returns public offer metadata and pricing types for research and comparison. It does not activate a purchase, verify pharmacy acceptance, or turn time-sensitive offer data into a universal guarantee.
The article response preserves authors, medical reviewers when supplied, publication and modification dates, body sections, FAQs, and references. GoodRx states that clinical and veterinary content follows review processes, while savings, insurance, and personal-finance content is not medically reviewed.