Use case

Proxies for GoodRx: The Same Pill, a Different Price by ZIP

Proxies for GoodRx: it blocked our plain client at the edge, and its whole value is that the same drug varies $10 to $30 between pharmacies in one ZIP. Which proxy type fits per-ZIP, per-pharmacy drug price monitoring, with honest limits.

HProxy Team··5 min read
HProxy.Use case

Free proxies won't hold up here.

Shared datacenter IPs get flagged and dropped fast. When it has to hold, gaming, streaming, accounts, you need mobile and residential IPs that read as a real device, from $0.44/GB, pay as you go.

See plans & pricing

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.

The GoodRx price is a per-ZIP spread
  1. One drug, one ZIP

    the query

  2. PBM cash rates

    negotiated per chain

  3. Per-pharmacy prices

    $10 to $30 apart in one ZIP

  4. The spread

    the signal, read locally

Source: HealthRX on GoodRx per-pharmacy, per-ZIP price variance

Which proxy type fits which job

GoodRx jobProxy typeWhy
Per-ZIP drug-price spreadUS residential, one pool per regionThe spread varies by ZIP; the gate is geographic
Pharmacy-by-pharmacy captureResidential in the ZIP, behind a browserEach pharmacy prices differently in one ZIP
Cross-region price comparisonResidential, several region poolsPrices differ across regions too
Account and saved-coupon readsStatic ISPA logged-in session needs one address
Loading a page for parser testsUS 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.

Frequently asked questions

What proxies work best for GoodRx?
US residential proxies pinned to the ZIP or region you want to read, behind a real browser, because GoodRx prices are per pharmacy and per ZIP and it blocks automated and non-US traffic at the edge. In our test it redirected our plain client to a blocked error page from both a home and a datacenter IP. The value is regional drug-price variance, so ZIP-accurate residential exits are the core requirement.
Why did GoodRx block my request?
Because it screens at the edge: in our test the request was redirected to a blocked error page from both IPs, which is GoodRx refusing traffic that reads as automated or outside its US service area. GoodRx serves a US audience and its data is location-specific, so a clean US residential exit in a real ZIP, behind a real browser, is what it will serve.
Why do GoodRx prices vary so much?
Because GoodRx aggregates the cash-discount rates that pharmacies and pharmacy benefit managers negotiate, and those rates differ by chain and by ZIP. The same drug can differ by $10 to $30 between two pharmacies in the same ZIP code, and more across regions. That per-pharmacy, per-ZIP spread is exactly what a price-monitoring project reads GoodRx for, and it is invisible unless you read each ZIP from inside it.
How many proxies do I need for GoodRx?
Size by ZIP and drug, then by rate. The value is the price spread across pharmacies and ZIPs, so run a residential pool per region you cover and read each ZIP from inside it. Within a region, find how fast one IP reads behind a browser before it is blocked or throttled, and add exits. The row count is drug times pharmacy times ZIP, which is large.
Do free proxies work for GoodRx?
Rarely. Free proxies are shared datacenter addresses with unpredictable locations, and GoodRx blocks automated and non-US traffic at the edge, so a free proxy usually lands on the blocked page or the wrong ZIP. ZIP-accurate residential, behind a real browser, is what per-pharmacy drug-price data requires.

Proxies that don't die mid-job

Residential, ISP, datacenter and mobile, verified by the same engine that runs tens of millions of checks. They read as a real device and hold up under load. Pay as you go, and your balance never expires. $0.44/GB is the 2,000 GB+ rate; a single gigabyte is $0.50/GB, with no minimum order.

129M+ proxy checks run · 100+ countries · HTTP / HTTPS / SOCKS · re-checked every few minutes · no signup