API Documentation
Access real-time refurbished device pricing data programmatically. Available on Professional and Business plans.
Authentication
All API requests require an API key passed via the X-API-Key header. You can generate an API key from your dashboard.
X-API-Key: itad_live_a1b2c3d4e5f6...Base URL
https://itadpricing.com/api/v1Endpoints
/api/v1/searchSearch refurbished device prices across all sources.
Query Parameters
qstring (required)Search query, minimum 3 characters (e.g. "iPhone 15 Pro")countrystringCountry code filter (e.g. "NL", "DE", "UK"). Default: "all"gradestringGrade filter (e.g. "Excellent", "Very Good", "Good", "Fair"). Default: "all"limitintegerMax results to return (1-500). Default: 100Response Schema
{
"products": [
{
"model": "Apple iPhone 15 Pro 256GB",
"brand": "Apple",
"category": "phones",
"grade": "Very Good",
"consumer_price": 849.00,
"currency": "EUR",
"country": "NL",
"source": "Certified Marketplace NL",
"in_stock": true,
"last_seen": "2026-04-01"
}
],
"meta": {
"query": "iPhone 15 Pro",
"country": "all",
"grade": "all",
"total": 142,
"plan": "business",
"requests_today": 15,
"daily_limit": 10000
}
}Code Examples
cURL
curl -H "X-API-Key: itad_live_YOUR_KEY_HERE" \
"https://itadpricing.com/api/v1/search?q=iPhone+15+Pro&country=NL&limit=50"Python
import requests
response = requests.get(
"https://itadpricing.com/api/v1/search",
headers={"X-API-Key": "itad_live_YOUR_KEY_HERE"},
params={"q": "iPhone 15 Pro", "country": "NL", "limit": 50},
)
data = response.json()
for product in data["products"]:
print(f"{product['model']}: €{product['consumer_price']}")JavaScript
const response = await fetch(
"https://itadpricing.com/api/v1/search?q=iPhone+15+Pro&country=NL&limit=50",
{ headers: { "X-API-Key": "itad_live_YOUR_KEY_HERE" } }
);
const data = await response.json();
data.products.forEach((product) => {
console.log(`${product.model}: €${product.consumer_price}`);
});Webhooks
Business plan users can register webhook endpoints to receive real-time notifications when price alerts trigger. Webhooks are signed with HMAC-SHA256 for verification.
Signature verification
Every webhook request includes an X-ITADpricing-Signature header. To verify: compute SHA256(your_webhook_secret) to get your signing key, then check HMAC-SHA256(signing_key, request_body) matches the signature value.
Event types
| Event | Description |
|---|---|
| alert.triggered | A price alert condition was met |
| price.updated | Tracked product price changed |
| product.new | New product added to catalog |
Delivery includes 3 automatic retries with exponential backoff. Endpoints that fail 10 consecutive times are automatically disabled.
Rate Limits
| Plan | Requests/day |
|---|---|
| Professional | 1,000 |
| Business | 10,000 |
Error Codes
| Code | Meaning |
|---|---|
| 400 | Invalid query. Check your parameters |
| 401 | Missing or invalid API key |
| 403 | API access not available on your plan |
| 429 | Daily rate limit exceeded |
| 500 | Server error. Try again later |
Ready to get started?
Generate your API key from the dashboard and start querying prices in minutes.
Get Your API Key