Gluten Dude APIglutendude.com ↗
Access Gluten Dude's vetted 100% gluten-free restaurant listings by city. Get names, addresses, phone numbers, descriptions, and website URLs via 2 endpoints.
What is the Gluten Dude API?
The Gluten Dude API exposes 2 endpoints for reading the curated, vetted list of 100% gluten-free restaurants published on glutendude.com. list_restaurants returns all restaurants for a given city — including name, address, phone, summary, and image URL — while get_restaurant fetches the full detail page for a single restaurant by slug, including its complete description and official website URL.
curl -X GET 'https://api.parse.bot/scraper/fb2bce0f-1753-4e4d-89d6-74bc19210677/list_restaurants?city=austin' \ -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 glutendude-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.
"""Walkthrough: find gluten-free restaurants in a city, then drill into one."""
from parse_apis.glutendude_com_api import GlutenDude, City, RestaurantNotFound
client = GlutenDude()
# List vetted 100% gluten-free restaurants in Austin.
for r in client.restaurant_summaries.list(city=City.AUSTIN, limit=5):
print(r.name, "-", r.address)
# Drill into the first result's full detail page.
first = client.restaurant_summaries.list(city=City.LONDON, limit=1).first()
if first is not None:
detail = first.details()
print(detail.name, "|", detail.category)
print(detail.description[:120])
if detail.website is not None:
print("Website:", detail.website)
# Point lookup by slug derived from a previous listing.
try:
restaurant = client.restaurants.get(slug=first.slug) if first is not None else None
except RestaurantNotFound:
print("Restaurant page no longer available")
print("exercised: restaurant_summaries.list / details / restaurants.get")
Returns the vetted 100% gluten-free restaurants Gluten Dude publishes for one city, one row per restaurant with name, street address, phone, a truncated summary, image and the slug used by get_restaurant. The published city list is a fixed set of 15 cities (the site states the web pages are a partial list of its app directory). One page fetch per call, no pagination; a city page returns roughly 7-12 restaurants. Unknown city values are rejected before any request.
| Param | Type | Description |
|---|---|---|
| cityrequired | string | City whose published gluten-free restaurant page to read. |
{
"type": "object",
"fields": {
"city": "the city code the call was made with",
"count": "integer number of restaurants returned",
"heading": "the city page's headline text",
"restaurants": "array of restaurant summaries: slug (input to get_restaurant), name, address, phone, summary (truncated blurb), image_url"
},
"sample": {
"data": {
"city": "austin",
"count": 1,
"heading": "What are the best gluten free restaurants in Austin, Texas?",
"restaurants": [
{
"name": "Bulevar Mexican Kitchen",
"slug": "bulevar-mexican-kitchen-gluten-free-restaurant-austin",
"phone": "+1 (555) 012-3456",
"address": "9400 Arboretum Blvd, Austin, TX 78759, USA",
"summary": "Bulevar Mexican Kitchen celebrates the simple pleasures of premium seafood, prime steaks, organic chicken and heirloom vegetables cooked over live coals and shared around...",
"image_url": "https://glutendude.app/wp-content/uploads/2024/11/BulevarMexica.jpg"
}
]
},
"status": "success"
}
}About the Gluten Dude API
What the API Covers
Gluten Dude maintains a fixed set of 15 cities for which it publishes hand-vetted, 100% gluten-free restaurant listings. The list_restaurants endpoint accepts a city string and returns every restaurant on that city's page. Each item in the restaurants array includes a slug, name, address, phone, a truncated summary, and an image_url. The response also surfaces the page's heading text and a count of returned restaurants.
Restaurant Detail
The get_restaurant endpoint takes a slug from list_restaurants and returns the full published record for one restaurant. Response fields include name, address, phone, description (the full text, not truncated), website (the restaurant's own URL, or null if the page does not publish one), image_url, and category — a headline string like "100% Gluten-free Restaurant in London" that identifies the city context.
Coverage and Data Shape
Because Gluten Dude's city coverage is a fixed set of 15 locations, list_restaurants will only return results for cities in that published set. There is no search or filter parameter; the city string maps directly to the page Gluten Dude maintains. All data — addresses, phone numbers, descriptions — reflects what Gluten Dude has published and vetted, making it suitable for celiac-safe dining use cases where 100% gluten-free status matters.
The Gluten Dude API is a managed, monitored endpoint for glutendude.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when glutendude.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 glutendude.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 celiac-safe restaurant finder app using
addressandphonefields fromlist_restaurants. - Populate a city travel guide with vetted gluten-free dining options, using the
headingandsummaryfields. - Cross-reference restaurant
websiteURLs fromget_restaurantto enrich a dietary-restriction database. - Display restaurant photos in a mobile app using
image_urlfrom either endpoint. - Aggregate full
descriptiontext fromget_restaurantto feed a dietary recommendation engine. - Monitor the 15-city gluten-free restaurant index for additions or changes to listings over time.
- Power a chatbot that answers gluten-free dining questions by city using
name,address, anddescriptionfields.
| 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 Gluten Dude have an official developer API?+
What does `get_restaurant` return that `list_restaurants` does not?+
get_restaurant returns the full description text and the restaurant's own website URL, both of which are absent from the list_restaurants summary. The summary field in list_restaurants is a truncated blurb; description in get_restaurant is the complete published text.Which cities are supported by `list_restaurants`?+
city parameter must match one of those published city pages; requests for cities outside this set will return no results. The Parse API reflects whatever cities Gluten Dude currently maintains.Does the API return menus, hours, or user reviews for restaurants?+
Is the `website` field always populated in `get_restaurant`?+
website field is null when the Gluten Dude restaurant page does not include a website link. This is reflected directly in the response rather than defaulting to an empty string, so callers should handle null explicitly.