To get Dollar General product data programmatically, use Scavio's Dollar General API. Find a store with POST /api/v1/dollargeneral/stores and a ZIP code, then /search returns that store's price, original price and units on hand for every result; pass a UPC back to /stores and one call returns the product's unit count at up to 25 nearby stores. /deals lists sale and clearance items and /coupons pages the current digital coupons. Every call costs 1 credit, about $0.002 on the Growth plan billed yearly.
Dollar General has no public developer API, and dollargeneral.com shows prices and stock for one store at a time, so every request below starts from a store.
Step 1: Find a store
curl -s https://api.scavio.dev/api/v1/dollargeneral/stores \
-H "Authorization: Bearer $SCAVIO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"zip": "75203"}'On October 31, 2026 this returned the 25 nearest of 117 stores within 25 miles of the Dallas ZIP, nearest first. The first one, as captured:
{
"store_id": "12629",
"address": "2919 Cedar Crest Blvd",
"city": "Dallas",
"state": "TX",
"zip": "75203-4011",
"latitude": 32.741674,
"longitude": -96.788919,
"phone": "6822731392",
"distance_miles": 0.8,
"hours": { "monday": "08:00-20:00", "tuesday": "08:00-20:00", "wednesday": "08:00-20:00", "thursday": "08:00-20:00", "friday": "08:00-20:00", "saturday": "08:00-20:00", "sunday": "08:00-20:00" },
"services": ["Fresh Produce", "DG Delivery", "Rug Doctor", "NCI"]
}Pass latitude and longitude instead of zip to search around a point, and radius (1 to 100 miles) to widen the area.
Step 2: Search at that store
curl -s https://api.scavio.dev/api/v1/dollargeneral/search \
-H "Authorization: Bearer $SCAVIO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"query": "paper towels", "store_id": "12629"}'"paper towels" at store 12629 returned 24 of 64 results in 4.2 s. The first row, trimmed to the main fields and its first coupon:
{
"position": 1,
"upc": "030772156629",
"sku": "36158202",
"title": "Bounty Paper Towels Select-A-Size White, 6 Double Plus Rolls, 103 Sheets Per Roll",
"price": 14.95,
"original_price": 16.75,
"available_quantity": 3,
"in_stock": true,
"rating": 4.5,
"review_count": 5680,
"coupons": [
{
"offer_code": "99111069",
"summary": "Save $2.00",
"value": 2,
"is_manufacturer_coupon": true,
"expiration_date": "2026-10-31T23:59:00"
}
],
"url": "https://www.dollargeneral.com/p/bounty-paper-towels-select-a-size-white-6-double-plus-rolls-103-sheets-per-roll/030772156629"
}price is what this store charges, original_price the regular price, and available_quantity the units on hand there. Pass in_stock_only: true to drop items the store does not have, sort (price_low, price_high or rating) to reorder, and page for the rest.
Step 3: Get one product in full
curl -s https://api.scavio.dev/api/v1/dollargeneral/product \
-H "Authorization: Bearer $SCAVIO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"upc": "030772156629", "store_id": "12629"}'The product call adds the brand, unit size, description, highlights, images and category path to the store's price and stock. Captured, with the long fields trimmed:
{
"upc": "030772156629",
"sku": "36158202",
"store_id": "12629",
"title": "Bounty Paper Towels Select-A-Size White, 6 Double Plus Rolls, 103 Sheets Per Roll",
"brand": "Bounty",
"price": 14.95,
"original_price": 16.75,
"available_quantity": 3,
"in_stock": true,
"stock_status": 3,
"nearby_stores_with_stock": 18,
"rating": 4.5,
"review_count": 5680,
"unit_size": "305",
"unit_of_measure": "sq feet"
}nearby_stores_with_stock is Dollar General's own count of stores nearby with the item. To see which stores, and how many each has, use step 4.
Step 4: Check stock at 25 stores in one call
curl -s https://api.scavio.dev/api/v1/dollargeneral/stores \
-H "Authorization: Bearer $SCAVIO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"zip": "75203", "upc": "191726481539"}'UPC 191726481539 is an 8-inch Pikachu plush. Adding it to the stores call gives every store in the list its own count. Two of the 25 stores, as captured (hours, phone and coordinates trimmed):
{
"zip": "75203",
"radius_miles": 25,
"upc": "191726481539",
"total_results": 117,
"count": 25,
"stores": [
{
"store_id": "12629",
"address": "2919 Cedar Crest Blvd",
"city": "Dallas",
"state": "TX",
"zip": "75203-4011",
"distance_miles": 0.8,
"quantity": 0,
"in_stock": false,
"inventory_status": 1,
"is_sellable": false,
"pickup_eligible": false,
"delivery_eligible": true
},
{
"store_id": "16913",
"address": "4807 Sunnyvale St",
"city": "Dallas",
"state": "TX",
"zip": "75216",
"distance_miles": 3.6,
"quantity": 2,
"in_stock": true,
"inventory_status": 2,
"is_sellable": true,
"pickup_eligible": false,
"delivery_eligible": true
}
]
}Across all 25 stores the plush was on hand at 7, 19 units in all, and the two nearest stores had none. In our calls inventory_status was 1 at 0 units, 2 at 1 or 2 units and 3 at 3 or more, but quantity and in_stock are the fields to read. One caution: some items, including every Doritos and Lay's bag we checked but one, read exactly 5 at every store, which is a placeholder rather than a shelf count. The comparison of three products across those 25 stores is charted in the best Dollar General product data APIs.
Step 5: List sale and clearance items
curl -s https://api.scavio.dev/api/v1/dollargeneral/deals \
-H "Authorization: Bearer $SCAVIO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"store_id": "12629", "type": "clearance"}'type is on_sale or clearance. At store 12629 the on-sale list held 5,927 items over 247 pages, with Arm & Hammer Advance White toothpaste at $3 against an original_price of $4.50 and 3 on hand. The clearance event held 2,148 items over 90 pages; the first was a 16 oz Freez Pak Icicle at $0.30 with 12 on hand. Clearance rows carry the current price only, so original_price equals price there. Both lists cover the whole chain, so keep the rows where available_quantity is above 0 for what the store actually has.
Step 6: Page the digital coupons
curl -s https://api.scavio.dev/api/v1/dollargeneral/coupons \
-H "Authorization: Bearer $SCAVIO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"page": 1}'Coupons are chain-wide, so no store is needed. The first page, 30 of 360 coupons, opened with this one:
{
"offer_code": "X545328",
"summary": "Save $5.00",
"description": "on your purchase of $25.00 or more (pre-tax) at Dollar General",
"brand": "Dollar General",
"value": 5,
"category": "Dollar General",
"min_quantity": 1,
"is_manufacturer_coupon": false,
"offer_type": "AmountOff",
"start_date": "2026-10-25T00:00:00",
"expiration_date": "2026-10-31T23:59:59"
}offer_type is AmountOff or Cashback; the first page held 15 of each. Search and product results carry the coupons that apply to each item in the same shape.
All five endpoints
| Endpoint | What it returns | Credits |
|---|---|---|
/api/v1/dollargeneral/stores | Up to 25 stores near a ZIP or point; with a UPC, each store's unit count | 1 |
/api/v1/dollargeneral/search | 24 results a page at one store: price, original price, units on hand, rating, coupons | 1 |
/api/v1/dollargeneral/product | One UPC at one store: price, units on hand, nearby stores with stock, details | 1 |
/api/v1/dollargeneral/deals | On-sale or clearance items, priced and stocked at one store, 24 a page | 1 |
/api/v1/dollargeneral/coupons | Current digital coupons, 30 a page | 1 |
There is no review text endpoint; search, product and deals carry each item's rating and review count. For a side-by-side of every Dollar General data option, see the best Dollar General product data APIs.
Getting started
- Sign up at dashboard.scavio.dev/sign-up: 50 free credits, no card required.
- Copy your API key from the dashboard.
- Send a POST to
/api/v1/dollargeneral/storeswith a ZIP and your key in theAuthorizationheader.
Try the Dollar General API free in the playground first, or call it from Claude and other agents through the MCP server.
Reference: Dollar General API overview · stores · search · product · deals · coupons
Frequently asked questions
Is there a Dollar General API for product data?
Dollar General does not offer a public developer API. Scavio's Dollar General API returns its public product, price, stock, deal and coupon data as JSON with one API key, through 5 POST endpoints: search, product, stores, deals and coupons.
How do I find a Dollar General store number?
Send a ZIP code, or a latitude and longitude, to /api/v1/dollargeneral/stores. It returns up to 25 stores nearest first, within 25 miles by default and up to 100, each with store_id, address, phone, coordinates, distance, hours and services. ZIP 75203 returned store 12629 in Dallas at 0.8 miles.
Can I see how many units a Dollar General store has?
Yes. Search, product and deals return available_quantity, the units on hand at the store you pass, and the stores endpoint returns quantity for one UPC at every store in its list. These are Dollar General's own system counts, so a small number can already be gone from the shelf.
How do I get Dollar General clearance items?
Call /api/v1/dollargeneral/deals with a store_id and type clearance. On October 31, 2026 store 12629 listed 2,148 items in the clearance event, 24 a page. Clearance rows carry the current price only, so original_price equals price; use type on_sale for marked-down items with a was-price.
How much does Dollar General data cost with Scavio?
Every Dollar General call costs 1 credit, including a stores call that returns a product's stock at 25 stores: about $0.002 on the Growth plan billed yearly and $0.0043 on the $30 monthly Project plan. New accounts get 50 free credits with no card.