eBay Sold Listings Search (Sold Items Only)
Pricing
from $2.00 / 1,000 results
eBay Sold Listings Search (Sold Items Only)
Extract real sold listings from eBay by keyword. Returns normalized sale price, currency, end date, title, URL, and item ID. Ideal for market research, price tracking, resale analytics, and comps. No scraping on your side.
Pricing
from $2.00 / 1,000 results
Rating
0.0
(0)
Developer

Caffein Dev
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
eBay Sold Listings API (Real Sold Items Only)
Fetch real sold listings from eBay — actual completed sales with final prices. This Actor returns sold items only, not active listings and not completed-but-unsold items.
Built for price analysis, resale tools, market research, and pricing intelligence.
🔎 What This API Provides
This Apify Actor extracts eBay sold listings and returns structured, machine-readable data for each sale:
- Final sold price
- Currency
- Sale end date
- Listing title
- Item URL
- Item ID
✅ Every result represents an item that actually sold ❌ No active listings ❌ No unsold “completed” listings ❌ No estimated or AI-generated prices
⚙️ Input Parameters
Example Input
{"keyword": "iphone 13 pro max","daysToScrape": 30,"count": 100,"ebaySite": "ebay.com"}
Input Fields
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
keyword | string | Yes | - | eBay search keyword (product name, model, SKU) |
daysToScrape | number | No | 30 | Number of days back to scrape sold listings (1-90) |
count | number | No | 100 | Maximum number of sold listings to return (minimum: 1) |
ebaySite | string | No | ebay.com | eBay site to scrape from (see supported sites below) |
Supported eBay Sites
ebay.com(US) - Defaultebay.co.uk(UK)ebay.de(Germany)ebay.fr(France)ebay.it(Italy)ebay.es(Spain)ebay.ca(Canada)ebay.com.au(Australia)
Results are returned in reverse chronological order (most recent sales first) and filtered by the daysToScrape parameter.
📤 Output Schema
Each output record represents one sold eBay listing. The Actor stores results in a dataset that can be accessed via the Apify API or downloaded from the Apify Console.
Example Output Record
{"itemId": "306671421088","url": "https://www.ebay.com/itm/306671421088","title": "Apple iPhone 13 Pro Max - 128GB - Unlocked - Cracked Back","endedAt": "2025-12-22T05:00:00.000Z","soldPrice": "215","soldCurrency": "USD","shippingPrice": "6.20","shippingCurrency": "USD","totalPrice": "221.20","scrapedAt": "2026-01-19T21:53:17.613Z","updatedAt": "2026-01-19T21:53:17.613Z"}
Output Fields
| Field | Type | Description |
|---|---|---|
itemId | string | eBay item ID (unique identifier) |
url | string | Full URL to the eBay listing |
title | string | Listing title (may be null if not available) |
endedAt | string | Date when the listing ended/sold (ISO 8601 format) |
soldPrice | string | Final transaction price (may be null) |
soldCurrency | string | Currency code (e.g., "USD", "CAD") (may be null) |
shippingPrice | string | Shipping cost (may be null if not disclosed) |
shippingCurrency | string | Currency of shipping price (may be null) |
totalPrice | string | Total price (sold + shipping) when both currencies match (may be null) |
scrapedAt | string | Timestamp when the item was scraped (ISO 8601 format) |
updatedAt | string | Timestamp when the record was last updated (ISO 8601 format) |
Field Notes
soldPriceis the final transaction price the buyer paidendedAtis the actual sale completion timestamptotalPriceis calculated only when both sold and shipping prices are available in the same currencytotalPricemay benullwhen shipping is not disclosed separately or currencies don't match- All date fields are in ISO 8601 format (UTC)
- Data reflects real market transactions, not listings or estimates
🚀 How It Works
- Search: The Actor searches eBay sold listings using your keyword
- Filter: Only items sold within the specified
daysToScrapewindow are included - Paginate: Automatically paginates through search results until:
- The
countlimit is reached, OR - All items on a page are older than the date threshold
- The
- Deduplicate: Automatically filters out duplicate items across pages
- Output: Returns structured JSON data for each sold listing
Pagination Behavior
The scraper uses a greedy pagination strategy:
- Continues scraping as long as at least one item on each page is within the date range
- Handles anomalies (e.g., a few old items mixed with recent ones) by continuing to scrape
- Only stops when all items on a page are older than the
daysToScrapethreshold
👥 Who This API Is For
- Developers building pricing APIs or resale tools
- Data analysts and researchers
- Professional resellers and flippers
- SaaS founders validating secondary market prices
📞 Support & Feedback
For issues, questions, or feature requests, contact the Actor author via Apify.