Yahoo Shopping API endpoint
Returns Yahoo Shopping's homepage editorial story feed: title, destination URL, category, and thumbnail image for each story. Page follows Yahoo's own path-segment pagination. This is Yahoo's shopping buying-guide/deals content site, not a product-results API.
/yahoo-shopping/homeReturns Yahoo Shopping's homepage editorial story feed: title, destination URL, category, and thumbnail image for each story, with the current page and any next page.
This is Yahoo's shopping buying-guide/deals content site
(shopping.yahoo.com) -- Yahoo has restructured the site away from a
keyword-searchable product catalog, but a fixed set of retailer "store"
pages does carry real current product offers; see
docs/yahoo-shopping-stores.md and docs/yahoo-shopping-store.md. See
docs/yahoo-shopping-categories.md for the full section/topic taxonomy,
docs/yahoo-shopping-category.md for section and topic feeds, and
docs/yahoo-shopping-article.md for full article content.
Query parameters:
page (optional) -- 1-based page number, defaults to 1. Yahoo uses path
segments (/2/) rather than an offset query parameter.Notable response behavior:
category is derived from the story's own URL path (e.g. style,
beauty, home-garden) and is omitted only if the URL doesn't match the
expected Shopping article path; singular /article/ and plural
/articles/ paths are accepted.pagination.next_page is omitted when the page has no higher numbered link.503.| Field | Filled in, of 40 checked | Values in the sample |
|---|---|---|
| id | 40 | |
| title | 40 | “The best vacuum cleaners for 2026, tested and reviewed” and 39 other values |
| url | 40 | shopping.yahoo.com and 3 other hosts |
| category | 31 | home-garden (16), beauty (4), style (4) and 3 more |
| thumbnail_url | 40 | s.yimg.com |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| 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/home?page=1" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"items": [
{
"id": "175919542",
"title": "Stylists say these are the 4 must-have denim trends for fall",
"url": "https://shopping.yahoo.com/style/clothing/article/stylists-say-these-are-the-4-must-have-denim-trends-for-fall-175919542.html",
"category": "style",
"thumbnail_url": "https://s.yimg.com/lo/mysterio/api/example/denim.jpg"
}
],
"pagination": {
"page": 1,
"next_page": 2
}
}
}Request schema
No body schema
Response schema
#/definitions/yahooshopping.homeResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | yahooshopping.HomeResponse | No | ||||
| data.items | array | No | ||||
| data.items[].category | string | No | ||||
| data.items[].id | string | No | ||||
| data.items[].thumbnail_url | string | No | ||||
| data.items[].title | string | No | ||||
| data.items[].url | string | No | ||||
| data.pagination | yahooshopping.CategoryPaginate | No | ||||
| data.pagination.next_page | integer | No | 2 | |||
| data.pagination.page | integer | No | 1 | |||
| msg | string | No | OK |
| Status | Description | Schema |
|---|---|---|
| 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/home?page=1" \
-H "x-api-key: $CRAWLORA_API_KEY"