Skip to main content
Glama
Crawlora-org

Crawlora MCP

Official

datasets_doordash_stores_search

Search the DoorDash store directory by text, location, tag, price, rating, or DashPass status, then paginate results for market research, coverage mapping, or lead generation.

Instructions

Search the DoorDash store directory. Searches the DoorDash merchant-location directory (dataset id doordash-stores), built by grid-tiling the anonymous guest Explore feed and hydrating every discovered store. Identity and marketplace fields (name, marketplace tags, price range, ratings, DashPass eligibility) come from Explore; contact, address, and coordinates come from the hydration pass, so a store that has not been hydrated yet can appear without them. display_status, display_asap_time, asap_available, and pickup_available are a point-in-time observation of the PICKUP surface at crawl time, not a durable capability. Geographic coverage is best-effort: Explore caps at 40 stores per call with no pagination, so the census saturates a tile rather than draining it. Supports full-text q, country/state/city/tag filters, dash_pass_only, min_price/max_price/min_rating, lat/lon/radius_m radius filtering, and sort (relevance, rating, distance, distance_asc). sort=relevance ranks by text-match score when q is supplied; without q it sorts by store name. Use pagination=cursor and the returned next_cursor to enumerate beyond the 10,000-result offset window against a point-in-time snapshot.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
qNoFull-text search over store name, address, city, and marketplace tags, max 256 characters
latNoLatitude for radius filtering or distance sort, requires lon
lonNoLongitude for radius filtering or distance sort, requires lat
tagNoSingle marketplace tag filter, e.g. Pizza
cityNoExact city filter
pageNoOffset page number, defaults to 1; ignored by cursor pagination except page=1 to start
sortNoSort enum: relevance, rating, distance, distance_asc
stateNoState/region code filter, e.g. CA
cursorNoOpaque continuation token returned in next_cursor; use with pagination=cursor and the same filters and sort
countryNoISO-3166-1 alpha-2 country filter, e.g. US, CA
radius_mNoRadius in meters, 1 through 50000; requires lat and lon
max_priceNoMaximum price range tier, inclusive
min_priceNoMinimum price range tier, inclusive
page_sizeNoPage size, defaults to 20 and maxes at 100; the 10,000-result cap applies only to offset pagination
min_ratingNoMinimum aggregate rating, 0 through 5; excludes unrated stores
paginationNoPagination mode: offset or cursor. Cursor mode supports full enumeration beyond the offset result window.
dash_pass_onlyNoKeep only DashPass-eligible stores

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv1.17.9

TDQS

A4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and does so exceptionally: it discloses field provenance (Explore vs hydration) and that un-hydrated stores may be missing contact/address/coordinates, warns that display_status/asap/pickup fields are point-in-time PICKUP observations rather than durable capabilities, and flags best-effort coverage with a 40-store-per-call Explore cap and a 10,000-result offset window. These are exactly the caveats an agent needs to interpret results honestly.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose is front-loaded, and every sentence carries substantive information (provenance, caveats, filter list, pagination). It is a dense block that could be broken up, but there is little wasted text and no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 17-parameter tool with no output schema and no annotations, the description is strong: it covers the data model, missing-field behavior, filter dimensions, sort semantics, and both pagination modes. It stops short of describing what a returned result contains beyond next_cursor and the field groups, but the coverage is adequate for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description adds real meaning beyond the schema: it explains that sort=relevance ranks by text-match score when q is supplied and falls back to store name otherwise, and that cursor tokens must be reused with the same filters and sort. This clarifies non-obvious interaction between parameters rather than restating them.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Search the DoorDash store directory' / 'merchant-location directory, dataset id doordash-stores') with rich detail on how the dataset is built. An agent immediately knows this is a full-text/filtered store search. It does not, however, explicitly differentiate itself from the obvious siblings datasets_doordash_stores_nearby, datasets_doordash_stores_facets, or datasets_doordash_stores_item.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives operational guidance such as 'Use pagination=cursor and the returned next_cursor to enumerate beyond the 10,000-result offset window' and explains that sort=relevance behaves differently with and without q. But it never states when to prefer this tool over the nearby/facets/item siblings or what conditions should route the agent elsewhere, so usage is only implied.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Deploy Server

Other Tools