Retail pricing and availability monitoring
Use Costco endpoints to turn retail pricing and availability monitoring into repeatable API requests with documented inputs and JSON responses.
Turn Costco's public product data into structured retail data — keyword product search, full product detail with pricing, delivery-availability estimates, reviews, category facets, and nearby-warehouse lookup, all as normalized JSON. Credential-free.
Search Costco products and get product detail, availability, reviews, category facets, and nearby warehouses as structured JSON.
Endpoint families
4
Documented params
16
Examples
6
Live catalog snapshot
Active endpoints
6
Methods
GET
Required params
13
Schema refs
6
{
"platform": "Costco",
"endpoint": "costco-search",
"method": "GET",
"path": "/costco/search",
"auth": "apiKey"
}Use cases
Search Costco products and get product detail, availability, reviews, category facets, and nearby warehouses as structured JSON.
Use Costco endpoints to turn retail pricing and availability monitoring into repeatable API requests with documented inputs and JSON responses.
Use Costco endpoints to turn product and category research into repeatable API requests with documented inputs and JSON responses.
Use Costco endpoints to turn review and rating collection into repeatable API requests with documented inputs and JSON responses.
Managed execution
Every figure below is read from the live Costco endpoint catalog — 6 endpoints, 16 documented request parameters, and 6 published response schemas — the same catalog Docs and Playground run against.
6 documented Costco endpoints, grouped into 4 request families — Product, Categories and Search, plus 1 more.
16 request parameters are documented across those Costco endpoints, 13 of them required — the full input contract is public before you write any integration code.
6 of the 6 Costco endpoints ship a recorded example response, and 6 carry a documented response schema — you can code against the real JSON before the first request.
Costco endpoints document their error responses (400, 404, 500 and 503) alongside the success schema, so a block, a rate limit, or a missing record comes back as a typed error rather than silently empty data.
6 hosted MCP tools back the Costco endpoints, so an agent can call the same routes with the same parameters and the same JSON contract, with no custom glue.
Coverage map
These cards are generated from the active endpoint catalog, so the landing page reflects the same API surface used by Docs and Playground.
/costco/product/{id}
/costco/categories
/costco/search
/costco/warehouses
Endpoint catalog
/costco/searchReturns public Costco products matching a text query and/or a category slug: title, brand, model, image, and rating for each result. Public data sourced from Costco's own search backend.
Response notes
- Each result's `id` is usable directly as the `id` path parameter to [`/costco/product/{id}`](costco-product.md). - A missing `query` and `category` returns `400` before any upstream request is made. Example response: ```json { "code": 200, "msg": "OK", "data": { "query": "refrigerator", "total_count": 381, "products": [ { "id": "4000181299", "url": "https://www.costco.com/p/-/mora-18-cu-ft-top-freezer-refrigerator/4000181299", "title": "Mora 18 cu. ft. Top Freezer Refrigerator", "brand": "Mora", "model": "MRT180N6AWD", "image_url": "https://gdx-assets.costco.com/adobe/assets/urn:aaid:aem:9913a059-4644-4e07-a049-7f72f2e28b5c/as/1731564-847__1.avif", "categories": [ "Appliances", "Appliances > Refrigerators", "Appliances > Refrigerators > Top Freezer Refrigerators" ], "rating": 4.2566, "rating_count": 491 } ] } } ```
MCP tool costco_search
/costco/product/{id}Returns a Costco product's detail: title, description, manufacturer, image, price, stock status, and rating. Public data sourced from Costco's own product backend.
Response notes
- `description` is Costco's own long-form description field for the product; for many products this is legal/compliance boilerplate (e.g. a California Prop 65 warning) rather than marketing copy — treat it as supplementary, not guaranteed to be useful prose. - `buyable` reflects Costco's own purchase-eligibility flag for the product, independent of `rating`/`rating_count`. - `membership_required` is `true` for a small number of products that require an active Costco membership to purchase online. - An unrecognized `id` returns `404`. - A missing `id` returns `400` before any upstream request is made. Example response: ```json { "code": 200, "msg": "OK", "data": { "id": "4000103922", "title": "LG 26 cu. ft. Smart Mirror InstaView Counter-Depth MAX French Door Refrigerator with Four Types of Ice", "manufacturer": "LG ELECTRONICS USA INC", "image_url": "https://gdx-assets.costco.com/adobe/assets/urn:aaid:aem:941ed14a-3b6f-48af-a0b3-a354e55869a2/as/4000103922-847__1.avif", "price": 1399.99, "buyable": true, "rating": 4.44, "rating_count": 477 } } ```
MCP tool costco_product
/costco/product/{id}/availabilityReturns a Costco product's stock and estimated-delivery status for a delivery destination. Public data sourced from Costco's own fulfillment backend.
Response notes
- `availability`/`available_for_sale` reflect real-time stock status for the given destination, distinct from [`/costco/product/{id}`](costco-product.md)'s `buyable` flag (which is a general purchase-eligibility flag, not destination-specific). - `estimated_delivery_date` and `supplier_available_date` are ISO 8601 timestamps (no timezone offset — Costco returns these as local wall-clock dates). - A missing `id`, `postal_code`, or `state` returns `400` before any upstream request is made. Example response: ```json { "code": 200, "msg": "OK", "data": { "product_id": "1942114", "availability": "INSTOCK", "available_for_sale": true, "fulfilled_by": "LG", "supplier_available_date": "2026-08-07T00:00:00", "estimated_delivery_date": "2026-08-17T00:00:00" } } ```
MCP tool costco_product_availability
/costco/product/{id}/reviewsReturns a page of a Costco product's reviews: title, text, rating, author, and recommendation for each. Public data sourced from Costco's own review platform.
Response notes
- `average_rating` is computed from the returned page of reviews, not Costco's own site-wide aggregate — for the full aggregate, use `rating`/`rating_count` on [`/costco/product/{id}`](costco-product.md). - `total_count` is the total number of reviews available for the product, independent of how many are returned in this page. - A missing `id` returns `400` before any upstream request is made. Example response: ```json { "code": 200, "msg": "OK", "data": { "product_id": "4000354684", "total_count": 67, "average_rating": 4.5, "reviews": [ { "id": "243309305", "title": "Flawless Delivery and Great Refrigerator!", "text": "Delivery was perfect! They were 15 min early...", "rating": 5, "author": "delisa80", "recommended": true, "submitted_at": "2025-07-15T16:34:05.000+00:00" } ] } } ```
MCP tool costco_product_reviews
/costco/categoriesReturns Costco category slugs and product counts relevant to an optional search term, each slug usable directly with GET /costco/search's category filter. Public data sourced from Costco's own search backend.
Response notes
- This is a **query-scoped** category breakdown, not a claim of Costco's complete category taxonomy — Costco's own backend caps the category facet list at roughly 50 entries regardless of query, the same limit its own site's "Show more options" filter sidebar is bound by. - `name` is derived by title-casing each category `slug`'s hyphen-separated words (e.g. `compact-refrigerators` -> `"Compact Refrigerators"`), confirmed to reproduce Costco's own category display text. Example response: ```json { "code": 200, "msg": "OK", "data": { "query": "refrigerator", "categories": [ { "slug": "compact-refrigerators", "name": "Compact Refrigerators", "count": 8 }, { "slug": "french-door-refrigerators", "name": "French Door Refrigerators", "count": 54 } ] } } ```
MCP tool costco_categories
/costco/warehousesReturns Costco warehouses near a latitude/longitude, sorted by distance: name, address, and distance for each. Public data sourced from Costco's own warehouse locator backend.
Response notes
- `distance_miles` is straight-line distance from the given coordinates. - Only physical warehouse locations are returned; nearby distribution centers and other non-warehouse sales locations Costco's own locator API returns internally are filtered out. - Missing or zero-valued `latitude`/`longitude` returns `400` before any upstream request is made. Example response: ```json { "code": 200, "msg": "OK", "data": { "warehouses": [ { "id": "1", "name": "Seattle", "type": "Warehouse", "address_line1": "4401 4TH AVE S", "city": "SEATTLE", "state": "WA", "postal_code": "98134-2311", "latitude": 47.56482663, "longitude": -122.3307644, "distance_miles": 0.083 } ] } } ```
MCP tool costco_warehouses
Related APIs
Marketplaces & Retail
Collect marketplace product signals from Amazon without building brittle storefront scrapers.
Marketplaces & Retail
Build resale, pricing, and marketplace workflows from structured eBay data.
Marketplaces & Retail
Turn public Shop.app product and merchant pages into structured JSON for e-commerce product intelligence, price research, shop monitoring, and marketplace discovery workflows.
Company coverage
Costco Wholesale Corporation · COST
Costco is operated by Costco Wholesale Corporation (COST). Crawlora's SEC endpoints take the same company's CIK, so filings, financials, insider transactions and 13F holdings come from the same API key as the Costco endpoints above.
SEC filings & financials API →How to scrape Costco
Crawlora's Costco endpoints return product search, detail, availability, reviews, categories, and warehouse lookup as normalized JSON with one API key — no Costco membership or account required.
Send a keyword to /costco/search for normalized product cards; an optional category narrows it. Both parameters are optional, and the response reports Costco's own total match count alongside the page — a search for coffee returns 24 cards out of 478 matches.
Pass a product id from a search result to /costco/product/{id} for full detail and pricing.
/costco/product/{id}/availability needs a location as well as the id — postal_code and state are both required, and omitting either returns a 400 rather than a national default. That is the point of the endpoint: delivery estimates are per-destination, so the same product answers differently by address.
/costco/product/{id}/reviews returns that product's reviews; unlike availability it needs only the id.
/costco/warehouses takes a latitude and longitude — both required — for nearby warehouse lookup, and /costco/categories returns category facets, optionally scoped by a query.
FAQ
Send a keyword to Crawlora's /costco/search endpoint and get normalized product cards — title, price, image — as structured JSON, no Costco membership required.
Yes, but you must supply a destination: /costco/product/{id}/availability requires postal_code and state alongside the product id, and a call without them returns a 400. Delivery estimates are inherently per-address, so there is no location-free answer to fall back on.
Yes — /costco/warehouses takes latitude and longitude, both required, rather than a postal code or city name. Resolve your location to coordinates first, then call it.
No Costco membership, login, or account is required from the caller — only your Crawlora API key.