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
3
Total users
1
Monthly active users
20 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.