Tonysfreshmarket APIweekly-ad.tonysfreshmarket.com ↗
Access Tony's Fresh Market weekly ad data: store locations, ad publications with validity windows, and advertised products with prices and deal text.
What is the Tonysfreshmarket API?
This API exposes 3 endpoints covering Tony's Fresh Market's weekly ad site — store locations, active ad publications, and per-page product listings. The get_ad_products endpoint returns every advertised product hotspot across an ad publication, including price, price prefix, unit, deal text, and description. Use list_stores to retrieve store coordinates and the ad IDs assigned to each location, or list_weekly_ads to discover which regional ad versions are currently live.
No input parameters required.
curl -X GET 'https://api.parse.bot/scraper/0ac0083c-9a7e-499b-b121-61d580c36b7a/list_stores' \ -H 'X-API-Key: $PARSE_API_KEY'
Lists every Tony's Fresh Market store that the weekly-ad site knows about, one record per store, with its address, coordinates and the ids of the ad publications (weekly ad version plus any savings guide) currently assigned to it. Single round trip; the list is small (about two dozen stores) and never paginated.
No input parameters required.
{
"type": "object",
"fields": {
"total": "number of store records returned",
"stores": "array of store records: store_id, name, address, city, state, zip_code (5-digit string), latitude/longitude (numbers), ad_ids (array of ad_id strings usable with get_ad_products)"
},
"sample": {
"data": {
"total": 22,
"stores": [
{
"city": "Springfield",
"name": "Tony's Fresh Market",
"state": "IL",
"ad_ids": [
"16065311",
"16065540"
],
"address": "123 Main St",
"latitude": 41.8488731,
"store_id": "2007",
"zip_code": "62704",
"longitude": -87.8005304
}
]
},
"status": "success"
}
}About the Tonysfreshmarket API
Store and Publication Discovery
list_stores returns all Tony's Fresh Market locations known to the weekly-ad site. Each record includes store_id, name, full address fields (address, city, state, zip_code), latitude/longitude coordinates, and an ad_ids array listing the publication IDs currently assigned to that store. Because the store count is small, the endpoint requires no pagination and completes in a single round trip.
list_weekly_ads returns the publications currently live on the site — typically several regional versions of the weekly ad sharing the same title but carrying distinct ad_id values, plus any longer-running savings guides. Each record includes ad_id, title, slug, valid_from, valid_to, and sale_start timestamps (local Chicago time, YYYY-MM-DDTHH:MM format), and a cover_image URL. Passing the optional zip_code parameter filters the response to publications assigned to the store at that ZIP, matching the zip_code values from list_stores.
Ad Products
get_ad_products takes a required ad_id (from list_weekly_ads or list_stores) and an optional 1-based page number. Omitting page returns all product hotspots across the entire publication. Each product record contains region_id, page, title, price (a number, or null for text-only offers like Buy 1 Get 1 Free), price_prefix (e.g. '$' or '2 for $'), price_unit ('ea', 'lb', or null), deal_text for qualifier copy, description, and a product_ids array. The response also includes a pages array with page images, page_count for the full publication, and pages_covered indicating the [first, last] range included in the response.
The Tonysfreshmarket API is a managed, monitored endpoint for weekly-ad.tonysfreshmarket.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when weekly-ad.tonysfreshmarket.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official weekly-ad.tonysfreshmarket.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Build a weekly deal tracker that alerts users when a specific product appears in a Tony's Fresh Market ad with a price below a threshold.
- Aggregate
priceandprice_unitfields fromget_ad_productsto compare per-unit pricing across items in the current weekly ad. - Map store locations using
latitude/longitudefromlist_storesto show the nearest Tony's that carries a given regional ad version. - Monitor
valid_fromandvalid_tofromlist_weekly_adsto detect when a new ad cycle starts and refresh cached product data. - Parse
deal_textandprice_prefixto classify promotion types (multi-buy, BOGO, straight discount) across all pages of an ad. - Cross-reference
ad_idson store records with publications to determine which regional ad version applies to a specific ZIP code.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 req/min |
Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Tony's Fresh Market have an official developer API?+
How does `list_weekly_ads` behave differently with and without the `zip_code` parameter?+
zip_code, the endpoint returns all publications currently live on the site — including every regional variant and any savings guides. When you supply a valid 5-digit zip_code matching a store from list_stores, the response is filtered to only the publications assigned to that store, and the zip_code field in the response echoes the filter applied.What does `price` being `null` mean in a product record from `get_ad_products`?+
null price indicates the offer is text-only — for example, a Buy 1 Get 1 Free promotion where no single numeric price is displayed. In those cases, the deal terms appear in the deal_text field instead.Does the API cover historical weekly ads from previous weeks?+
valid_from and valid_to timestamps are available per publication so you can record windows yourself. You can fork the API on Parse and revise it to build a historical data collection layer.Does the API return nutritional information or product images for individual items?+
get_ad_products returns title, price, price_prefix, price_unit, deal_text, description, and product_ids per hotspot, along with page-level images in the pages array. You can fork the API on Parse and revise it to add an endpoint that retrieves additional product detail if it becomes available.