tiresapi

active

Agent-native car tire intelligence: fitment, live pricing, inventory, retailers. x402 + MCP + free trial.

AIBasex402 v2exacttiresapi.com ↗︎

Not seen in any discovery source since 2026-09-15.

The live 402 challenge pays a wallet its listing does not advertise.

Transactions · 30d
0
Volume · 30d
$0.00
Unique buyers · 30d
0
Uptime · 30d
100.0%
Latency p50
379ms

Endpoints (4 live)

  • tiresapi.com POST /api/v1/answers/best_price_near (1000 on Base)
  • tiresapi.com POST /api/v1/requests/data — Submit a free-form data request. Always queued; the data team triages and replies out-of-band. Use for ad-hoc asks that don't fit retailer-coverage (e.g. "add support for retailer X" or "backfill historical pricing for sku Y"). (0.01 USDC on Base)
  • tiresapi.com POST /api/v1/query — SQL sandbox over guarded dbo.v_* views (SELECT-only, capped 500 rows, 90s timeout). Flat $0.020 per call. There is no dbo.v_inventory_history — history rows are dbo.v_inventory_by_day or GET /api/v1/corpus/inventory/history. Use only when no curated answer/corpus tool fits the question. (0.02 USDC on Base)
  • tiresapi.com GET /api/v1/corpus/catalogue — Paged tire SKU catalogue dump for offline matching. Priced at $5.00 per 100 rows; `limit` is hard-capped at 100. Optional `updated_since=YYYY-MM-DD` returns only rows updated on/after that UTC date so agents can diff snapshots cheaply. Response echoes `catalogue_as_of_utc`. Empty result sets are auto-credited back to the agent's virtual balance. (5 USDC on Base)

MCP tools (78)

