Paced for you
Jobs run at a rate eBay accepts, so a run of hundreds of keywords finishes without the 429 and 503 errors a parallel fan-out produces.
Short answer: there are two ways to pull eBay sold data for thousands of keywords. eBay's own Marketplace Insights API, if eBay approves you. Otherwise CompSniper: submit up to 100 keywords per job to POST /v1/scrape/jobs and poll for the results, stream up to 20 keywords with CSV export through POST /v1/bulk-search, or price 100 trading cards per Card Batch job. Each keyword returns up to 240 sold listings with its own median and range, plans go up to 500,000 requests a month, and failed keywords are never charged.
Reviewed by Marc Andrew, owner of CompSniper. Updated November 1, 2026.
curl --fail-with-body -X POST "https://api.compsniper.com/v1/scrape/jobs" \
-H "Authorization: Bearer $COMPSNIPER_API_KEY" \
-H "Content-Type: application/json" \
-d '{"queries": ["iphone 15 pro 256gb", "rtx 4090 founders edition", "shure sm7b"],
"options": {"count": 240}}'
# -> { "jobId": "abc123", "status": "queued", "resultsUrl": "/v1/scrape/jobs/abc123" }
curl --fail-with-body "https://api.compsniper.com/v1/scrape/jobs/abc123" \
-H "Authorization: Bearer $COMPSNIPER_API_KEY"Jobs run at a rate eBay accepts, so a run of hundreds of keywords finishes without the 429 and 503 errors a parallel fan-out produces.
Every keyword is searched on its own and returns its own median, p25, p75 and range, so different products and variants never mix.
Only successful keywords count against your quota or credits. A keyword that fails is reported in the results and not charged.
Authentication uses the same CompSniper API key as every other endpoint. No eBay developer account or approval is required.
| Parameter | Accepted values | Default |
|---|---|---|
| queries (jobs) | 1 to 100 keywords per job | Required |
| keywords (bulk search) | 1 to 20 unique keywords per stream | Required |
| options.count | 1 to 240 sold listings per keyword | 240 |
| options.ebaySite | ebay.com, ebay.co.uk, ebay.de and 5 more | ebay.com |
| options.relevance | false for eBay's results exactly as listed | true (AI cleanup) |
| Idempotency-Key header | Replay a finished stream without new searches | None |
Every successful sold page includes a deterministic median, average, p25 to p75 range, and sample size calculated from the returned prices.
{
"jobId": "abc123",
"status": "done",
"totalQueries": 3,
"processedQueries": 3,
"succeededQueries": 3,
"failedQueries": 0,
"results": [
{ "keyword": "shure sm7b", "ok": true, "totalItems": 240,
"summary": { "median": 289.0, "p25": 265.0, "p75": 310.0, "currency": "USD" } }
]
}Price a whole store catalog every night and flag listings that sit above or below the current market median.
Refresh comps for every product your users track on a schedule, inside a predictable monthly quota.
Pull sold prices for a whole category or brand list and compare medians across products and eBay sites.
eBay's Marketplace Insights API is the official route to sold data, but access needs eBay's approval. CompSniper is built for large keyword lists with no approval step.
| eBay Marketplace Insights API | CompSniper | |
|---|---|---|
| Access | Restricted, needs eBay approval | Instant API key, free plan |
| Keywords per call | One search per call | Up to 100 per job, 20 per stream |
| Sold history | About 90 days | 240 recent sales per keyword, and up to 3 years with /v1/research/sold |
| Accepted Best Offer price | No | Yes, bestOfferPrice=true |
| CSV export | No | Yes, on streaming bulk search |
| Volume | Set by eBay per application | Plans up to 500,000 requests a month |
There are two ways. eBay's own Marketplace Insights API, if eBay approves your application. Otherwise CompSniper: submit up to 100 keywords per job to POST /v1/scrape/jobs, poll for results, and submit the next job when it is done. Each keyword returns up to 240 sold listings with its own median and range. Plans go up to 500,000 requests a month, and failed keywords are never charged.
Up to 100 keywords per scrape job, 20 per streaming bulk search, and 100 cards per Card Batch job. Submit the next batch when the current one finishes; the queue paces the work so large runs complete without burst errors.
Each successful keyword counts as one request against your monthly quota or credits. A keyword that fails is not charged. Plans run from 2,000 requests a month ($9) up to 500,000 ($549), and credits cost $5 per 1,000 with no plan.
Yes. A streaming bulk search returns a combined CSV link and a per-keyword CSV link, kept for 30 days. Scrape job results come back as JSON for each keyword.
Every search reads live eBay data, and eBay pushes back on bursts, so a large parallel fan-out comes back with 429 or 503 errors. The job queue paces the same searches at a rate eBay accepts and returns every result.
Yes. GET /v1/research/sold returns up to 3 years (1,095 days) of eBay sold history per keyword on every plan; run it per keyword from your own loop.
Create a free account, get an API key, and use the same quota from REST, the dashboard, or CompSniper MCP tools.