eBay Sold Listings Scraper with Validated Data avatar

eBay Sold Listings Scraper with Validated Data

Pricing

from $2.00 / 1,000 validated sold listings

Go to Apify Store
eBay Sold Listings Scraper with Validated Data

eBay Sold Listings Scraper with Validated Data

Collect eBay sold listings with displayed prices, sold dates, local filters, exact result caps, deduplication, and source provenance. Caffein fallback uses your Apify account and adds upstream fees. US tested; UK beta.

Pricing

from $2.00 / 1,000 validated sold listings

Rating

0.0

(0)

Developer

Anas Nadeem

Anas Nadeem

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

Collect eBay sold listings with displayed prices, sold dates, shipping, seller details and source provenance. Use the records for resale research, comparable listing analysis and pricing workflows. The Actor validates identities and dates, reapplies supported filters, removes duplicates and enforces your result limits.

Source and cost disclosure: hybrid mode tries native public retrieval, then calls Caffein's eBay Sold Listings Actor through your Apify account when needed. API mode calls that provider directly. Its fees are additional to this Actor's pricing and have a separate upstreamBudgetUsd limit. Native sold search currently encounters access blocks; successful tested results use the provider. These are provider-reported listing observations, not independently verified transactions.

Enter a keyword, select a marketplace and set your result limit. Run the Actor, then export its dataset as JSON, CSV, Excel or another format supported by Apify. You can also call the Actor through Apify's API or schedule repeat searches.

{
"keywords": ["nintendo switch oled"],
"ebaySites": ["ebay.com"],
"daysToScrape": 30,
"maxResultsPerKeyword": 5,
"maxResults": 5,
"retrievalMode": "hybrid",
"upstreamBudgetUsd": 0.05,
"maxConcurrency": 1
}

ebay.com has passed small live retrieval checks. UK (ebay.co.uk) is beta. Result limits are maximums; source availability, filters and budgets can produce fewer rows. Defaults are 20 matches per keyword/site, 100 unique rows across the run, 30 calendar days and a $1 separate upstream event budget.

What you get

FieldMeaning
itemId, url, title, marketplaceCanonical listing identity and title
displayedPrice, currency, priceKindSource-displayed amount as a decimal string and its interpretation
soldDate, soldDatePrecisionDisplayed sold-date label; day precision is preserved
shippingPrice, shippingType, displayedTotalSupplied shipping and item-plus-shipping total when the currency and amount are known
condition, sellerUsername, feedback fieldsSource-supplied condition and seller details, when available
sourceType, sourceProvider, sourceRunId, soldEvidenceWhere the observation came from and its sold assertion
qualityFlagsUnknown offers, fees, timezone or missing fields

actualSalePrice is always null: a displayed amount does not reveal a hidden accepted offer or verify payment. soldAt stays null for day-level dates. Unknown shipping remains unknown; explicit free shipping is represented as zero. A total does not imply that taxes or buyer fees are included.

This preview is a subset of a real US output row:

{
"itemId": "820190412353",
"url": "https://www.ebay.com/itm/820190412353",
"title": "Nintendo Switch OLED 64 GB White + Case, Dock, Joycons, and Original Cables",
"marketplace": "ebay.com",
"displayedPrice": "170",
"currency": "USD",
"actualSalePrice": null,
"bestOfferAccepted": null,
"soldDate": "2026-10-01",
"soldAt": null,
"sourceType": "upstream_actor",
"sourceProvider": "caffein.dev/ebay-sold-listings",
"sourceRunId": "kqLvZHG0kqto6K0Ig"
}

Pricing

This Actor charges $2 per 1,000 unique eligible observations saved, or $0.002 per observation. Overlapping query matches and summary records do not incur another listing event. The automatic startup event is $0.00005 per allocated GB, with a minimum of one event. This Actor's runtime platform usage is included in its event pricing; post-run storage access follows Apify's normal billing rules.

Caffein charges separately for fetched rows and child-run startup. Its published per-1,000 rates checked on October 2, 2026 were $4 for FREE, $3.50 for BRONZE, $3 for SILVER and $2.50 for GOLD and higher. Check its current Pricing tab before running. A one-to-one fallback on the FREE tier therefore costs about $6 per 1,000 rows across both Actors, plus startup events. Locally excluded or duplicate source rows can make the total higher.

There are two spending controls:

  • Max cost per run in Apify limits this Actor's event charges.
  • upstreamBudgetUsd limits aggregate requested Caffein event charges across child runs. It is separate from the parent limit and is conservatively reserved before a child starts.

Retrieval stops when the remaining parent budget cannot cover another listing. Provider requests are also bounded by remaining billable output capacity. A startup fee can apply to a failed or empty run. Listing events apply to eligible unique observations; interrupted writes or charges are reported as unresolved rather than blindly retried. The minimum selectable parent charge limit is $0.01; it is a cap setting, not a minimum invoice charge.

Filters and retrieval modes

Use daysToScrape for 1–90 displayed calendar days, or supply inclusive dateFrom / dateTo bounds. Dates are compared against the UTC date at run start; no exact transaction timezone is inferred. Price, condition and buying-format filters are checked against the fields supplied by the source. Search matches can include accessories, bundles or parts.

The API fallback currently supports category 0 and item location default. Other category/location settings require verified native controls and stop before a paid fallback call. Provider price ranges are excluded by the temporary adapter. includeBestOffers: false excludes detected accepted offers but cannot identify undisclosed offers.

ModeBehavior
hybrid (default)Attempt native public retrieval, then use the disclosed provider if access or source checks fail
apiUse Caffein directly, avoiding the native attempt
nativeUse only native retrieval; sold searches currently encounter blocks

API retrieval can run up to two searches together. Paid hybrid searches may run sequentially to avoid buying rows beyond the remaining output budget. Proxy settings apply only to the native attempt. Child runs and cached rows are reused after an interrupted retrieval; ambiguous paid starts stop further provider calls.

Check coverage

The default dataset contains listing observations. Additional artifacts are available in the run's key-value store:

  • RUN_SUMMARY: saved rows, confirmed charges, exclusions, coverage and run status.
  • QUERY_RESULTS: per-query matches, overlapping results and stop reasons.
  • UPSTREAM_DIAGNOSTICS: provider runs, requested/fetched/rejected rows and spending reservations.
  • COMPS_SUMMARY: optional conservative cohorts. Statistics can be null when offer or fee context is unknown.

complete means the requested processing scope finished. It does not establish exhaustive eBay history. partial and budget_limited preserve usable rows and explain the stopping condition. no_results requires observed empty sold-search evidence; an empty or invalid provider response is a retrieval failure, not proof that nothing sold.

FAQ

Is this an official eBay API? No. This is an Apify workflow with native retrieval and a disclosed external Actor dependency.

Does validated mean the sale was independently verified? It means the observation passed contract, identity, date and applicable filter checks. Payment, fulfillment and hidden offer values are not verified.

Why use this alongside the provider? It adds conservative normalization, global deduplication, output limits, local checks, durable recovery and explicit provenance around provider results. The provider remains separately maintained and separately billed.

Can I scrape all completed listings? This Actor returns supported sold observations. It does not claim to return every ended unsold listing or all transactions.

How do I get support? Open an issue on this Actor's Apify Store page with the run ID, relevant input and expected behavior. Avoid including API tokens or proxy credentials.

For developers: the full observation contract is in specs/listing.schema.json. Requires Node.js 22.18+; run npm ci, npm run check and npm run validate:schemas for local verification. Implementation evidence and remaining qualification limits are recorded in IMPLEMENTATION_STATUS.md.