on.com APIon.com ↗
Access On Running product data, shoe variants, category listings, prices, availability, and editorial articles via 6 structured endpoints.
curl -X GET 'https://api.parse.bot/scraper/aaac0b11-8b08-45ba-b71d-1a014af71824/search_products?limit=5&query=cloud' \ -H 'X-API-Key: $PARSE_API_KEY'
Search for products by keyword using On's search index. Returns product cards with names, prices, images, and URLs. Supports pagination.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number (0-indexed) |
| limit | integer | Results per page |
| queryrequired | string | Search keyword (e.g. 'cloud', 'runner') |
{
"type": "object",
"fields": {
"page": "integer current page number",
"nb_pages": "integer total number of pages",
"products": "array of product objects with name, product_type, gender, price, compare_at_price, image_url, product_url, sku, color",
"total_hits": "integer total number of matching products"
},
"sample": {
"data": {
"page": 0,
"nb_pages": 200,
"products": [
{
"sku": "3WF1004",
"name": "Cloud 6 Push",
"color": "Sand | Wolf",
"price": 170,
"gender": "womens",
"image_url": "https://images.ctfassets.net/hnk2vsx53n6l/4od7tDcGPahh8AIzegncL9/1ac9193d5348544b6dd86a391f709614/0e194861f69a8de5d377723bdea6e8d8c64460fd.png",
"product_url": "https://www.on.com/en-us/products/cloud-6-push-3wf1004/womens/sand-wolf-shoes-3WF10044892",
"product_type": "shoes",
"compare_at_price": 170
}
],
"total_hits": 1276
},
"status": "success"
}
}About the on.com API
The On Running API exposes 6 endpoints covering the full on.com product catalog and editorial content. Use search_products to query shoes and apparel by keyword and get back names, prices, SKUs, color variants, and image URLs. Other endpoints retrieve products by category, pull per-product variant availability, enumerate all shoe variants across genders, and surface articles from On's editorial hub.
Product Search and Category Browsing
search_products accepts a required query string plus optional page (0-indexed) and limit parameters, returning an array of product objects with name, product_type, gender, price, compare_at_price, image_url, product_url, sku, and color, along with total_hits and nb_pages for pagination. get_products_by_category filters by gender (mens, womens, kids) and product_type (shoes, apparel, accessories); note that some combinations—such as kids plus accessories—return zero results. Both endpoints share a similar product object shape but get_products_by_category also returns tags.
Product Detail and Full Shoe Catalog
get_product_detail takes a full product URL and returns a single detailed object: name, brand, price, currency, description, a list of image_urls, and a variants array. Each variant includes sku, name, color, price, currency, availability, and url—making this endpoint the right choice when you need to know whether a specific colorway or size is in stock. get_all_shoes requires no inputs and returns every shoe variant across all genders in one response, with a top-level count and a shoes array containing name, gender, price, url, sku, color, and image.
Editorial Content
get_articles_list fetches the Off Stories editorial hub and returns an array of article objects, each with a title and url, plus a total count. get_article_detail accepts a single article URL and returns the title, summary (from the meta description), and a json_ld object containing schema.org BlogPosting structured data—headline, author, and publisher. Full article body text is not reliably available due to client-side rendering on the stories pages.
- Build a shoe price tracker that monitors
priceandcompare_at_pricechanges across search results over time. - Aggregate
availabilityper variant fromget_product_detailto alert users when a specific colorway restocks. - Generate a gender-segmented product feed using
get_products_by_categorywithmens,womens, andkidsfilters. - Populate a product comparison tool with variant SKUs, colors, and images from
get_product_detail. - Index On Running editorial content by title and URL using
get_articles_listfor a brand content tracker. - Build a full shoe catalog snapshot using
get_all_shoesto track new colorway launches across genders. - Extract
json_ldstructured data from articles viaget_article_detailto feed a content metadata pipeline.
| 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 | 250 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 On Running have an official developer API?+
What does `get_product_detail` return that the listing endpoints don't?+
get_product_detail returns per-variant availability status, the full product description, all image_urls, and a currency code. The listing endpoints (search_products, get_products_by_category) return summary-level fields like price and image_url but omit availability and the variant-level breakdown.Does `get_all_shoes` include apparel and accessories?+
get_all_shoes covers only the shoes product type across mens, womens, and kids. Apparel and accessories are available through get_products_by_category with the appropriate product_type filter. You can fork this API on Parse and revise it to add a similar bulk-fetch endpoint for apparel or accessories.Is full article body text available from the editorial endpoints?+
get_article_detail returns a summary from the meta description and json_ld structured data (headline, author, publisher), but full article body text is not reliably extracted due to client-side rendering on story pages. You can fork this API on Parse and revise the article endpoint to add body extraction if the rendering constraints change.