GoodRx Drug Prices Scraper — No Login Required
Pricing
from $60.00 / 1,000 goodrx price pages
GoodRx Drug Prices Scraper — No Login Required
Extract GoodRx prescription price comparison data by drug and ZIP. No login or cookies needed. Supports pickup and mail-order prices, pharmacy filters, retries, diagnostics, and optional coupon fields.
Pricing
from $60.00 / 1,000 goodrx price pages
Rating
0.0
(0)
Developer
Crowd Pull
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
GoodRx Drug Prices Scraper
Compare GoodRx prescription prices across nearby pharmacies by drug, ZIP, form, dosage, quantity, radius, sort order, and pickup or mail-order mode. The actor extracts structured pharmacy offer rows for price monitoring, prescription price intelligence, and local pharmacy comparison workflows.
This actor uses a real browser because GoodRx renders the price list inside a protected Next.js page. It does not call private partner APIs, does not sign in, and does not submit any SMS, email, insurance, prescription-transfer, or order flows.
Features
- Search one or many drugs across one or many US ZIP codes.
- Compare pickup pharmacies, mail-order offers, or both.
- Extract coupon price, retail/list price, GoodRx Gold price when available, distance, address, and deep links.
- Filter emitted rows by pharmacy chain after extraction.
- Retry blocked or wrong-location pages with fresh browser and proxy sessions.
- Save run summaries, normalized search specs, failed targets, and drug monographs to key-value storage.
- Optionally open discovered printable coupon pages and extract public coupon fields.
Inputs
drugNames: Drug names such asatorvastatin,Lipitor, orAdderall XR.startUrls: Direct GoodRx drug URLs, such ashttps://www.goodrx.com/atorvastatin.zips: One or more US ZIP codes. The actor sets the GoodRx location cookie before loading each price page.form,dosage,quantity,radius,sortBy,deliveryType: GoodRx price-filter controls.pharmacyChains: Optional post-extraction chain filter.resolveAutocomplete: Optional GoodRx autocomplete resolution. It is off by default to reduce extra protected-page navigation.maxAttemptsPerTarget: Retries blocked or wrong-location pages with a fresh browser and proxy session.includeCoupons: When enabled, opens discovered printable coupon URLs only and extracts public BIN/PCN/Group/Member ID fields.proxyConfig: US residential proxy settings. GoodRx commonly gates datacenter or non-US traffic.
Example Input
{"drugNames": ["atorvastatin"],"zips": ["94110"],"quantity": 30,"radius": 10,"sortBy": "lowest_price","deliveryType": "pickup","maxOffersPerDrugZip": 10,"maxAttemptsPerTarget": 3,"proxyConfig": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"],"apifyProxyCountry": "US"}}
Multi-ZIP Example
{"drugNames": ["atorvastatin", "metformin"],"zips": ["94110", "10001", "60614"],"deliveryType": "both","maxOffersPerDrugZip": 5,"includeCoupons": false}
Output
Each pharmacy offer row includes:
- Drug input, resolved slug, canonical drug name, ZIP, delivery type
- Pharmacy chain, store name, address, distance
- GoodRx coupon price, retail/list price, savings percent, Gold price when surfaced
- Printable coupon URL and optional coupon fields
- GoodRx pharmacy deep link and raw audit text
Run metadata is saved to the default key-value store under SUMMARY, SEARCH_SPECS, FAILED_TARGETS, and DRUG_MONOGRAPHS.
Example Output
{"type": "pharmacy_offer","source": "goodrx","status": "ok","drugInput": "atorvastatin","canonicalDrugName": "atorvastatin","zip": "94110","deliveryType": "pickup","pharmacyChain": "Costco","storeName": "Costco Pharmacy","address": "450 10th St, San Francisco, CA 94103","distanceMiles": 0.8,"couponPriceUsd": 11.52,"couponPriceText": "$11.52","listPriceUsd": 39.99,"listPriceText": "$39.99","savingsPercent": 71,"couponUrl": "https://www.goodrx.com/...","pharmacyDeepLink": "https://www.goodrx.com/atorvastatin","quantity": 30,"radiusMiles": 10,"scrapedAt": "2026-06-01T06:49:58.000Z"}
Pricing
Primary charge: $70 per 1,000 GoodRx price pages. A price page is one drug, one ZIP code, and one delivery mode. Pharmacy offer rows are charged separately at $2.50 per 1,000 emitted rows. Optional printable coupon extraction is charged only when enabled.
Diagnostic rows for blocked pages, ambiguous names, no-offer pages, or navigation failures are not charged as successful price pages.
Limitations
- GoodRx may change prices, availability, filters, and rendered page payloads without notice.
- This actor depends on browser rendering and US residential proxy quality, so large jobs should keep concurrency low.
- It does not verify prescriptions, insurance eligibility, pharmacy inventory, checkout totals, or whether a coupon will be accepted at the counter.
- It does not sign in to GoodRx accounts or submit SMS, email, prescription-transfer, refill, or purchase flows.
Notes
The actor parses both visible price cards and GoodRx's rendered Next.js payload, then rejects Companion-only upsells and wrong-location pages. GoodRx prices can change and may vary by exact drug, form, dosage, quantity, ZIP, pharmacy, insurance status, and account state. Treat actor output as price-comparison data, not medical or pharmacy advice. Users should verify final price and medication details with the pharmacy.