Dollar General runs more stores than any other retailer in the United States: 20,893 as of 30 January 2026, across the Dollar General, DG Market, DGX and pOpshelf banners, with about 450 new US stores and about 10 in Mexico planned for fiscal 2026 on top of thousands of remodels (Dollar General, fiscal 2025 results, 12 March 2026). Most of them are small-town and rural, which makes the store list itself a dataset: researchers mapping grocery access, competitors watching the openings, suppliers tracking where their products sit. Behind the store choice on dollargeneral.com are store-level prices and availability, a weekly ad per store, digital coupons by region, and the placements that brands buy through DG Media Network, the company's retail-media arm.
The site does not show any of that to a server. On 24 August 2026 our datacenter request was answered with HTTP 403 and a page titled "Request Rejected", and every free proxy that connected was answered the same way.
Which proxy type
US residential proxies pinned to the state of the stores you read, driving a real browser, a store per session. Logins get a static ISP proxy each. Datacenter and free exits are rejected at the door, and the count of those rejections is below.
Dollar General as a target
Store pages: choose a store and the site shows prices and in-store availability for that store, with pickup where offered. The weekly ad, per store. Digital coupons, by region, clipped to an account in the app. The locator, at 20,893 stores and growing by more than one a day. And DG Media Network placements, sponsored positions on the site and app that brands pay for per campaign and region.
Behind the firewall and the Akamai edge sits a JavaScript application. Once inside, the store choice lives in the session and the store-specific pages load from Dollar General's own API calls.
Jobs a proxy is right for
- Store-level price and stock monitoring. Suppliers track their shelf price and in-stock status across rural stores where no other data exists; competitors benchmark; price-intelligence firms build the dataset.
- Weekly ad and coupon research by region. The ad and the coupons differ by region and change weekly; deal sites read them, brands verify their promotion ran.
- Locator diffing. With about 450 openings a year, the store list changes every day. Researchers studying grocery access in rural counties rely on it; competitors and site-selection analysts track it.
- Retail-media verification. A brand paying for a DG Media Network placement wants to see it at a real store in the region it bought, at the hours it bought.
- Banner comparison. DG Market and pOpshelf carry different assortments at different prices from the core banner, read per store.
Jobs a proxy is not for
Accounts and coupon stacking. myDG accounts attach to a phone number and email; creating many runs against Dollar General's terms.
The app's coupons. They attach to the account on a device, not to a network address.
The door: rejected, not challenged
dollargeneral.com answered our German datacenter server on 24 August 2026 with HTTP 403 and a page titled "Request Rejected", the wording an application firewall uses when a rule matches the request and the site declines to serve it, delivered through Akamai. Then twenty free proxies from our free proxy list, one attempt each: 14 never reached the server, 6 connected and were rejected the same way, none loaded the site.
A rejection is not a challenge. A challenge (the Cloudflare "Just a moment" page we met on GoPuff and DoorDash the same evening) is a JavaScript test a real browser passes; a rejection is a verdict on the address or the client, and there is nothing to solve. The rule evidently matches datacenter address space, and possibly non-US space; we did not test a US datacenter exit, so treat that as open. What a rejection wants is an address the rule is written not to match, which for a US retailer is a US residential address. How websites detect proxies covers the network-reputation side; scraping past Akamai covers the layer the response came through.
Type by job
| Dollar General job | Proxy type | Why |
|---|---|---|
| Store-level price and stock monitoring | Rotating US residential, state-pinned, sticky per store | Passes the firewall; prices are per store |
| Weekly ad and coupon research | Rotating US residential, region-pinned | The ad and coupons are per region |
| Locator diffing | US residential, slow pacing | Paged coordinate queries from one address is the metered pattern |
| Retail-media verification | Rotating US residential, region-pinned | See the placement as shoppers there see it |
| Banner comparison | Rotating US residential, sticky per store | Assortment and price are per banner and store |
| Any login | US ISP (static residential) | One fixed, trusted location per account |
| Anything | Datacenter or free | Rejected at the door, 0 of 20 |
For why the two address types are treated so differently, datacenter vs residential proxies.
Free proxies here
None of twenty, and structurally so: free proxies are datacenter addresses and the firewall rejects datacenter addresses. There is no manual-look case to describe. For the sweep, our US residential proxies start at $0.44/GB, pay as you go, no KYC, pinned to the state.
Setup
- US residential exit, state-pinned. This is the difference between a page and a rejection. A Texas store from a Texas exit; Texas alone holds close to two thousand stores.
- Real browser, cookies kept. Once inside, the store choice and the session cookies are the session's standing. Hand Playwright the proxy at launch the way the Playwright proxy guide shows.
- Sticky session per store, read the ad on its cycle. Choose the store, read the product pages or the ad you track, record store number and timestamp, rotate; read the ad once per cycle and diff. See sticky vs rotating proxy sessions for the two modes.
- Diff the locator daily in a small radius, monthly in full. Openings cluster; a daily check of the states in the current expansion plan catches most of them cheaply.
- Treat a rejection on a residential exit as a signal about that exit. Retire it, log it, and grow the pool if the rate rises. Everything else is in avoiding IP bans while scraping.
Sizing
Tracking 150 products across 300 stores in 10 states, weekly:
store sessions per sweep 300
product pages per session 150, paced 1 per 5-8 s
sessions per exit per day 3-4
exits in rotation ~30-40 US residential across the states
Locator diff:
daily, expansion states ~200 queries
monthly, full ~5,000 queries at a 15 km radius
Product and ad pages with images blocked are small, and residential meters bandwidth, so the sweep sets the bill; our pricing has no subscription and no expiring balance.
Where it ends
A US residential address is what turns a rejection into a page, and it is all the proxy contributes. Accounts, app coupons and Dollar General's terms, which prohibit scraping, stay exactly where they were. What remains is the legitimate job: a state-pinned residential exit with a real browser reading public prices, stock, ads, placements and locations the way shoppers in each town see them, one store per session, paced like a shopper, with the rejection rate logged.
The retailer with the closest store-count comparison and a PerimeterX door instead of a firewall is in proxies for Walmart; the grocery chain with an open door and a store list growing almost as fast is in proxies for ALDI.
Sources
- Dollar General Corporation, fourth quarter and fiscal 2025 results, 12 March 2026 (20,893 stores as of 30 January 2026; about 450 new US stores and about 10 in Mexico planned for fiscal 2026; DG Media Network): finance.yahoo.com
- HProxy measurement, 24 August 2026: one direct request from a datacenter server (HTTP 403, Request Rejected, via Akamai) and 20 elite HTTP proxies from our free proxy list (14 no connection, 6 rejected, 0 site).