Costco Business Delivery APIcostcobusinessdelivery.com ↗
Access Costco Business Delivery product data via 6 endpoints. Search products, retrieve pricing, browse categories, and find warehouse locations by ZIP code.
What is the Costco Business Delivery API?
The Costco Business Delivery API provides 6 endpoints to search products, retrieve detailed item data, browse category listings, and locate warehouses by ZIP code. The search_products endpoint returns paginated results with list price, sale price, stock status, and faceted filters for brand, category, and price range — all scoped to a specific warehouse location when a loc parameter is supplied.
curl -X GET 'https://api.parse.bot/scraper/e088fae7-127e-4c18-bcca-4ded0a66bbbc/search_products?loc=113&sort=bestMatch&limit=5&query=paper+towels&start=0' \ -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 costcobusinessdelivery-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: Costco Business Delivery SDK — search products, browse categories, get details."""
from parse_apis.costco_business_delivery_api import CostcoBusiness, Sort, ProductNotFound
client = CostcoBusiness()
# Search for products by keyword, sorted by best seller
for product in client.products.search(query="paper towels", sort=Sort.BEST_SELLER, limit=3):
print(product.name, product.sale_price, product.stock_status)
# Browse a category and take the first item for drill-down
product = client.products.by_category(category_url="/beverages.html", limit=1).first()
if product:
# Refresh to get full details
detail = product.refresh()
print(detail.name, detail.list_price, detail.in_stock, detail.categories)
# Discover available filters for a search query
for facet in client.facets.for_query(query="coffee", limit=3):
print(facet.label, [(b.value, b.count) for b in facet.buckets[:2]])
# Find locations by ZIP code
for location in client.locations.by_zip(zip_code="84101", limit=3):
print(location.city, location.state_abbreviation, location.time_zone)
# Handle a product-not-found error
try:
missing = client.products.get(item_number="0000000")
print(missing.name)
except ProductNotFound as exc:
print(f"Product not found: {exc.item_number}")
print("exercised: products.search / products.by_category / product.refresh / facets.for_query / locations.by_zip / products.get")
Full-text search over Costco Business Delivery products by keyword or item number. Returns paginated product results with pricing, availability, and faceted filters. Pagination is offset-based via the start parameter; each page returns up to limit products from a total of numFound. Facets in the response describe available category, brand, and price filters for the current query.
| Param | Type | Description |
|---|---|---|
| loc | string | Warehouse location ID for pricing and availability context. Defaults to 113 (Salt Lake City). |
| sort | string | Sort order for results. |
| limit | integer | Maximum number of results to return per page. |
| query | string | Search keyword or item number. Use *:* to browse all products. |
| start | integer | Pagination offset (0-based index of first result). |
{
"type": "object",
"fields": {
"start": "integer offset of current page",
"total": "integer total number of matching products",
"facets": "object containing available filter facets (category, price, brand)",
"products": "array of product objects with pricing, images, and stock status"
},
"sample": {
"data": {
"start": 0,
"total": 12,
"facets": {
"item_category": {
"label": "Category",
"buckets": [
{
"val": "0|Disposables",
"count": 10
}
]
}
},
"products": [
{
"name": "Kirkland Signature 2-Ply Paper Towels, White, 160 Create-A-Size Sheets, 12 ct",
"image": "https://gdx-assets.costco.com/adobe/assets/urn:aaid:aem:fade2b08-a9de-4606-9630-3b7059d05c63/as/512599__1.avif?width=350&height=350&fit=contain",
"Brand_attr": [
"Kirkland Signature"
],
"description": "Kirkland Signature 2-Ply Paper Towels, White, 160 Create-A-Size Sheets, 12 ct",
"item_number": "512599",
"isItemInStock": true,
"categoryPath_ss": [
"/disposables.html",
"/paper-towels.html"
],
"item_location_stockStatus": "in stock",
"item_location_pricing_listPrice": 23.79,
"item_location_pricing_salePrice": 23.79,
"item_product_marketing_features": [
"Individually wrapped rolls;Two strong, thick and absorbent layers;Create-a-Size: half or whole sheets;"
]
}
]
},
"status": "success"
}
}About the Costco Business Delivery API
Product Search and Detail
The search_products endpoint accepts a query keyword or item number and returns a response object containing a docs array of matching products alongside numFound and start for pagination. Sort order is controlled via the sort parameter, accepting bestMatch, bestSeller, price, or topRated. The accompanying facets object exposes filterable buckets for category, price, and brand. For a full item record, pass an item_number to get_product_detail, which returns fields including item_location_pricing_listPrice, item_location_pricing_salePrice, item_location_stockStatus, item_product_marketing_features, Brand_attr, and a primary image URL.
Category Browsing
get_category_products accepts a category_url path such as /beverages.html or /grocery.html and returns the same paginated structure as search results, with facets now broken down by subcategory. A dedicated get_restaurant_supplies endpoint targets /restaurant.html specifically and returns identical response fields — useful for restaurant procurement workflows without needing to know the category path. The get_search_filters endpoint lets you pre-fetch available filter facets — including Brand_attr buckets, item_category buckets, and item_location_pricing_salePrice price ranges — for a given query before executing a full search.
Location Context
Most endpoints accept a loc parameter (warehouse location ID) that scopes pricing and availability to a specific Costco Business Delivery warehouse. The find_warehouse endpoint resolves a US ZIP code to geocoded location data — city, stateProvince, latitude, longitude, and timeZone — which can then feed the loc parameter on subsequent product requests to get regionally accurate pricing.
The Costco Business Delivery API is a managed, monitored endpoint for costcobusinessdelivery.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when costcobusinessdelivery.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 costcobusinessdelivery.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?+
- Monitor list price and sale price changes on specific item numbers for bulk procurement decisions
- Build a product catalog browser filtered by brand and subcategory using
get_category_productsfacets - Resolve a buyer's ZIP code with
find_warehouseto deliver location-accurate pricing via thelocparameter - Aggregate
item_product_marketing_featuresacross competing items to automate spec comparison sheets - Pre-populate filter UI dropdowns using
get_search_filtersbefore users perform a search - Track stock status (
item_location_stockStatus) for high-volume restaurant supply items at specific warehouses - Extract brand and category distribution data from
facetsto analyze Costco Business Delivery's assortment mix
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Costco Business Delivery have an official developer API?+
What does `get_product_detail` return beyond what `search_products` includes?+
get_product_detail returns the full item record including item_product_marketing_features (an array of feature descriptions), Brand_attr, description, and both item_location_pricing_listPrice and item_location_pricing_salePrice. The search endpoint returns a subset of these fields within each docs entry — the detail endpoint is the appropriate call when you need the complete field set for a single item.Does the API expose customer reviews or product ratings?+
How does pagination work across the search and category endpoints?+
start integer (0-based offset) combined with limit to page through results. The response.numFound field in every response gives the total count of matching items, so you can calculate how many pages exist before fetching them.