Office Depot
Office Depot's price and list price, quantity price breaks, stock count for the serving region, rating and review count, by sku, about 7.5 million products per credit. Search too.
Office Depot's price and list price, quantity price breaks, stock count for the serving region, rating and review count, by sku, about 7.5 million products per credit. Search too.
At a glance
Property | Value |
|---|---|
|
|
Item id | The digits after |
Marketplaces | Live: |
Tier |
|
Ids per call | 500 |
Typical call | 4–12 s for 500 ids |
Search |
|
Stock depends on the region
availability.inStock is true when officedepot.availableQty is above 0, and left out at 0. That count is the stock at the Office Depot warehouse nearest the location that served your call, so it differs between regions and can change from one call to the next; no ZIP code or store can be chosen, and it is not store stock. A count of 0 is not confirmed to mean the product cannot be bought: Office Depot's pages still offer some products that show 0 here, and officedepot.backOrderable says when it lets a product be ordered without stock.
Prices are for one unit
price is the price for one unit (the officedepot.unit: a box, a case, each), listPrice is Office Depot's list price when it is higher, and a price of $0.00 is null. Some products have quantity price breaks in officedepot.bulkPrices; each break's price is also for one unit at that quantity, not a total. Most products carry priceHidden: true although a price is given; it is returned either way.
Example
- cURL
- Python
- Node.js
curl -X POST "https://api.scrapelyserp.com/v1/products" \
-H "Authorization: Bearer $SCRAPELY_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"platform": "officedepot",
"ids": [
"196517",
"https://www.officedepot.com/a/products/217961/Custom-Carbonless-Business-Forms-Pre-Formatted/"
]
}'import os
import requests
HEADERS = {"Authorization": f"Bearer {os.environ['SCRAPELY_API_KEY']}"}
r = requests.post(
"https://api.scrapelyserp.com/v1/products",
headers=HEADERS,
json={
"platform": "officedepot",
"ids": [
"196517",
"https://www.officedepot.com/a/products/217961/Custom-Carbonless-Business-Forms-Pre-Formatted/",
],
},
timeout=30,
)
r.raise_for_status()
data = r.json()
for p in data["results"]:
print(p["id"], p["status"], (p.get("price") or {}).get("amount"), p["officedepot"]["availableQty"])const res = await fetch('https://api.scrapelyserp.com/v1/products', {
method: 'POST',
headers: {
Authorization: `Bearer ${process.env.SCRAPELY_API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
platform: 'officedepot',
ids: [
'196517',
'https://www.officedepot.com/a/products/217961/Custom-Carbonless-Business-Forms-Pre-Formatted/',
],
}),
signal: AbortSignal.timeout(30_000),
});
if (!res.ok) throw new Error((await res.json()).error.code);
const data = await res.json();
for (const p of data.results) console.log(p.id, p.status, p.price?.amount, p.officedepot?.availableQty);Full reference → POST /v1/products
Office Depot fields
Besides the common fields, each result carries an officedepot object.
Field | Description |
|---|---|
| Office Depot's price for one unit. |
| Office Depot's list price, only when it is higher than |
| Quantity price breaks: |
|
|
| True when Office Depot lets the product be ordered while it has no stock. |
| The brand ( |
| Office Depot's own review average (0 to 5) and the number of reviews. Both are |
| The title, the product page on Office Depot and one picture. |
Statuses on Office Depot
partial: Office Depot answered without a title (and so without a price). Ask again later.not_found: Office Depot has no such sku, or rejects it as invalid.unavailable: no usable answer after retries. Not charged; ask again.