Developer API

Free Resale Pricing API

Send an image URL, get a resale value range back. No signup for the free tier. CORS-enabled. Powered by real eBay sold-listing data — the same source as our consumer tool at itemvaluechecker.com.

Who this is for

Quickstart

Single endpoint, single POST. No API key required for the free tier.

curl -X POST https://itemvaluechecker.com/api/check-by-url \
  -H "Content-Type: application/json" \
  -d '{
    "image_url": "https://example.com/your-item.jpg"
  }'

The image URL must be publicly accessible (no auth-walled CDNs). 8MB hard cap on the fetched image. Server fetches + base64-encodes + forwards to the value-check pipeline.

Response shape

{
  "estimated_value": 482,
  "currency": "USD",
  "price_range": { "min": 380, "max": 620 },
  "confidence": 0.74,
  "listing_samples": [
    {
      "title": "Apple MacBook Pro 13\" 2019 Intel i5 8GB 256GB",
      "price": 510,
      "currency": "USD",
      "condition": "Used - Good",
      "url": "https://www.ebay.com/itm/...",
      "image_url": "https://i.ebayimg.com/..."
    },
    /* ...up to 27 listing samples */
  ],
  "cached": false
}

Examples

JavaScript (fetch)

const res = await fetch('https://itemvaluechecker.com/api/check-by-url', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({
    image_url: 'https://example.com/your-item.jpg',
  }),
});
const data = await res.json();
console.log(data.estimated_value, data.price_range);

Python (requests)

import requests

response = requests.post(
    'https://itemvaluechecker.com/api/check-by-url',
    json={'image_url': 'https://example.com/your-item.jpg'},
    timeout=60,
)
data = response.json()
print(f"${data['estimated_value']} ({data['price_range']['min']}–{data['price_range']['max']})")

Pre-encoded base64 (skip the server-side image fetch)

If your client already has the image bytes (file upload, camera capture), send the base64 directly instead of an image URL. Saves the SSRF-guarded server-side fetch and is faster for browser apps.

POST https://itemvaluechecker.com/api/check-by-url
{
  "image_base64": "data:image/jpeg;base64,/9j/4AAQSkZJ...",
  "max_results": 20
}

Rate limits

TierPer-minutePer-dayHeaders on 429
Free (no auth)60 req200 reqRetry-After
Pro (cookie or future API key)60 requnlimitedn/a

429 responses include a Retry-After header in seconds. Daily quota errors include a JSON body with a message field explaining the limit + upgrade path.

Error codes

Attribution

No attribution required, but a credit link helps us keep this free. If your app surfaces the data, a small “pricing by itemvaluechecker.com” line in the same view is appreciated.

Related

Building something cool with this? Email jglopez550@gmail.com. Happy to feature integrations on the homepage + bump your rate limit if you grow past the free tier.