Looking for the overview — what this API returns, what it costs, and a call you can run without a key? See the Costco Same-Day API page →
E-commerce & Marketplaces

Costco Same-Day API & Scraper

This API reads sameday.costco.com, Costco Same-Day's online shop, live and returns it as JSON.

7 actionsLive JSON1,000 free credits$0.67–$1.50 / 1,000 creditsMCP-ready
Get a free keyOpen in playground

🤖 Using an AI assistant? Copy this link into ChatGPT / Claude / Cursor — it reads every endpoint and parameter instantly and tells you if this API fits your use case.

Prices are set per store, so every call is answered for one Costco store: give a ZIP code or a store_id from `stores` (without either, a fixed default store, Issaquah near 98027, is used and the response says store_defaulted: true). `search` returns the site's own ranked results (cheese: 139 products at the default store), `category` lists a collection such as Milk, `offers` returns Weekly Savings, `product/detail` adds ingredients, warnings and images, `categories` lists the category tree and `stores` lists Costco stores around a ZIP code with distance and services. The price matched the price printed on the sameday.costco.com product page for 8 of 8 products we checked.

Reference

What a Costco Same-Day field actually contains

Fields that read differently from how they look, measured on live responses on 2026-10-18.

FieldWhat it holds
price, price_displayThe price at the chosen store as the sameday.costco.com product page prints it (matched on 8/8 products, e.g. Kirkland Signature Eggs, Large, 24-cou $3.96).
original_price, discount_percentThe struck-through regular price on sale items and the discount computed from the two prices; null when the item is not on sale.
promotions, buy_one_get_oneDeals shown on the item: BOGO, multi-buy ('Buy 2 for $9.16'), member offers. They are never folded into price.
loyalty_priceA separate card or member price when the site shows one next to the regular price; null otherwise.
store, store_defaultedThe Costco store that priced the response (id, name, street, city). store_defaulted is true when you gave neither postal_code nor store_id.
unit_price_textThe unit price as the site prints it ("$0.03/fl oz"). For items sold by weight, price is the estimated package price and price_is_estimate is true.
stock_level, likely_out_of_stockmany_in_stock, in_stock, likely_out_of_stock or out_of_stock for that store.
matches_queryWhether the row shares a word with your search. The site fills a search that matches nothing with unrelated products; such pages are dropped and counted in unmatched_dropped.

Prices differ between stores: the same 14 products cost differently on 7 of them at a store near 90210 on the same day.

Live example

Real request and response JSON

Captured from the indexed primary action, search, on .

