eBay SOLD Scraper – Listings, Prices & Sellers
Pricing
from $3.00 / 1,000 listing item (keyword search)s
eBay SOLD Scraper – Listings, Prices & Sellers
Extract active eBay listings and verified SOLD transactions with prices, photos, item IDs and seller data. Analyze seller reputation, stores, inventory and public reviews across 10 marketplaces. Export clean JSON, CSV or Excel for product research, sourcing and competitor monitoring.
Pricing
from $3.00 / 1,000 listing item (keyword search)s
Rating
0.0
(0)
Developer
Kelopr_bk
Maintained by CommunityActor stats
1
Bookmarked
46
Total users
18
Monthly active users
4 days ago
Last modified
Categories
Share
eBay SOLD Listings & Seller Intelligence — All-in-One
Turn eBay searches, seller profiles, stores, and item links into decision-ready market data.
Active listings · Verified SOLD signals · Price intelligence · Product photos · Seller reputation · Public reviews · 10 eBay marketplaces
Use one Actor to discover products, validate demand, compare prices, research competitors, qualify sellers, and export clean datasets for analysis or automation.
What can you do with this Actor?
| Workflow | What you get | |
|---|---|---|
| 🔎 | Discover products | Active listings matched to your keywords, filters, and marketplace |
| ✅ | Research SOLD demand | Recent transactions backed by eBay's public Verified purchase signal |
| 💰 | Compare prices | Structured price, currency, price context, and optional item-level price evidence |
| 🖼️ | Build product datasets | Listing IDs, titles, product links, primary photos, and optional image galleries |
| 🏆 | Analyze competitors | Seller reputation, store signals, active inventory, badges, and business indicators |
| ⭐ | Study customer feedback | Public seller reviews with rating, review text, item, buyer, and date context |
| 📊 | Power your workflows | JSON, CSV, Excel, XML, HTML, API access, schedules, and integrations |
Two powerful workflows
| Mode | Start with | Best for |
|---|---|---|
KEYWORD_SEARCH | Product keywords | Active inventory, SOLD research, pricing, sourcing, and product discovery |
SELLER_INTELLIGENCE | Seller usernames, profile URLs, store URLs, item URLs, or a dataset | Competitor tracking, seller qualification, reputation analysis, and lead research |
In keyword mode, choose ACTIVE for currently available inventory or SOLD for recent feedback-confirmed transactions.
Get started in less than a minute
- Open the Input tab.
- Choose a workflow.
- Add keywords or seller inputs.
- Select the marketplace and result limit.
- Click Start and open the ready-made output views.
Find active eBay listings
{"mode": "KEYWORD_SEARCH","keywords": ["mechanical keyboard","wireless gaming mouse"],"listingType": "ACTIVE","ebaySite": "EBAY_US","count": 50,"includeProductPhotos": true,"detailedSearch": false}
Collect verified SOLD signals
{"mode": "KEYWORD_SEARCH","keywords": ["iphone"],"listingType": "SOLD","ebaySite": "EBAY_US","count": 50,"includeProductPhotos": true,"detailedSearch": false}
Analyze sellers and reviews
{"mode": "SELLER_INTELLIGENCE","profileUrls": [{"url": "https://www.ebay.co.uk/usr/musicmagpie"}],"ebaySite": "EBAY_UK","includeActiveListings": true,"includeRecentFeedback": true,"saveReviewRows": true,"maxReviewRowsPerSeller": 10,"sampleListings": 5}
What data will you receive?
The Actor creates flat, analysis-ready records. Fields that are not available for a particular listing or seller remain empty instead of being guessed.
Listing and pricing data
| Field group | Available fields |
|---|---|
| Identity | listingId, title, subtitle, itemUrl, keyword, listingType |
| Price | priceAmount, priceText, currency, priceSource, priceContext, priceSourceUrl |
| Price comparison | searchPriceAmount, searchPriceText, searchCurrency, itemPagePriceAmount, itemPagePriceText, itemPageCurrency, priceDiffersFromSearch |
| Media | imageUrl, imageUrls, imageCount |
| Product signals | productRating, productReviewCount, detailStatus |
| Seller | seller, profileUrl when available |
| Collection context | ebaySite, scrapedAt |
Verified SOLD data
| Field | Meaning |
|---|---|
verifiedPurchase | Confirms that the result carries eBay's public purchase-confirmation signal |
soldEvidence | Type of evidence attached to the transaction |
soldEvidenceId | Unique evidence identifier used to distinguish transactions |
soldEvidenceUrl | Link to the public evidence context |
soldDateText | Date wording published by the source |
soldDatePrecision | Explains whether the date is exact or a broader source bucket |
soldCoverageWindowDays | Effective recent-transaction window |
sourceCoverage | Makes the scope of SOLD coverage explicit |
Seller intelligence
| Category | Available fields |
|---|---|
| Reputation | feedbackScore, positiveFeedbackPercent, isTopRated |
| Business signals | hasStore, isBusinessSeller, tier, memberSinceCountry when available |
| Inventory | activeListingsCount and an optional listing sample |
| Estimated activity | averageSoldPrice, monthlyGmvEstimate, annualGmvEstimate, and repeatBuyerRatio when enough public feedback data is available |
| Links | profileUrl, store and listing links when available |
Estimated fields are clearly labelled as estimates. They are designed for comparison and prioritization, not as audited financial statements.
Public review rows
Save feedback as separate records for easy sentiment analysis and filtering:
feedbackId, username, rating, reviewText, itemId, itemTitle, priceText, buyer, buyerScore, verifiedPurchase, dateBucket, itemUrl, profileUrl, scrapedAt.
Real SOLD output example
This shortened example comes from a live 50-result check on the US marketplace:
{"recordType": "listing","mode": "KEYWORD_SEARCH","keyword": "iphone","ebaySite": "EBAY_US","listingType": "SOLD","listingId": "137406570742","title": "New Sealed Apple iPhone 12 Mini 5G Factory Unlocked 256GB/128GB/64GB ALL Carrier","priceText": "US $312.88","priceAmount": 312.88,"currency": "USD","priceSource": "verified_purchase_feedback","seller": "rainbow-2828","verifiedPurchase": true,"soldDateText": "Past month","soldDatePrecision": "source_bucket","soldCoverageWindowDays": 30,"soldEvidence": "verified_purchase_feedback","soldEvidenceId": "2833026913011","sourceCoverage": "feedback_confirmed_sample","itemUrl": "https://www.ebay.com/itm/137406570742"}
Understand SOLD coverage
SOLD is intentionally evidence-first. A result is saved only when it has a public Verified purchase signal, an item ID, a seller, and an observed transaction price.
The available source publishes recent feedback within a one-month bucket rather than a complete signed-in SOLD index or an exact sale timestamp. For that reason:
- SOLD output is a confirmed recent sample, not a claim of every sale on eBay;
soldDateTextpreserves the published wording;soldDatePrecisiontells you when the date is a source bucket;- multiple unique purchases can reference the same
listingId; soldEvidenceIddistinguishes those transactions;- a zero-result sample does not prove zero marketplace sales.
This design keeps every SOLD row useful, traceable, and honest.
Search controls
| Input | What it controls |
|---|---|
keywords | One literal search phrase per array entry |
count | Maximum successfully saved records per keyword |
ebaySite | Marketplace and its native display currency |
category | Optional eBay category ID |
minPrice, maxPrice | Price range in the selected marketplace currency |
condition | New, used, refurbished, parts, or any condition |
itemLocation | Marketplace default, local country, or worldwide |
sortOrder | Best match, newest, ending soonest, or price order |
includeProductPhotos | Adds the primary product photo |
detailedSearch | Adds item-level details, gallery images, ratings, and extra price context when available |
includeSellerReviewsFromSearch | Adds public seller-review records for sellers discovered in keyword results |
maxPagesPerSearch | Safety limit for each keyword search |
Filtered candidates, duplicate evidence records, and failed writes do not consume count. Repeated active listings across keywords are saved once. The run summary explains why each keyword stopped.
Seller controls
| Input | What it controls |
|---|---|
profileUrls | Seller, feedback, store, seller-search, or item URLs |
usernames | Raw eBay seller usernames |
datasetId | Reuse seller-like fields from an existing Apify dataset |
includeActiveListings | Adds inventory count and sample listings |
includeRecentFeedback | Adds recent feedback observations |
saveReviewRows | Saves each selected review as its own dataset row |
maxReviewRowsPerSeller | Maximum separate review rows for each seller |
sampleListings | Number of sample listings stored with seller intelligence |
minFeedbackScore | Keeps sellers above a lifetime feedback threshold |
minPositivePercent | Keeps sellers above a positive-feedback threshold |
countries | Seller-country allow-list |
mustBeTopRated | Keeps only Top Rated sellers |
mustHaveStore | Keeps only sellers with an eBay Store |
mustBeBusinessSeller | Keeps only registered business sellers |
minActiveListings | Minimum active inventory threshold |
minMonthlyGmvEstimate | Minimum estimated monthly GMV threshold |
tiers | Allowed seller tiers: MEGA, ENTERPRISE, POWER_SELLER, GROWING, SIDE_HUSTLE, or SOLO |
Supported marketplaces
| Marketplace | Input value | Typical currency |
|---|---|---|
| United States | EBAY_US | USD |
| United Kingdom | EBAY_UK | GBP |
| Germany | EBAY_DE | EUR |
| France | EBAY_FR | EUR |
| Italy | EBAY_IT | EUR |
| Spain | EBAY_ES | EUR |
| Canada | EBAY_CA | CAD |
| Australia | EBAY_AU | AUD |
| Ireland | EBAY_IE | EUR |
| Netherlands | EBAY_NL | EUR |
Values are preserved in the marketplace's displayed language and currency. Availability and optional fields can vary by listing, seller, and marketplace. Recent checks found intermittent access restrictions for Canadian public search; affected runs report the source status without creating paid product rows.
Ready-made output views
Every run gives you focused views instead of one overwhelming table:
| Output view | Designed for |
|---|---|
| Listings | Product discovery and active inventory |
| Verified sold | Recent transaction evidence and SOLD pricing |
| Pricing research | Price comparison and source context |
| Photos | Product-image workflows |
| Seller intelligence | Competitor and seller analysis |
| Reviews | Feedback analysis and sentiment workflows |
| Run summary | Saved counts, warnings, source coverage, and stop reasons |
Download results as JSON, JSONL, CSV, Excel, XML, RSS, or HTML Table. You can also access the dataset through the Apify API.
Run summary and data quality
The default dataset contains successful listing, seller, and review records. Operational information is kept separately in OUTPUT and DIAGNOSTICS, so a warning is never disguised as a product.
The run summary includes:
- exact saved counts by record type;
- one diagnostic block per keyword or seller input;
- discovered, examined, filtered, duplicate, selected, and saved counts;
- source availability and continuation state;
- write failures and partial-field statuses;
- result, page, time, and maximum-charge stop reasons;
- total run duration.
A platform run can finish successfully after handling an empty or unavailable source. Check OUTPUT.status to distinguish completed, partial, no_results, source_error, invalid_input, budget_limit, and time_limit.
Performance
The standard SOLD workflow is optimized for practical batch collection and streams completed records into the dataset as they are confirmed.
Latest production check: 50 complete, source-backed SOLD records on EBAY_US with 512 MB memory in 54.9 seconds total platform time. The Actor itself completed collection and output finalization in 43.4 seconds. Live speed varies with query breadth, marketplace availability, optional enrichments, and upstream response time.
Pricing and budget control
This Actor uses pay-per-event pricing. Result charges are created only after a successful dataset write. Diagnostics, filtered candidates, duplicates, unavailable sources, and failed writes are not billed as product results.
Optional seller and enrichment events are priced separately in the Pricing tab. Use Maximum charge per run to set a hard budget ceiling. When the remaining allowance cannot cover another result, the Actor stops cleanly and preserves records already saved.
For a low-cost first run:
- Start with
count: 10. - Keep
detailedSearch: false. - Enable only the photos, reviews, or seller enrichments you need.
- Inspect the output fields, then scale the next run.
Integrations and automation
Connect the Actor to Google Sheets, Google Drive, Make, Zapier, Slack, Airbyte, GitHub, webhooks, or your own application. Create Apify tasks and schedules for recurring price checks, competitor tracking, catalog monitoring, and seller research.
Typical automations include:
- send new listings to a spreadsheet;
- track price changes by keyword;
- refresh competitor inventory daily;
- route qualified sellers into a CRM;
- analyze review text in an AI workflow;
- notify a team when a scheduled dataset is ready.
Frequently asked questions
Does SOLD mode require an eBay account or exported session data?
No. Provide keywords, choose SOLD, and start the run.
Does SOLD output contain every completed eBay listing?
No. It contains a recent, feedback-confirmed sample with explicit evidence and coverage fields. It does not claim access to eBay's complete signed-in SOLD index.
Why can the same listingId appear more than once?
One listing can produce multiple independently confirmed purchases. Each saved transaction has its own soldEvidenceId, so repeated listing IDs are not automatically duplicate transactions.
Is the exact sale timestamp available?
Not always. When the source provides a broader date bucket, the Actor preserves it in soldDateText and marks the precision in soldDatePrecision instead of inventing a timestamp.
What happens when a field is unavailable?
It stays empty or receives a specific availability status. The Actor does not fabricate missing prices, dates, ratings, contacts, or seller metrics.
Can I search multiple products in one run?
Yes. Add one phrase per keywords entry. Each phrase has its own count allowance and summary. A single entry containing commas remains one literal query.
Can I use seller, store, and item URLs?
Yes. Seller intelligence accepts /usr/ profiles, feedback pages, store URLs, seller-search URLs, direct item URLs, raw usernames, and supported dataset inputs.
Can I schedule recurring runs?
Yes. Save the input as an Apify task and attach a schedule, webhook, or integration.
How do I call the Actor from code?
Open the API tab on the Actor page for ready-to-copy Python, JavaScript, CLI, HTTP, OpenAPI, and MCP examples.
Responsible use
Use marketplace data responsibly and comply with applicable laws, privacy requirements, and eBay's terms. Avoid collecting or using personal data in ways that could harm individuals.
Support
If a source changes, a field becomes unavailable, or a workflow returns unexpected data, open an issue with:
- the run ID;
- marketplace and mode;
- a sanitized input example;
- expected and actual output;
- one affected item or seller URL when available.
That gives enough context to reproduce the problem quickly and improve the Actor.