Yahoo Shopping API endpoint
Returns one retailer's current deals on Yahoo Shopping: product title, direct retailer product URL, image, brand, currency, price, and sale price for each offer. Sourced from the retailer's shopping.yahoo.com store page's own structured product data -- not a keyword search, a fixed set of currently-featured deals for that retailer. Use GET /yahoo-shopping/stores to find a retailer's slug.
/yahoo-shopping/storeQuery parameters:
store (required) -- a retailer slug from GET /yahoo-shopping/stores
(e.g. target, best-buy).Notable response behavior:
url is the real, direct retailer product URL (e.g. www.target.com/p/...),
decoded server-side from Yahoo's own affiliate-tracking redirect --
not the tracking link itself.price is the item's regular price and sale_price is the current
discounted price; both are omitted (zero) if not present on the
upstream offer.store slug returns 404.| Field | Filled in, of 10 checked | Values in the sample |
|---|---|---|
| title | 10 | “RYZE Organic Medium Roast Mushroom Coffee - 4.2oz: Arabica…” and 9 other values |
| url | 10 | target.com |
| image_url | 10 | s.yimg.com |
| brand | 10 | Target in all 10 |
| currency | 10 | USD in all 10 |
| price | 10 | 9.99 to 349.99, median 69.99 |
| sale_price | 10 | 8.99 to 249.99, median 59.99 |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| store | string | Yes | Retailer slug from GET /yahoo-shopping/stores | target | |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/yahoo-shopping/store?store=target" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"store": "target",
"name": "Target",
"offers": [
{
"title": "purely elizabeth. Ancient Grain Flakes Cereal -13oz",
"url": "https://www.target.com/p/purely-elizabeth-ancient-grain-flakes-granola-13oz/-/A-94967445",
"image_url": "https://s.yimg.com/example/cereal.jpg",
"brand": "Target",
"currency": "USD",
"price": 7.49,
"sale_price": 5.99
}
]
}
}Request schema
No body schema
Response schema
#/definitions/yahooshopping.storeResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | yahooshopping.StoreResponse | No | ||||
| data.name | string | No | ||||
| data.offers | array | No | ||||
| data.offers[].brand | string | No | ||||
| data.offers[].currency | string | No | ||||
| data.offers[].image_url | string | No | ||||
| data.offers[].price | number | No | ||||
| data.offers[].sale_price | number | No | ||||
| data.offers[].title | string | No | ||||
| data.offers[].url | string | No | ||||
| data.store | 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/store?store=target" \
-H "x-api-key: $CRAWLORA_API_KEY"