Captured request
{
  "method": "POST",
  "url": "https://api.reefapi.com/costco-sameday/v1/search",
  "headers": {
    "x-api-key": "$REEF_KEY",
    "content-type": "application/json"
  },
  "body": {
    "query": "milk",
    "postal_code": "98027"
  }
}
Captured response
{
  "ok": true,
  "meta": {
    "api": "costco-sameday",
    "endpoint": "search",
    "mode": "live",
    "latency_ms": 1814.2,
    "record_count": 20,
    "bytes": 155813,
    "cache_hit": false,
    "warnings": [
      "ignored unknown parameter(s): include_pii"
    ],
    "pagination": {
      "page": 1,
      "has_more": true,
      "total": 41
    },
    "upstream_requests": 3,
    "charged_credits": 3,
    "version": "1.0.0",
    "request_id": "49f9c1261aca4754",
    "fetched_at": "2026-10-18T17:44:58.139Z"
  },
  "data": {
    "products": [
      {
        "product_id": "19208138",
        "item_id": "items_407-19208138",
        "name": "Kirkland Signature Whole Milk, 1 Gallon, 2-count",
        "brand": "kirkland signature",
        "size": "each",
        "url": "https://sameday.costco.com/store/costco/products/19208138-kirkland-signature-homogenized-milk-2-gal-2-gal",
        "image": "https://d2lnr5mha7bycj.cloudfront.net/product-image/file/large_e343bcea-c952-4476-8edb-57573eee5b8d.jpg",
        "available": true,
        "stock_level": "many_in_stock",
        "stock_label": null,
        "likely_out_of_stock": false,
        "sold_by": "each",
        "weight_option": false,
        "par_weight": null,
        "max_order_quantity": 9999,
        "on_sale": false,
        "buy_one_get_one": false,
        "coupon_available": false,
        "store_brand": true,
        "dietary": [],
        "nutrition_highlights": null,
        "variant_values": [],
        "retailer_reference_code": "2",
        "retailer_lookup_code": null,
        "currency": "USD",
        "price": 8.5,
        "price_display": "$8.50",
        "original_price": null,
        "discount_percent": null,
        "savings": null,
        "loyalty_price": null,
        "loyalty_label": null,
        "loyalty_card_offer": false,
        "unit_price_text": "$2.12 each",
        "size_text": "2 ct",
        "price_is_estimate": false,
        "estimated_weight_text": null,
        "promotions": [],
        "deal_terms": null,
        "great_price": false,
        "badge": null,
        "retailer": {
          "retailer_id": "5",
          "slug": "costco",
          "name": "Costco",
          "shop_id": "3048",
          "service_type": "delivery",
          "retailer_location_id": "407"
        },
        "service_type": "delivery",
        "matches_query": true
      },
      {
        "product_id": "25691969",
        "item_id": "items_407-25691969",
        "name": "Kirkland Signature Organic 2% Milk, 1/2 gal, 4-count",
        "brand": "kirkland signature",
        "size": "each",
        "url": "https://sameday.costco.com/store/costco/products/25691969-kirkland-signature-2-milkfat-organic-reduced-fat-milk-2-gal",
        "image": "https://d2lnr5mha7bycj.cloudfront.net/product-image/file/large_2c78d313-e7cf-4ece-bb36-169ff05337df.jpg",
        "available": true,
        "stock_level": "many_in_stock",
        "stock_label": null,
        "likely_out_of_stock": false,
        "sold_by": "each",
        "weight_option": false,
        "par_weight": null,
        "max_order_quantity": 9999,
        "on_sale": false,
        "buy_one_get_one": false,
        "coupon_available": false,
        "store_brand": true,
        "dietary": [],
        "nutrition_highlights": null,
        "variant_values": [],
        "retailer_reference_code": "1550393",
        "retailer_lookup_code": null,
        "currency": "USD",
        "price": 17.58,
        "price_display": "$17.58",
        "original_price": null,
        "discount_percent": null,
        "savings": null,
        "loyalty_price": null,
        "loyalty_label": null,
        "loyalty_card_offer": false,
        "unit_price_text": null,
        "size_text": null,
        "price_is_estimate": false,
        "estimated_weight_text": null,
        "promotions": [],
        "deal_terms": null,
        "great_price": false,
        "badge": null,
        "retailer": {
          "retailer_id": "5",
          "slug": "costco",
          "name": "Costco",
          "shop_id": "3048",
          "service_type": "delivery",
          "retailer_location_id": "407"
        },
        "service_type": "delivery",
        "matches_query": true
      },
      {
        "product_id": "133044124",
        "item_id": "items_407-133044124",
        "name": "Kirkland Signature Organic Whole Milk, Half Gallon, 4-count",
        "brand": "kirkland signature",
        "size": "4 ct",
        "url": "https://sameday.costco.com/store/costco/products/133044124-kirkland-signature-organic-whole-milk-1-89-l",
        "image": "https://d2lnr5mha7bycj.cloudfront.net/product-image/file/large_f69c4129-c3a7-4760-8cd8-316dd5dd8655.jpg",
        "available": true,
        "stock_level": "many_in_stock",
        "stock_label": null,
        "likely_out_of_stock": false,
        "sold_by": "each",
        "weight_option": false,
        "par_weight": null,
        "max_order_quantity": 9999,
        "on_sale": false,
        "buy_one_get_one": false,
        "coupon_available": false,
        "store_brand": true,
        "dietary": [
          "Organic"
        ],
        "nutrition_highlights": null,
        "variant_values": [],
        "retailer_reference_code": "2070113",
        "retailer_lookup_code": null,
        "currency": "USD",
        "price": 19.28,
        "price_display": "$19.28",
        "original_price": null,
        "discount_percent": null,
        "savings": null,
        "loyalty_price": null,
        "loyalty_label": null,
        "loyalty_card_offer": false,
        "unit_price_text": "$4.82 each",
        "size_text": "4 ct",
        "price_is_estimate": false,
        "estimated_weight_text": null,
        "promotions": [],
        "deal_terms": null,
        "great_price": false,
        "badge": null,
        "retailer": {
          "retailer_id": "5",
          "slug": "costco",
          "name": "Costco",
          "shop_id": "3048",
          "service_type": "delivery",
          "retailer_location_id": "407"
        },
        "service_type": "delivery",
        "matches_query": true
      }
    ],
    "count": 20,
    "total": 41,
    "page": 1,
    "per_page": 20,
    "last_page": 3,
    "has_more": true,
    "unmatched_dropped": 0,
    "next_cursor": "ACF7ImsiOiJhMzdkMTg4M2M5M2IiLCJwIjoyLCJvIjoyMH0BJRfKAYgHQQfuF5wBCDZlBqfByQGwamIABGMRAwT7NAcGD3gBQViRAdEBhAD_0tcAAxt1Bi-JrgEXfm8H7hWiAAJN2wEzRC0HRHQbA5mgMA",
    "query": "milk",
    "store": {
      "store_id": "407",
      "name": "Issaquah",
      "street": "1801 10th Ave NW",
      "city_state_zip": "Issaquah, WA 98027",
      "latitude": 47.551444,
      "longitude": -122.053224
    },
    "service_type": "delivery",
    "postal_code": "98027",
    "store_defaulted": false,
    "currency": "USD"
  }
}
Actions

