Yahoo Shopping API endpoint
Returns the story cards displayed by a Yahoo Shopping section or nested topic, with page-based pagination. Some curated sections include cross-category or sibling Yahoo links. Use /yahoo-shopping/categories to discover the complete parent/topic taxonomy.
/yahoo-shopping/categoryReturns the story cards displayed on a Yahoo Shopping section or nested topic
page, with the current page and any next page in the response. Use
/api/v1/yahoo-shopping/categories to discover the live section/topic tree.
Query parameters:
category (required) -- one of style, beauty, health, home-garden,
tech, gift-ideas, guides, code-orange, deals, toys-games,
general, or pets.subcategory (optional) -- a topic listed under the selected parent by the
categories endpoint. A topic name by itself is not globally unique; for
example, accessories exists under both Style and Tech.page (optional) -- 1-based page number, defaults to 1.Yahoo uses path-segment pagination. A topic page such as Style → Shoes page 2
is fetched from shopping.yahoo.com/style/shoes/2/. next_page is omitted
when the page has no higher numbered link.
The response preserves the story cards shown on the upstream page. Curated
sections may include cross-category cards and destinations on sibling Yahoo
properties; those URLs are returned as destinations. The Article endpoint
fetches Shopping-host singular /article/ and plural /articles/ paths only.
Yahoo Shopping exposes no sort or filter controls on these editorial feeds.
Tags appear as per-article keywords on the Article response; there is no
global tag directory or tag-filter parameter.
An unknown section or a topic that does not belong to the selected section
returns 400.
Example request:
GET /api/v1/yahoo-shopping/category?category=style&subcategory=shoes&page=2
| Field | Filled in, of 16 checked | Values in the sample |
|---|---|---|
| id | 16 | |
| title | 16 | “It's the first day of fall — these are the 5 pieces every g…” and 15 other values |
| url | 16 | shopping.yahoo.com |
| category | 16 | style in all 16 |
| thumbnail_url | 16 | s.yimg.com |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| category | string | Yes | Yahoo Shopping section Allowed values: style, beauty, health, home-garden, tech, gift-ideas, guides, code-orange, deals, toys-games, general, pets. | style | |
| subcategory | string | No | Nested topic slug valid under its parent category; see /yahoo-shopping/categories | shoes | |
| page | integer | No | 1 | 1-based page number, defaults to 1 | 1 |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/yahoo-shopping/category?category=style&page=1" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"category": "style",
"subcategory": "shoes",
"items": [
{
"id": "184348510",
"title": "Brooks and Free People launch a limited-edition shoe",
"url": "https://shopping.yahoo.com/style/shoes/articles/brooks-limited-edition-free-people-184348510.html",
"category": "style",
"thumbnail_url": "https://s.yimg.com/lo/mysterio/api/example/shoes.jpg"
}
],
"pagination": {
"page": 2,
"next_page": 3
}
}
}Request schema
No body schema
Response schema
#/definitions/yahooshopping.categoryResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | yahooshopping.CategoryResponse | No | ||||
| data.category | string | No | ||||
| data.items | array | No | StreamItem record, 5 fields: category, id, thumbnail_url, title, url. Described under Yahoo Shopping Home API. | |||
| data.pagination | yahooshopping.CategoryPaginate | No | ||||
| data.pagination.next_page | integer | No | 2 | |||
| data.pagination.page | integer | No | 1 | |||
| data.subcategory | string | No | ||||
| msg | string | No | OK |
| Status | Description | Schema |
|---|---|---|
| 400 | Bad Request | #/definitions/app.Response |
| 404 | Not Found | #/definitions/app.Response |
| 429 | Too Many Requests | #/definitions/app.Response |
| 500 | Internal Server Error | #/definitions/app.Response |
| 503 | Service Unavailable | #/definitions/app.Response |
Use environment variables for secrets and keep Crawlora API keys server-side.
curl -X GET "https://api.crawlora.net/api/v1/yahoo-shopping/category?category=style&page=1" \
-H "x-api-key: $CRAWLORA_API_KEY"