tiresapi http://tiresapi.com/mcp

  • best_price_near — PAID ($0.001): Cheapest tire listing near a ZIP for a size or SKU. NOTE — the returned `price` is the retailer's STICKER price; for an apples-to-apples drive-out (out-the-door) comparison across retailers, layer in corpus_retailer_fees (~$0.005, 33 rows, cache once per session) plus the destination state's sales tax. See /cookbook/driveout_price. Optional `exclude_retailers` (CSV of retailer_keys) drops specific retailers before the cheapest match is picked — e.g. `exclude_retailers=TIRERACK` for 'cheapest near me but not from Tire Rack'. Optional `brand_tier` (CSV from Best/Better/Good/Economy) filters by fg_brand_tier; unmapped brands resolve to 'Economy'. Discover the map via free corpus_facets_brand_tiers. Call cookbook_search first if you're unsure which paid tool fits.
  • cookbook_read — FREE — Return the full Markdown body of one cookbook recipe by slug. Use after cookbook_search when the user asks to review a recipe, you need step-by-step tool/filter instructions, or the search snippet is not enough. Slugs match the URL path after /cookbook/ (e.g. error_code_diagnostics, driveout_price, sandbox_queries). Only published recipes on the allowlist are readable — unknown slugs 404.
  • cookbook_search — FREE — CALL THIS FIRST for any tire-pricing, fitment, market-spread, promo, retailer, freshness, or 'what's the best X under $Y' question you haven't answered before. Returns up to 10 worked recipes (slug, title, URL, snippet) that name the exact paid tool + filters + pagination cursor shape for the question type. Scoring blends exact-token matches with a curated per-recipe paraphrase map, so 'is the data fresh?' routes to retailer_coverage_check even though that phrase isn't in the body. Routinely saves 3–10 paid calls per session by pointing at corpus_promo_frequency, corpus_retailer_freshness, corpus_price_deltas_dma, corpus_price_history_sku, etc. instead of paging inventory_history. If nothing matches, start with /cookbook/filter_discipline_meta. After a hit, call cookbook_read with the slug when you need the full recipe (search returns snippets only).
  • corpus_catalogue — PAID ($5.000): Paged tire SKU catalogue (max 100 rows/page). Each row carries `manufacturer_product_number` — the canonical cross-retailer SKU key — alongside the internal `key_brand_mpc` cursor handle, so callers can extract external part numbers without a /tires/{kbm} round-trip. Call cookbook_search first if you're unsure which paid tool fits.
  • corpus_facets_brand_tiers — FREE: brand → fg_brand_tier classification map (Best/Better/Good/Economy). Backs the `brand_tier` filter on /corpus/price-deltas/{dma,zip}, /corpus/inventory/history, and /corpus/promo-frequency. Any brand NOT in this map resolves to 'Economy' by contract — so the filter `brand_tier=Economy` includes both fg_brand_tier='Economy' AND unmapped (long-tail) brands. Optional `tier` case-insensitive filter narrows the rollup.
  • corpus_facets_brands — FREE: legal brand values for corpus filters. Optional prefix, limit (max 20000).
  • corpus_facets_history_window — FREE: min/max UTC dates in inventory history.
  • corpus_facets_index — FREE: facet index (metadata + endpoint links; no huge enum arrays).
  • corpus_facets_retailers — FREE: retailer keys in the store directory.
  • corpus_facets_states — FREE: US states with retailer stores.
  • corpus_facets_tire_sizes — FREE: legal tire size strings for corpus filters. Optional prefix, limit.
  • corpus_inventory_history — PAID ($0.050): Inventory history walk with date/size/retailer/geo filters (200 rows/page). Pass `summary=true` for one-row-per-(tire_size, brand) aggregates — observation_count, distinct retailers/stores, min/max/avg/median price, date range. Use the summary mode whenever the question is 'average price across these sizes over this window' (severity / band / fleet-budget questions); the raw mode quickly hits tens of thousands of tokens. Optional `exclude_retailers` (CSV of retailer_keys) drops rows from specific retailers BEFORE pagination/aggregation. Optional `brand_tier` (CSV from Best/Better/Good/Economy) filters by fg_brand_tier — unmapped brands resolve to 'Economy'; each row projects `brand_tier`. Discover the map via free corpus_facets_brand_tiers. Call cookbook_search first if you're unsure which paid tool fits.
  • corpus_inventory_latest — PAID ($0.010): Latest inventory snapshot rows (requires a narrowing filter). Call cookbook_search first if you're unsure which paid tool fits.
  • corpus_price_deltas_dma — PAID ($0.050): Widest same-tire price spread per DMA on a snapshot date. Optional `exclude_retailers` (CSV of retailer_keys, case-insensitive) suppresses specific retailers BEFORE the group-by — e.g. `exclude_retailers=TIRERACK` removes Tire Rack's national listings from both min/max selection AND listing_count, giving you a true local-only spread view without post-filtering. Optional `brand_tier` (CSV from Best/Better/Good/Economy) filters by fg_brand_tier; unmapped brands resolve to 'Economy'. Each row projects `brand_tier`. Discover the map via free corpus_facets_brand_tiers. Optional `min_local_delta_usd` floors on `local_delta_usd` (local brick-and-mortar only; ANDs with `min_delta_usd`). The min/max prices in each row are STICKER prices — for apples-to-apples DRIVE-OUT comparison across the min vs max retailer, fold in corpus_retailer_fees (~$0.005 once per session) + state tax. See /cookbook/driveout_price. Call cookbook_search first if you're unsure which paid tool fits.
  • corpus_price_deltas_zip — PAID ($0.050): Widest same-tire price spread inside zip+radius. Optional `exclude_retailers` (CSV of retailer_keys) suppresses specific retailers BEFORE the group-by. Optional `brand_tier` (CSV from Best/Better/Good/Economy) filters by fg_brand_tier; unmapped brands resolve to 'Economy'. Each row projects `brand_tier`. Discover the map via free corpus_facets_brand_tiers. Optional `min_local_delta_usd` floors on `local_delta_usd` (local brick-and-mortar only; ANDs with `min_delta_usd`). STICKER-price spreads only — for DRIVE-OUT spreads, combine with corpus_retailer_fees + state tax (see /cookbook/driveout_price). Call cookbook_search first if you're unsure which paid tool fits.
  • corpus_price_history_size — PAID ($0.030): Daily min/avg/max price series for a tire size (up to 365 days). Pass `dma_code` to scope to a single Nielsen TV market (retail competition cluster) — orthogonal to `state`. Call cookbook_search first if you're unsure which paid tool fits.
  • corpus_price_history_sku — PAID ($0.030): Daily min/avg/max price series for one SKU (up to 365 days). Pass `dma_code` to scope to a single Nielsen TV market (retail competition cluster) — orthogonal to `state`; pin one or both for severity/regional pricing questions. Response includes a single `sku` object echoing (brand, model, size, manufacturer_product_number, key_brand_mpc) so the caller learns the canonical cross-retailer SKU key without a follow-up /tires/{kbm} lookup. Call cookbook_search first if you're unsure which paid tool fits.
  • corpus_promo_frequency — PAID ($0.030): Use when asked HOW OFTEN or HOW FREQUENTLY any retailer runs promotions, or to compare promo cadence across retailers / brands. Handles the split `promo` / `promo_json` columns internally (different retailers populate different fields) — do NOT try to walk inventory_history yourself to compute promo rates. Requires at least one of: retailer_key, brand, state. Window is 1..365 days. Optional `exclude_retailers` (CSV of retailer_keys) and `brand_tier` (CSV from Best/Better/Good/Economy — unmapped brands → 'Economy') refine the universe. Each row projects `brand_tier`. Discover the brand→tier map via free corpus_facets_brand_tiers. Call cookbook_search first if you're unsure which paid tool fits.
  • corpus_retailer_fees — PAID ($0.005): Per-retailer fee structure (install + disposal + shop + road-hazard + lifetime-balance + alignment) for converting sticker prices into DRIVE-OUT (out-the-door) totals. ~33 rows, flat $0.005/call, cached server-side. Each row carries `road_hazard_basis` and `lifetime_balance_basis` flags ({flat, pct, flat_or_pct, none}) so callers know which formula applies without inspecting NULLs. `alignment_fee_per_visit` is per-visit, NOT per-tire — do NOT × 4 for a set. Pull once per session and cache; pair with state tax to compute the final out-the-door price. Full formula + worked example: GET /cookbook/driveout_price. Call cookbook_search first if you're unsure which paid tool fits.
  • corpus_retailer_freshness — FREE — Per-retailer scrape recency over a 30-day window. Returns one row per (retailer_key, state) seen, plus a synthetic row per nationwide-scrape retailer (TIRERACK) with state=NULL. Call BEFORE any paid /inventory/* or /price-deltas/* query to confirm the retailer is actually fresh in the geography you care about — saves the 2-paid-call 'widen radius, eyeball last_extracted' diagnosis loop. Pin at least one of state / retailer_key / brand. Returns freshness_class ∈ {fresh, recent, stale, inactive}. See /cookbook/retailer_coverage_check for the worked recipe.
  • corpus_retailers — PAID ($5.000): Paged retailer store directory (max 100 rows/page). Call cookbook_search first if you're unsure which paid tool fits.
  • evsrc_v_inventory_history_diagnostics — FREE with bearer — diagnostics-tier DDL for dbo.v_inventory_history_diagnostics only. Full inventory_product_detail_history column set (identical names via h Do NOT use view_proc_source. Query rows via run_query.
  • evsrc_v_response_raw_diagnostics — FREE with bearer — diagnostics-tier DDL for dbo.v_response_raw_diagnostics only. Full st_file Do NOT use view_proc_source. Query rows via run_query.
  • evsrc_v_retailer_store — FREE with bearer — diagnostics-tier DDL for dbo.v_retailer_store only. Raw st_file Do NOT use view_proc_source. Query rows via run_query.
  • evsrc_v_retailer_store_detail — FREE with bearer — diagnostics-tier DDL for dbo.v_retailer_store_detail only. Full st_file Do NOT use view_proc_source. Query rows via run_query.
  • evsrc_v_tire_inventory — FREE with bearer — diagnostics-tier DDL for dbo.v_tire_inventory only. Passthrough to st_file Do NOT use view_proc_source. Query rows via run_query.
  • evsrc_v_tire_product_detail — FREE with bearer — diagnostics-tier DDL for dbo.v_tire_product_detail only. Raw st_file Do NOT use view_proc_source. Query rows via run_query.
  • evsrc_v_tire_size — FREE with bearer — diagnostics-tier DDL for dbo.v_tire_size only. Raw st_file Do NOT use view_proc_source. Query rows via run_query.
  • fitment_makes — List vehicle makes for a given year.
  • fitment_models — List vehicle models for a make/year.
  • fitment_sizes — Stock + optional tire sizes for a make/year/model. Omitting submodel_id returns the union of OEM sizes across ALL trims — if the user mentioned a specific trim, call fitment_trims first to get the submodel_id and disclose any trim-only sizes (e.g. 2019 Accord Touring's 235/40R19) instead of recommending them for non-Touring trims.
  • fitment_trims — FREE: list OEM trims for a (year, make_id, model_id). Call this BEFORE fitment_sizes when the user mentions a specific trim (e.g. 'Accord EX' vs 'Accord Touring') so you can pass the resulting submodel_id and get only that trim's stock sizes. Omitting submodel_id from fitment_sizes returns the union across ALL trims, which can recommend wrong fitments — e.g. 2019 Honda Accord LX/Sport/EX = 225/50R17, Touring = 235/40R19.
  • fitment_years — List vehicle years for tire fitment lookup. Always free.
  • list_elevated_diagnostics — FREE with bearer — returns GET /api/v1/agents/me including `elevated_access` (tier, extra_sandbox_views, elevated_proc_sources, sandbox billing). Call FIRST to confirm diagnostics-tier before view_elevated_view_source, evsrc_* , run_query on elevated views, or view_elevated_proc_source. Known views: v_inventory_history_diagnostics, v_response_raw_diagnostics, v_retailer_store, v_retailer_store_detail, v_tire_inventory, v_tire_product_detail, v_tire_size.
  • run_query — PAID ($0.020): SQL sandbox. SELECT-only against dbo.v_* views, capped 500 rows / 90s. There is NO dbo.v_inventory_history — use dbo.v_inventory_by_day (requires last_extracted) or corpus_inventory_history for history walks. If GET /api/v1/agents/me shows elevated_access, you may also SELECT from elevated diagnostics views: v_inventory_history_diagnostics (identical column names to inventory_product_detail_history — use inventory_product_detail_history_id, width, RawSize_CORR, etc.), v_response_raw_diagnostics (request column — NOT request_url), v_tire_inventory, v_tire_product_detail, v_tire_size, v_retailer_store, v_retailer_store_detail. NOT on /cookbook/sql. For error_codes / ETL investigations start with cookbook_search (error codes) then cookbook_read(error_code_diagnostics). Use ONLY when no curated tool answers the question. Read /cookbook/sandbox_queries; public view names at /cookbook/sql. Always pass a non-empty `reason` describing why a curated tool didn't fit. Call cookbook
  • stores_near — PAID ($0.001): Retailers within radius of a ZIP (optional SKU filter). Call cookbook_search first if you're unsure which paid tool fits.
  • view_elevated_proc_source — FREE with bearer — diagnostics-tier only. Read live T-SQL for allowlisted st_file ETL procs via /api/v1/sandbox/elevated-procs/{database}/{proc}/source. Do NOT use view_proc_source or /cookbook/sql for these — they return 404. Confirm elevated_access on GET /api/v1/agents/me. Allowlisted proc_name values: Build_InventoryProductDetailHistoryBase, Insert_InventoryProductDetailHistory, Process_ResponseRaw. Returns plain text; 404 if the proc is not deployed on st_file. When definition_available=0 (encrypted or denied), body is a stub + parameter signature — do not retry; use /cookbook/etl_scrape_lineage for column lineage and v_inventory_history_diagnostics / v_response_raw_diagnostics (request column, not request_url) for scrape traces.
  • view_elevated_view_source — FREE with bearer — diagnostics-tier only. Read live T-SQL for any elevated sandbox view (parameterized). Do NOT use view_proc_source or /cookbook/sql. Query data via run_query. Per-view shortcuts: evsrc_<view_name> (no arguments; legacy elevated_view_source_* aliases still dispatch). Views: v_inventory_history_diagnostics, v_response_raw_diagnostics, v_retailer_store, v_retailer_store_detail, v_tire_inventory, v_tire_product_detail, v_tire_size.
  • view_proc_source — FREE — Read the live T-SQL source of one of the allowlisted PUBLIC procs / views (Corpus_*, Answer_*, public dbo.v_* sandbox views). Escape hatch for semantic questions the OpenAPI descriptor doesn't fully cover. NOT for elevated diagnostics — Insert_InventoryProductDetailHistory, Process_ResponseRaw, Build_InventoryProductDetailHistoryBase, v_inventory_history_diagnostics, v_response_raw_diagnostics, etc. use view_elevated_proc_source / view_elevated_view_source (bearer + elevated_access on /me). Returns text + sha1. See /cookbook/sql_introspection and /cookbook/sql for the public list.

tiresapi https://tiresapi.com/mcp

  • best_price_near — PAID ($0.001): Cheapest tire listing near a ZIP for a size or SKU. NOTE — the returned `price` is the retailer's STICKER price; for an apples-to-apples drive-out (out-the-door) comparison across retailers, layer in corpus_retailer_fees (~$0.005, 33 rows, cache once per session) plus the destination state's sales tax. See /cookbook/driveout_price. Optional `exclude_retailers` (CSV of retailer_keys) drops specific retailers before the cheapest match is picked — e.g. `exclude_retailers=TIRERACK` for 'cheapest near me but not from Tire Rack'. Optional `brand_tier` (CSV from Best/Better/Good/Economy) filters by fg_brand_tier; unmapped brands resolve to 'Economy'. Discover the map via free corpus_facets_brand_tiers. Call cookbook_search first if you're unsure which paid tool fits.
  • cookbook_read — FREE — Return the full Markdown body of one cookbook recipe by slug. Use after cookbook_search when the user asks to review a recipe, you need step-by-step tool/filter instructions, or the search snippet is not enough. Slugs match the URL path after /cookbook/ (e.g. error_code_diagnostics, driveout_price, sandbox_queries). Only published recipes on the allowlist are readable — unknown slugs 404.
  • cookbook_search — FREE — CALL THIS FIRST for any tire-pricing, fitment, market-spread, promo, retailer, freshness, or 'what's the best X under $Y' question you haven't answered before. Returns up to 10 worked recipes (slug, title, URL, snippet) that name the exact paid tool + filters + pagination cursor shape for the question type. Scoring blends exact-token matches with a curated per-recipe paraphrase map, so 'is the data fresh?' routes to retailer_coverage_check even though that phrase isn't in the body. Routinely saves 3–10 paid calls per session by pointing at corpus_promo_frequency, corpus_retailer_freshness, corpus_price_deltas_dma, corpus_price_history_sku, etc. instead of paging inventory_history. If nothing matches, start with /cookbook/filter_discipline_meta. After a hit, call cookbook_read with the slug when you need the full recipe (search returns snippets only).
  • corpus_catalogue — PAID ($5.000): Paged tire SKU catalogue (max 100 rows/page). Each row carries `manufacturer_product_number` — the canonical cross-retailer SKU key — alongside the internal `key_brand_mpc` cursor handle, so callers can extract external part numbers without a /tires/{kbm} round-trip. Call cookbook_search first if you're unsure which paid tool fits.
  • corpus_facets_brand_tiers — FREE: brand → fg_brand_tier classification map (Best/Better/Good/Economy). Backs the `brand_tier` filter on /corpus/price-deltas/{dma,zip}, /corpus/inventory/history, and /corpus/promo-frequency. Any brand NOT in this map resolves to 'Economy' by contract — so the filter `brand_tier=Economy` includes both fg_brand_tier='Economy' AND unmapped (long-tail) brands. Optional `tier` case-insensitive filter narrows the rollup.
  • corpus_facets_brands — FREE: legal brand values for corpus filters. Optional prefix, limit (max 20000).
  • corpus_facets_history_window — FREE: min/max UTC dates in inventory history.
  • corpus_facets_index — FREE: facet index (metadata + endpoint links; no huge enum arrays).
  • corpus_facets_retailers — FREE: retailer keys in the store directory.
  • corpus_facets_states — FREE: US states with retailer stores.
  • corpus_facets_tire_sizes — FREE: legal tire size strings for corpus filters. Optional prefix, limit.
  • corpus_inventory_history — PAID ($0.050): Inventory history walk with date/size/retailer/geo filters (200 rows/page). Pass `summary=true` for one-row-per-(tire_size, brand) aggregates — observation_count, distinct retailers/stores, min/max/avg/median price, date range. Use the summary mode whenever the question is 'average price across these sizes over this window' (severity / band / fleet-budget questions); the raw mode quickly hits tens of thousands of tokens. Optional `exclude_retailers` (CSV of retailer_keys) drops rows from specific retailers BEFORE pagination/aggregation. Optional `brand_tier` (CSV from Best/Better/Good/Economy) filters by fg_brand_tier — unmapped brands resolve to 'Economy'; each row projects `brand_tier`. Discover the map via free corpus_facets_brand_tiers. Call cookbook_search first if you're unsure which paid tool fits.
  • corpus_inventory_latest — PAID ($0.010): Latest inventory snapshot rows (requires a narrowing filter). Call cookbook_search first if you're unsure which paid tool fits.
  • corpus_price_deltas_dma — PAID ($0.050): Widest same-tire price spread per DMA on a snapshot date. Optional `exclude_retailers` (CSV of retailer_keys, case-insensitive) suppresses specific retailers BEFORE the group-by — e.g. `exclude_retailers=TIRERACK` removes Tire Rack's national listings from both min/max selection AND listing_count, giving you a true local-only spread view without post-filtering. Optional `brand_tier` (CSV from Best/Better/Good/Economy) filters by fg_brand_tier; unmapped brands resolve to 'Economy'. Each row projects `brand_tier`. Discover the map via free corpus_facets_brand_tiers. Optional `min_local_delta_usd` floors on `local_delta_usd` (local brick-and-mortar only; ANDs with `min_delta_usd`). The min/max prices in each row are STICKER prices — for apples-to-apples DRIVE-OUT comparison across the min vs max retailer, fold in corpus_retailer_fees (~$0.005 once per session) + state tax. See /cookbook/driveout_price. Call cookbook_search first if you're unsure which paid tool fits.
  • corpus_price_deltas_zip — PAID ($0.050): Widest same-tire price spread inside zip+radius. Optional `exclude_retailers` (CSV of retailer_keys) suppresses specific retailers BEFORE the group-by. Optional `brand_tier` (CSV from Best/Better/Good/Economy) filters by fg_brand_tier; unmapped brands resolve to 'Economy'. Each row projects `brand_tier`. Discover the map via free corpus_facets_brand_tiers. Optional `min_local_delta_usd` floors on `local_delta_usd` (local brick-and-mortar only; ANDs with `min_delta_usd`). STICKER-price spreads only — for DRIVE-OUT spreads, combine with corpus_retailer_fees + state tax (see /cookbook/driveout_price). Call cookbook_search first if you're unsure which paid tool fits.
  • corpus_price_history_size — PAID ($0.030): Daily min/avg/max price series for a tire size (up to 365 days). Pass `dma_code` to scope to a single Nielsen TV market (retail competition cluster) — orthogonal to `state`. Call cookbook_search first if you're unsure which paid tool fits.
  • corpus_price_history_sku — PAID ($0.030): Daily min/avg/max price series for one SKU (up to 365 days). Pass `dma_code` to scope to a single Nielsen TV market (retail competition cluster) — orthogonal to `state`; pin one or both for severity/regional pricing questions. Response includes a single `sku` object echoing (brand, model, size, manufacturer_product_number, key_brand_mpc) so the caller learns the canonical cross-retailer SKU key without a follow-up /tires/{kbm} lookup. Call cookbook_search first if you're unsure which paid tool fits.
  • corpus_promo_frequency — PAID ($0.030): Use when asked HOW OFTEN or HOW FREQUENTLY any retailer runs promotions, or to compare promo cadence across retailers / brands. Handles the split `promo` / `promo_json` columns internally (different retailers populate different fields) — do NOT try to walk inventory_history yourself to compute promo rates. Requires at least one of: retailer_key, brand, state. Window is 1..365 days. Optional `exclude_retailers` (CSV of retailer_keys) and `brand_tier` (CSV from Best/Better/Good/Economy — unmapped brands → 'Economy') refine the universe. Each row projects `brand_tier`. Discover the brand→tier map via free corpus_facets_brand_tiers. Call cookbook_search first if you're unsure which paid tool fits.
  • corpus_retailer_fees — PAID ($0.005): Per-retailer fee structure (install + disposal + shop + road-hazard + lifetime-balance + alignment) for converting sticker prices into DRIVE-OUT (out-the-door) totals. ~33 rows, flat $0.005/call, cached server-side. Each row carries `road_hazard_basis` and `lifetime_balance_basis` flags ({flat, pct, flat_or_pct, none}) so callers know which formula applies without inspecting NULLs. `alignment_fee_per_visit` is per-visit, NOT per-tire — do NOT × 4 for a set. Pull once per session and cache; pair with state tax to compute the final out-the-door price. Full formula + worked example: GET /cookbook/driveout_price. Call cookbook_search first if you're unsure which paid tool fits.
  • corpus_retailer_freshness — FREE — Per-retailer scrape recency over a 30-day window. Returns one row per (retailer_key, state) seen, plus a synthetic row per nationwide-scrape retailer (TIRERACK) with state=NULL. Call BEFORE any paid /inventory/* or /price-deltas/* query to confirm the retailer is actually fresh in the geography you care about — saves the 2-paid-call 'widen radius, eyeball last_extracted' diagnosis loop. Pin at least one of state / retailer_key / brand. Returns freshness_class ∈ {fresh, recent, stale, inactive}. See /cookbook/retailer_coverage_check for the worked recipe.
  • corpus_retailers — PAID ($5.000): Paged retailer store directory (max 100 rows/page). Call cookbook_search first if you're unsure which paid tool fits.
  • evsrc_v_inventory_history_diagnostics — FREE with bearer — diagnostics-tier DDL for dbo.v_inventory_history_diagnostics only. Full inventory_product_detail_history column set (identical names via h Do NOT use view_proc_source. Query rows via run_query.
  • evsrc_v_response_raw_diagnostics — FREE with bearer — diagnostics-tier DDL for dbo.v_response_raw_diagnostics only. Full st_file Do NOT use view_proc_source. Query rows via run_query.
  • evsrc_v_retailer_store — FREE with bearer — diagnostics-tier DDL for dbo.v_retailer_store only. Raw st_file Do NOT use view_proc_source. Query rows via run_query.
  • evsrc_v_retailer_store_detail — FREE with bearer — diagnostics-tier DDL for dbo.v_retailer_store_detail only. Full st_file Do NOT use view_proc_source. Query rows via run_query.
  • evsrc_v_tire_inventory — FREE with bearer — diagnostics-tier DDL for dbo.v_tire_inventory only. Passthrough to st_file Do NOT use view_proc_source. Query rows via run_query.
  • evsrc_v_tire_product_detail — FREE with bearer — diagnostics-tier DDL for dbo.v_tire_product_detail only. Raw st_file Do NOT use view_proc_source. Query rows via run_query.
  • evsrc_v_tire_size — FREE with bearer — diagnostics-tier DDL for dbo.v_tire_size only. Raw st_file Do NOT use view_proc_source. Query rows via run_query.
  • fitment_makes — List vehicle makes for a given year.
  • fitment_models — List vehicle models for a make/year.
  • fitment_sizes — Stock + optional tire sizes for a make/year/model. Omitting submodel_id returns the union of OEM sizes across ALL trims — if the user mentioned a specific trim, call fitment_trims first to get the submodel_id and disclose any trim-only sizes (e.g. 2019 Accord Touring's 235/40R19) instead of recommending them for non-Touring trims.
  • fitment_trims — FREE: list OEM trims for a (year, make_id, model_id). Call this BEFORE fitment_sizes when the user mentions a specific trim (e.g. 'Accord EX' vs 'Accord Touring') so you can pass the resulting submodel_id and get only that trim's stock sizes. Omitting submodel_id from fitment_sizes returns the union across ALL trims, which can recommend wrong fitments — e.g. 2019 Honda Accord LX/Sport/EX = 225/50R17, Touring = 235/40R19.
  • fitment_years — List vehicle years for tire fitment lookup. Always free.
  • list_elevated_diagnostics — FREE with bearer — returns GET /api/v1/agents/me including `elevated_access` (tier, extra_sandbox_views, elevated_proc_sources, sandbox billing). Call FIRST to confirm diagnostics-tier before view_elevated_view_source, evsrc_* , run_query on elevated views, or view_elevated_proc_source. Known views: v_inventory_history_diagnostics, v_response_raw_diagnostics, v_retailer_store, v_retailer_store_detail, v_tire_inventory, v_tire_product_detail, v_tire_size.
  • run_query — PAID ($0.020): SQL sandbox. SELECT-only against dbo.v_* views, capped 500 rows / 90s. There is NO dbo.v_inventory_history — use dbo.v_inventory_by_day (requires last_extracted) or corpus_inventory_history for history walks. If GET /api/v1/agents/me shows elevated_access, you may also SELECT from elevated diagnostics views: v_inventory_history_diagnostics (identical column names to inventory_product_detail_history — use inventory_product_detail_history_id, width, RawSize_CORR, etc.), v_response_raw_diagnostics (request column — NOT request_url), v_tire_inventory, v_tire_product_detail, v_tire_size, v_retailer_store, v_retailer_store_detail. NOT on /cookbook/sql. For error_codes / ETL investigations start with cookbook_search (error codes) then cookbook_read(error_code_diagnostics). Use ONLY when no curated tool answers the question. Read /cookbook/sandbox_queries; public view names at /cookbook/sql. Always pass a non-empty `reason` describing why a curated tool didn't fit. Call cookbook
  • stores_near — PAID ($0.001): Retailers within radius of a ZIP (optional SKU filter). Call cookbook_search first if you're unsure which paid tool fits.
  • view_elevated_proc_source — FREE with bearer — diagnostics-tier only. Read live T-SQL for allowlisted st_file ETL procs via /api/v1/sandbox/elevated-procs/{database}/{proc}/source. Do NOT use view_proc_source or /cookbook/sql for these — they return 404. Confirm elevated_access on GET /api/v1/agents/me. Allowlisted proc_name values: Build_InventoryProductDetailHistoryBase, Insert_InventoryProductDetailHistory, Process_ResponseRaw. Returns plain text; 404 if the proc is not deployed on st_file. When definition_available=0 (encrypted or denied), body is a stub + parameter signature — do not retry; use /cookbook/etl_scrape_lineage for column lineage and v_inventory_history_diagnostics / v_response_raw_diagnostics (request column, not request_url) for scrape traces.
  • view_elevated_view_source — FREE with bearer — diagnostics-tier only. Read live T-SQL for any elevated sandbox view (parameterized). Do NOT use view_proc_source or /cookbook/sql. Query data via run_query. Per-view shortcuts: evsrc_<view_name> (no arguments; legacy elevated_view_source_* aliases still dispatch). Views: v_inventory_history_diagnostics, v_response_raw_diagnostics, v_retailer_store, v_retailer_store_detail, v_tire_inventory, v_tire_product_detail, v_tire_size.
  • view_proc_source — FREE — Read the live T-SQL source of one of the allowlisted PUBLIC procs / views (Corpus_*, Answer_*, public dbo.v_* sandbox views). Escape hatch for semantic questions the OpenAPI descriptor doesn't fully cover. NOT for elevated diagnostics — Insert_InventoryProductDetailHistory, Process_ResponseRaw, Build_InventoryProductDetailHistoryBase, v_inventory_history_diagnostics, v_response_raw_diagnostics, etc. use view_elevated_proc_source / view_elevated_view_source (bearer + elevated_access on /me). Returns text + sha1. See /cookbook/sql_introspection and /cookbook/sql for the public list.

First seen · last seen