What the Costco Same-Day API does

ActionDescriptionConcrete use caseKey params
searchSearch sameday.costco.com at one Costco store: regular price (price list), was-price, member/card price and promotions apart, unit price, stock level, brand and size, in the site's own result order.Pricing teams call search to search sameday.costco.com at one Costco store.query, page, per_page, include_unmatched, cursor, ...
categoryEvery product of a sameday.costco.com collection (a category, a brand or a diet collection from `categories`) priced at one store.Marketplace operators call category to get every product of a sameday.costco.com collection (a category, a brand or a diet collection fr….slug, page, per_page, cursor, postal_code, ...
product/detailOne Costco product: name, brand, size, category, ingredients, directions, warnings, images, rating — and its price, unit price, promotions and stock at one store.Catalog enrichment teams call product/detail to get one Costco product.product_id, postal_code, store_id
categoriesThe sameday.costco.com category tree (departments and their collections) or one collection's sub-collections; slugs feed `category`.Retail analysts call categories to get the sameday.costco.com category tree (departments and their collections) or one collection's….slug, postal_code, store_id
storesCostco stores around a US ZIP code, nearest first, with address, coordinates, distance and which services sameday.costco.com offers there.Pricing teams call stores to get costco stores around a US ZIP code, nearest first, with address, coordinates, distance and wh….postal_code, page, limit
offersCostco's current deal lists at one store: Weekly Savings.Marketplace operators call offers to get costco's current deal lists at one store.type, page, per_page, cursor, postal_code, ...
promotionsWhich Costco deal lists are live now at one store, each with its name and product count.Catalog enrichment teams call promotions to get which Costco deal lists are live now at one store, each with its name and product count..postal_code, store_id
Code samples

Call search from your stack

curl -X POST https://api.reefapi.com/costco-sameday/v1/search \
  -H "x-api-key: $REEF_KEY" \
  -H "content-type: application/json" \
  -d '{"query":"milk","postal_code":"98027"}'
MCP one-liner
Ask your MCP-connected assistant: call reefapi.costco-sameday.search with {"query":"milk","postal_code":"98027"}.
Use cases

Who uses this API and why

  • Track Costco Same-Day prices per warehouse and ZIP code.
  • Compare Kirkland Signature prices between Costco warehouses.
  • Publish Costco Weekly Savings in a deals feed.
  • Build a Costco warehouse finder for same-day delivery coverage.
  • Monitor Costco Same-Day price changes on bulk groceries.
FAQ

Questions developers ask before integrating

Does Costco Same-Day have a public API?

No public product API. This API reads what sameday.costco.com shows a logged-out visitor and returns it as JSON. No account is needed.

Why do I need a ZIP code?

Costco prices are set per store. Pass postal_code or store_id; without them a fixed default store is used and store_defaulted is true.

Which price is returned?

The Costco Same-Day delivery price of the chosen warehouse, as sameday.costco.com prints it on its product page (8 of 8 products matched). In-warehouse shelf prices are not shown on the site and are not returned.

Can I get Costco's weekly savings?

Yes. offers with type weekly_savings returns the Weekly Savings list priced at one warehouse; promotions lists it with its product count.

Are these Costco warehouse prices?

These are the Costco Same-Day prices sameday.costco.com shows for a warehouse; they matched the price printed on the site's own product page for 8 of 8 products. No member-only price is shown to a visitor without a Costco login, so none is returned.

How do I find Costco stores near a ZIP code?

Call stores with postal_code. Around 98027 it returned 14 stores, nearest first, with address, coordinates, distance in miles and the services each offers. Use a store_id in any other call to price at that store.

Does search return everything the site finds?

Yes, in the site's own order, 20 per page by default (up to 40). cheese returned 139 products. The site can re-rank its list between two calls, so reading by page number can repeat or skip a product; follow next_cursor from each answer for a complete scan: it never returns a product twice and fills the page from the rest of the list.

How fresh is the data?

Every call reads sameday.costco.com live; nothing is cached on our side.

What is the Costco Same-Day API?

Costco Same-Day API is a ReefAPI endpoint group for sameday.costco.com prices as json per store: search, categories, weekly savings, product details and the store locator. It returns live JSON through POST requests under /costco-sameday/v1.

Is the Costco Same-Day API free to try?

Yes. ReefAPI starts with 1,000 free credits, no card required. Costco Same-Day calls use the same shared credit balance as every other ReefAPI engine.

Do I need a Costco Same-Day login or account?

No login to Costco Same-Day is needed for the API response. You call ReefAPI with your x-api-key header, and the playground can run live examples before you create a production key.

How fresh is the Costco Same-Day data?

The page example is captured from a live search call, and production requests fetch live data through ReefAPI rather than a static sample.

How many credits does the Costco Same-Day API use?

Costco Same-Day actions currently cost 1-3 credits per successful call. Failed or blocked calls are free. All APIs draw from one credit pool.

Can I call Costco Same-Day from an AI assistant or MCP client?

Yes. Connect ReefAPI once through MCP and your assistant can call costco-sameday actions with the same key, credit pool and JSON envelope used by normal REST requests.

docs / costco-sameday

Costco Same-Day

sameday.costco.com prices as JSON per store: search, categories, Weekly Savings, product details and the store locator.

base /costco-sameday/v17 endpoints
post/costco-sameday/v1/category3 credits

Every product of a sameday.costco.com collection (a category, a brand or a diet collection from `categories`) priced at one store.

ParameterAllowed / rangeDescription
slugrequired—Collection slug from `categories` (rc-milk …) or a sameday.costco.com /store/costco/collections/<slug> URL.
page = 1optional1–2001-based page. The site's order can shift between calls, so reading page by page can repeat or skip a product; for a complete scan follow `next_cursor` instead. A page past the end is INVALID_PARAM; read `last_page`/`has_more`.
per_page = 20optional1–40Products per page (1-40, default 20).
cursoroptional—`next_cursor` from the previous answer, sent WITH the same query/slug/type, store parameters and per_page (and no `page`). Returns the next page without products already returned: rows the site moved are dropped and counted in `duplicates_dropped`, the page is filled from the rest of the current list (`skipped_recovered` = products offset paging would have skipped).
postal_codeoptional—US ZIP code whose Costco store prices the results (Costco prices and range differ by store). Default 98027 — then `store_defaulted` is true.
store_idoptional—Optional Costco store id from `stores` (wins over postal_code for the store choice).
Try in playground →
post/costco-sameday/v1/product/detail3 credits

One Costco product: name, brand, size, category, ingredients, directions, warnings, images, rating — and its price, unit price, promotions and stock at one store.

ParameterAllowed / rangeDescription
product_idrequired—Product id (every row's `product_id`) or a sameday.costco.com /store/costco/products/ URL.
postal_codeoptional—US ZIP code whose Costco store prices the results (Costco prices and range differ by store). Default 98027 — then `store_defaulted` is true.
store_idoptional—Optional Costco store id from `stores` (wins over postal_code for the store choice).
Try in playground →
post/costco-sameday/v1/categories3 credits

The sameday.costco.com category tree (departments and their collections) or one collection's sub-collections; slugs feed `category`.

ParameterAllowed / rangeDescription
slugoptional—Optional collection slug: returns its sub-collections. Without it: the whole category tree.
postal_codeoptional—US ZIP code whose Costco store prices the results (Costco prices and range differ by store). Default 98027 — then `store_defaulted` is true.
store_idoptional—Optional Costco store id from `stores` (wins over postal_code for the store choice).
Try in playground →
post/costco-sameday/v1/stores1 credit

Costco stores around a US ZIP code, nearest first, with address, coordinates, distance and which services sameday.costco.com offers there.

ParameterAllowed / rangeDescription
postal_coderequired—US ZIP code to find Costco stores around (nearest first).
page = 1optional1–2001-based page. The site's order can shift between calls, so reading page by page can repeat or skip a product; for a complete scan follow `next_cursor` instead. A page past the end is INVALID_PARAM; read `last_page`/`has_more`.
limit = 20optional1–100Stores per page (1-100, default 20).
Try in playground →
post/costco-sameday/v1/offers3 credits

Costco's current deal lists at one store: Weekly Savings.

ParameterAllowed / rangeDescription
type = weekly_savingsoptionalweekly_savingsWhich deal list: weekly_savings (Weekly Savings).
page = 1optional1–2001-based page. The site's order can shift between calls, so reading page by page can repeat or skip a product; for a complete scan follow `next_cursor` instead. A page past the end is INVALID_PARAM; read `last_page`/`has_more`.
per_page = 20optional1–40Products per page (1-40, default 20).
cursoroptional—`next_cursor` from the previous answer, sent WITH the same query/slug/type, store parameters and per_page (and no `page`). Returns the next page without products already returned: rows the site moved are dropped and counted in `duplicates_dropped`, the page is filled from the rest of the current list (`skipped_recovered` = products offset paging would have skipped).
postal_codeoptional—US ZIP code whose Costco store prices the results (Costco prices and range differ by store). Default 98027 — then `store_defaulted` is true.
store_idoptional—Optional Costco store id from `stores` (wins over postal_code for the store choice).
Try in playground →
post/costco-sameday/v1/promotions3 credits

Which Costco deal lists are live now at one store, each with its name and product count.

ParameterAllowed / rangeDescription
postal_codeoptional—US ZIP code whose Costco store prices the results (Costco prices and range differ by store). Default 98027 — then `store_defaulted` is true.
store_idoptional—Optional Costco store id from `stores` (wins over postal_code for the store choice).
Try in playground →
Built for volume
5M+ requests a day

Measured at 60 requests a second across the fleet, with no central bottleneck. Volume pricing is on request, and per-key limits are raised for high-volume accounts.

Missing a source?
We build it

Tell us a site we do not cover yet and it becomes an engine. A customer asked for bestprice.gr on a Sunday and it was in the catalog the next day.

Support
2 minute median reply

Median time from a question in the live chat to the first answer, measured across every answered conversation. Setup help included, no support tier to buy.

One key, one balance
Every API included

No per-site plans and no separate subscriptions. One key and one credit pool across the whole catalog, so adding a source costs nothing up front.

Planning something large? Tell us the volume and the sources and we will come back with what it costs and what we would have to build.