Crumbl Cookies APIcrumblcookies.com ↗
Access Crumbl Cookies store locations, weekly rotating menus, and secret menu items via a single API. 1000+ stores, calorie info, and coordinates included.
What is the Crumbl Cookies API?
This API exposes three endpoints covering the full Crumbl Cookies data surface: over 1,000 store locations with coordinates and hours via get_all_stores, the current weekly classic and rotating cookie menu with calorie details via get_weekly_menu, and location-specific secret menu items including Hometown Picks and testing flavors via get_secret_menu. Each endpoint returns structured JSON with no filtering parameters required.
No input parameters required.
curl -X GET 'https://api.parse.bot/scraper/c1f2bf74-61ed-43a3-a85a-bd5dc7821415/get_all_stores' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace crumblcookies-com-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
from parse_apis.crumbl_cookies_api import CrumblCookies, Store, WeeklyMenu, SecretMenu, SecretCookie, Cookie, MenuSection
crumbl = CrumblCookies()
# List all store locations
for store in crumbl.stores.list(limit=5):
print(store.name, store.city, store.state_initials, store.phone)
# Get the current weekly menu
menu = crumbl.weeklymenus.get()
print(menu.cookie_week.start_date, menu.cookie_week.end_date)
print(menu.total_classic_flavors, menu.total_rotating_flavors)
for cookie in menu.rotating_menu.items:
print(cookie.name, cookie.calories_total, cookie.is_mystery_cookie)
# Get secret menu items across stores
secret = crumbl.secretmenus.get()
print(secret.total_unique_secret_cookies, secret.total_stores_with_secret_menu)
for sc in secret.secret_cookies:
print(sc.cookie_name, sc.rating, sc.available_at_stores)
for sms in secret.stores_with_secret_menu:
print(sms.store_name, sms.timezone)
for pick in sms.hometown_picks:
print(pick.cookie_name, pick.rating, pick.marketing_type)
Retrieve all active Crumbl Cookies store locations with full details: name, address, phone, email, coordinates, store hours, and operational status. Returns over 1000 stores across the US. No pagination — the full list is returned in one call.
No input parameters required.
{
"type": "object",
"fields": {
"stores": "array of Store objects with store_id, name, slug, address, street, city, state, state_initials, zip, phone, email, latitude, longitude, open_late, temporarily_closed, currency, timezone, hours",
"total_stores": "integer - count of active stores returned"
},
"sample": {
"data": {
"stores": [
{
"zip": "62704",
"city": "Springfield",
"name": "114th",
"slug": "tx114th",
"email": "[email protected]",
"hours": {
"FRI": "8:00 - 24:00",
"MON": "8:00 - 22:00",
"SAT": "8:00 - 24:00",
"THU": "8:00 - 22:00",
"TUE": "8:00 - 22:00",
"WED": "8:00 - 22:00"
},
"phone": "+1 (555) 012-3456",
"state": "Illinois",
"street": "123 Main St",
"address": "123 Main St, Springfield, IL 62704",
"currency": "USD",
"latitude": "33.4889863",
"store_id": "55b99a60-2eec-11ed-912f-4f423fb8f3d0:Store",
"timezone": "America/Chicago",
"longitude": "-101.9212443",
"open_late": true,
"state_initials": "IL",
"temporarily_closed": false
}
],
"total_stores": 1098
},
"status": "success"
}
}About the Crumbl Cookies API
Store Locations
get_all_stores returns an array of store objects covering every active Crumbl location. Each object includes store_id, name, slug, address, street, city, state, state_initials, zip, phone, email, latitude, longitude, and operational status. The response also includes a total_stores integer. With 1,000+ stores in the dataset, this endpoint is useful for building store finders, coverage maps, or delivery radius tools.
Weekly Rotating Menu
get_weekly_menu returns the current cookie week's date range via cookie_week (with start_date and end_date), a classic_menu object for always-available flavors, and a rotating_menu object for this week's limited offerings. Both menu objects include a name, description, highlight_tag, and an items array with per-cookie details including calorie information and images. The menu refreshes every Monday, so start_date and end_date are the reliable freshness signals.
Secret Menu
get_secret_menu surfaces cookies that don't appear on the standard weekly menu. The response contains secret_cookies — unique flavors with cookie_name, cookie_id, image_url, rating, marketing_type, tag_name, and an available_at_stores list — alongside stores_with_secret_menu, which breaks down each participating location's hometown_picks and testing_items arrays individually. Summary integers total_unique_secret_cookies and total_stores_with_secret_menu give quick aggregate counts without iterating the full arrays.
The Crumbl Cookies API is a managed, monitored endpoint for crumblcookies.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when crumblcookies.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 crumblcookies.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 store locator using latitude, longitude, address, and hours from
get_all_stores - Send a weekly push notification listing new rotating flavors and their calorie counts from
get_weekly_menu - Map which stores near a user currently carry secret menu Hometown Picks using
get_secret_menu - Track menu rotation history by storing weekly
start_dateandrotating_menuitems on a schedule - Aggregate secret cookie ratings across all stores to identify the highest-rated testing flavors
- Display store contact info (phone, email) alongside coordinates in a franchise directory app
- Alert users when a specific cookie reappears on the rotating or secret menu by comparing
cookie_idvalues
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Crumbl Cookies offer an official public developer API?+
What distinguishes Hometown Picks from Testing flavors in `get_secret_menu`?+
stores_with_secret_menu separates them into two distinct arrays per store: hometown_picks are flavors specific to a location's regional identity, while testing_items are experimental cookies being trialed at select stores. A cookie can appear in one but not the other, and availability varies by store.How current is the weekly menu data, and how do I know when it was last updated?+
cookie_week object in get_weekly_menu includes start_date and end_date fields that define the active window. You can compare start_date against the current date to confirm whether the data reflects the current week.Can I filter stores by state, city, or radius distance?+
get_all_stores returns all active stores in a single response with no server-side filtering parameters. Each store object includes state, city, latitude, and longitude, so client-side filtering by state name or geographic radius is straightforward. The API does not currently support query parameters to narrow results server-side. You can fork it on Parse and revise to add a filtering endpoint.Does the API include nutritional details beyond calorie counts, such as allergens or macros?+
get_weekly_menu endpoint exposes calorie information per cookie item but does not include macronutrient breakdowns, ingredient lists, or allergen data. You can fork the API on Parse and revise it to add an endpoint targeting Crumbl's nutrition detail pages.