Adidas APIadidas.ca ↗
Fetch product details, pricing, images, size variants, and real-time stock levels from adidas.ca with 2 endpoints covering the full Canadian catalog.
What is the Adidas API?
The adidas.ca API provides 2 endpoints for retrieving product data and inventory from Adidas Canada. The get_product endpoint returns a full product record including pricing, images, size variants with SKU and GTIN, color and gender attributes, breadcrumbs, and per-size availability. The get_availability endpoint delivers live stock counts for every size variant of a given product, identified by the alphanumeric product ID found in its URL.
curl -X GET 'https://api.parse.bot/scraper/1d30aa90-d3d6-448d-b346-d31b664ba623/get_product?site_path=en&product_id=HQ8708' \ -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 adidas-ca-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: Adidas Canada Product API — fetch details and stock levels."""
from parse_apis.adidas_canada_product_api import AdidasCA, ProductId, ProductNotFound
client = AdidasCA()
# Fetch full product details by ID — returns typed Product with nested resources.
product = client.products.get(id=ProductId.KE0844)
print(f"{product.name} — {product.pricing.current_price} CAD")
print(f" Brand: {product.attributes.brand}, Color: {product.attributes.color}")
# Walk size variants to see what's available.
for variant in product.variants:
print(f" Size {variant.size}: SKU {variant.sku}")
# Check real-time stock levels separately (lighter call, no full product payload).
stock = client.productavailabilities.get(id=ProductId.HQ8708)
print(f"\nStock status for {stock.id}: {stock.availability_status}")
for sv in stock.variation_list:
print(f" {sv.size}: {sv.availability} units ({sv.availability_status})")
# Typed error handling — catch when a product ID doesn't exist.
try:
client.products.get(id="INVALID_ID_999")
except ProductNotFound as exc:
print(f"\nProduct not found: {exc.product_id}")
print("\nExercised: products.get / productavailabilities.get / ProductNotFound")
Retrieve full product details for a single Adidas Canada product by its product ID. Returns name, description, pricing (current/standard/sale), image gallery, size variants with GTINs, color variations linking to sibling products, availability per size, breadcrumb navigation, and SEO metadata. The product ID is the alphanumeric code visible in any adidas.ca product URL (e.g. KE0844). One network round-trip per call; availability is fetched as a secondary request and merged into the response.
| Param | Type | Description |
|---|---|---|
| site_path | string | Site language path segment. |
| product_idrequired | string | Adidas product ID — the alphanumeric code from the product URL (e.g. KE0844, HQ8708). |
{
"type": "object",
"fields": {
"id": "string - product ID",
"meta": "object containing page_title, description, canonical_url",
"name": "string - product name",
"images": "array of objects with type, url, and optional video_url",
"pricing": "object containing current_price, standard_price, sale_price, discount_text",
"variants": "array of objects with sku, size, gtin",
"attributes": "object containing brand, color, search_color, gender, category, sport, closure, is_sale, is_outlet",
"breadcrumbs": "array of objects with text and link",
"description": "object containing title, subtitle, text, features array",
"availability": "object containing status and variants array with per-size stock levels",
"model_number": "string - manufacturer model number",
"product_type": "string - e.g. inline",
"color_variations": "array of objects with product_id, name, url, color, search_color, image, pricing"
},
"sample": {
"data": {
"id": "KE0844",
"meta": {
"page_title": "adidas ROSES CREW SOCKS 2 PAIRS - Black | adidas Canada",
"description": "Shop for ROSES CREW SOCKS 2 PAIRS...",
"canonical_url": "//www.adidas.ca/en/roses-crew-socks-2-pairs/KE0844.html"
},
"name": "ROSES CREW SOCKS 2 PAIRS",
"images": [
{
"url": "https://assets.adidas.com/images/w_600,f_auto,q_auto/faf515bf0a734a3883152e6b1f02c3ca_9366/ROSES_CREW_SOCKS_2_PAIRS_Black_KE0844_01_01_00_standard.jpg",
"type": "standard"
}
],
"pricing": {
"sale_price": null,
"current_price": 28,
"discount_text": null,
"standard_price": 28
},
"variants": [
{
"sku": "KE0844_100",
"gtin": "4068805004261",
"size": "S"
}
],
"attributes": {
"brand": "Originals",
"color": "Black / White",
"sport": [
"Lifestyle"
],
"gender": "U",
"closure": [],
"is_sale": false,
"category": "Accessories",
"is_outlet": false,
"search_color": "Black"
},
"breadcrumbs": [
{
"link": "/en/originals",
"text": "Originals"
}
],
"description": {
"text": "The Roses Crew Socks...",
"title": "ROSES CREW SOCKS 2 PAIRS",
"features": [
"Crew length",
"Two pairs per pack"
],
"subtitle": "Crew length socks with all-over roses print for iconic style."
},
"availability": {
"status": "IN_STOCK",
"variants": [
{
"sku": "KE0844_100",
"size": "S",
"availability": 15,
"availability_status": "IN_STOCK"
}
]
},
"model_number": "SU290",
"product_type": "inline",
"color_variations": []
},
"status": "success"
}
}About the Adidas API
Product Details
The get_product endpoint accepts a required product_id (e.g., KE0844, HQ8708) and an optional site_path parameter (en or fr) for English or French content. It returns a detailed record covering the product name, description (including title, subtitle, text, and a features array), and pricing (with current_price, standard_price, sale_price, and discount_text). The images array lists each image by type and url. The variants array enumerates every size option with its sku, size, and gtin.
Attributes and Classification
get_product also returns structured metadata in an attributes object: brand, color, search_color, gender, category, sport, closure, is_sale, and is_outlet. The breadcrumbs array provides the full category path with text and link fields, useful for catalog navigation or classification tasks. The meta object includes page_title, description, and canonical_url for SEO-related workflows.
Real-Time Availability
The get_availability endpoint targets a single product by product_id and returns an overall availability_status (IN_STOCK or NOT_AVAILABLE) alongside a variation_list array. Each entry in that array carries a sku, a numeric availability count, a per-variant availability_status, and a size label. This makes it straightforward to detect which specific sizes are in stock versus depleted without fetching the full product record.
The Adidas API is a managed, monitored endpoint for adidas.ca — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when adidas.ca 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 adidas.ca 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 size-level stock for specific Adidas Canada products to trigger restock alerts when
availabilitycounts change. - Build a price tracker that records
current_price,standard_price, anddiscount_textover time to identify sale events. - Catalog Adidas Canada products with structured
attributes(gender, category, sport, color) for filterable product databases. - Display bilingual product content by toggling
site_pathbetweenenandfrfor Canadian-market storefronts. - Aggregate GTIN values from
variantsfor use in barcode databases or cross-marketplace product matching. - Identify clearance items by checking the
is_outletandis_saleflags across a set of product IDs. - Extract
breadcrumbsandcategoryattributes to build a structured taxonomy of the Adidas Canada catalog.
| 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 Adidas Canada have an official public developer API?+
What does `get_availability` return beyond a simple in-stock flag?+
availability count and a string availability_status for each size variant in the variation_list, plus an overall availability_status for the product. This lets you distinguish between a size that is fully out of stock, low stock, or well stocked rather than relying on a single boolean.Does the API cover multiple Adidas Canada product IDs in a single request, or search by keyword?+
product_id per request; batch lookup and keyword search are not currently supported. The API covers per-product detail and availability retrieval. You can fork it on Parse and revise to add a search or batch endpoint if your use case requires those capabilities.Are customer reviews or ratings included in the product response?+
get_product endpoint covers pricing, images, variants, attributes, description, and availability, but not user reviews or star ratings. You can fork this API on Parse and revise it to add a reviews endpoint targeting the relevant product review data.How specific is the regional coverage — does this API work for adidas.com or other country storefronts?+
site_path parameter controls English (en) or French (fr) content within the Canadian domain. Other regional storefronts such as adidas.com or adidas.co.uk are not covered by these endpoints.