Proxies for GoodRx are about one thing, and it is the most location-specific price data in retail. On 24 August 2026 we sent goodrx.com a plain request from a home connection and from a datacenter server, and both were redirected to a blocked error page (blocked.goodrx.com) served from the edge. GoodRx screened our traffic and refused it, which is what a US-focused, location-specific price service does to anything that reads as automated or out of area. Getting in is only half the job; the other half is that GoodRx exists to show a price that changes pharmacy by pharmacy and ZIP by ZIP.
GoodRx is not a store. It aggregates the cash-discount rates that pharmacies and pharmacy benefit managers negotiate, and displays the lowest for each pharmacy in your ZIP, so the same drug can differ by $10 to $30 between two pharmacies in one ZIP code (HealthRX, GoodRx pricing analysis). That per-pharmacy, per-ZIP spread is the whole reason to read it, and it is invisible unless you read each ZIP from inside it.
What proxies work best for GoodRx?
US residential proxies pinned to the ZIP or region you read, behind a real browser, because prices are per pharmacy and per ZIP and GoodRx blocks automated and non-US traffic at the edge. A static ISP proxy for a logged-in account. Region accuracy is the requirement.
The gate is location and automation, and so is the data
GoodRx's edge block is the first hurdle: our plain client was redirected to a blocked page from both IPs, which is GoodRx refusing traffic that looks automated or outside its US service area. So the first requirement is a clean US residential exit in a real ZIP, behind a real browser that looks like an ordinary visitor rather than a bare client (geo-testing with proxies confirms the exit location). This is a geographic and behavioral gate more than a classic bot wall, which shifts the proxy priority to location precision plus a genuine browser.
The data follows the same geography. Because GoodRx surfaces per-pharmacy prices scoped to a ZIP, the useful dataset is drug-pharmacy-ZIP rows, and the spread within a single ZIP is the headline signal: a project measuring where a given prescription is cheapest has to read every pharmacy in that ZIP, from an exit that reads as local. Compared with a chain's own pharmacy page (proxies for Walgreens), GoodRx is the aggregated cross-pharmacy view, which is why the ZIP is the unit of work.
One drug, one ZIP
the query
PBM cash rates
negotiated per chain
Per-pharmacy prices
$10 to $30 apart in one ZIP
The spread
the signal, read locally
Which proxy type fits which job
| GoodRx job | Proxy type | Why |
|---|---|---|
| Per-ZIP drug-price spread | US residential, one pool per region | The spread varies by ZIP; the gate is geographic |
| Pharmacy-by-pharmacy capture | Residential in the ZIP, behind a browser | Each pharmacy prices differently in one ZIP |
| Cross-region price comparison | Residential, several region pools | Prices differ across regions too |
| Account and saved-coupon reads | Static ISP | A logged-in session needs one address |
| Loading a page for parser tests | US residential (non-US and bare clients are blocked) | The edge gate needs a real US exit and a browser |
Rotating residential IPs in the right ZIP pass the geographic gate and read the local spread, and ISP proxies hold one address for an account. The two are compared in rotating vs static residential proxies.
Setup
Exit from a US residential IP in a real ZIP, behind a real browser, and confirm the location before trusting a price (proxies for Playwright). Read every pharmacy in the ZIP for a given drug, record the drug, pharmacy and ZIP with each price, and pace like an ordinary visitor rather than sweeping the whole country from one address. Keep the reads to public discount prices, and treat anything account-linked or health-specific as out of scope.
Sizing
ZIP and drug are the multipliers: one residential pool per region, reading each ZIP inside it. The row count is drug times pharmacy times ZIP, which is large, so find how fast one IP reads behind a browser before GoodRx blocks or throttles it, and add exits. Budget browser-level bandwidth (headless browser proxy bandwidth cost). Our pricing is pay-as-you-go with a balance that does not expire, which suits reading many ZIPs in bursts.
Free versus paid for GoodRx
Free proxies rarely help, because the edge gate needs a real US ZIP and a browser, and free addresses land unpredictably. Our free proxy list and proxy checker can confirm where an exit lands, the useful check. The per-pharmacy spread needs ZIP-pinned residential from $0.44/GB pay-as-you-go with no KYC. The line is in datacenter vs residential proxies.
Staying unblocked
- Pin a real US ZIP. A non-US or unclear location is blocked at the edge, and its prices would be meaningless anyway.
- Use a real browser. The edge gate refuses bare clients; a genuine browser reads as an ordinary visitor.
- Read every pharmacy in the ZIP. The spread within one ZIP is the headline, so a partial read misses it.
- Record drug, pharmacy and ZIP. A price without all three has no meaning.
- Pace like a visitor. Sweeping many ZIPs fast from one address is what draws the block. The general list is in avoiding IP bans while scraping.
What a proxy does not do here
A proxy puts you in the right US ZIP with a clean address and keeps accounts apart. It does not change the negotiated prices, which are the PBMs', and it does not make GoodRx a store, it is an aggregator, so the number you read is a discount rate, not a checkout. Scraping goodrx.com runs against its terms of use, and prescription and health data carry their own sensitivity, so keep to public discount pricing; that risk stays with you regardless of the IPs. What a ZIP-pinned residential exit does is read the local per-pharmacy spread a blocked or mislocated client cannot, which is the one signal GoodRx uniquely holds. Confirm the ZIPs with the free proxy list, then measure the spread with residential from $0.44/GB, one pool per region.
Sources
- HealthRX, GoodRx pricing analysis: the per-pharmacy, per-ZIP variance of $10 to $30 in one ZIP, and the PBM cash-rate model.
- GoodRx, how GoodRx works: the aggregation of negotiated pharmacy discount prices.
- HProxy test on 24 August 2026: plain GET requests to goodrx.com from a residential connection and a datacenter server, both redirected to a blocked error page (blocked.goodrx.com) at the edge.