eBay Scraper — Active Listings & Item Details
Pricing
from $3.00 / 1,000 ebay item scrapeds
eBay Scraper — Active Listings & Item Details
Collect public eBay active search listings or individual item details on US and German sites. Sold/completed search is unavailable. Pay-per-event plus platform usage.
Pricing
from $3.00 / 1,000 ebay item scrapeds
Rating
0.0
(0)
Developer
Khadin Akbar
Maintained by CommunityActor stats
3
Bookmarked
348
Total users
35
Monthly active users
14 days
Issues response
2 days ago
Last modified
Categories
Share
eBay Scraper — Active Listings & Item Details
Collect public eBay active search listings or details from individual item URLs in a structured Apify dataset. Keyword search and direct /itm/ item URLs are available for ebay.com (US) and ebay.de (Germany). Sold/completed search and sold-date filters are unavailable in this release.
This is an independent Actor. eBay is a trademark of eBay Inc. This independent Actor is not affiliated with, associated with, or endorsed by eBay.
Best fit
- Find current offers for a focused keyword in the US or German marketplace.
- Collect item price, title, seller information, item specifics and source URL from a known public item link.
- Export saved rows as JSON or CSV for your own inventory or sourcing workflow.
Each saved row has a source itemUrl and scrapedAt timestamp. A search result is a current listing snapshot; it is not a completed sale or a historical price comparison. A direct item page can expose a quantity-sold label, but that does not turn the Actor into sold-search coverage.
Example workflow
Maya sources used film cameras. She searches current US listings for Canon AE-1 film camera with maxResults: 2, checks the two saved prices and source links, then uses an individual item URL for closer inspection. She keeps the item URL and scrape time beside each price because offers can change after the run. This workflow helps compare current offers; completed-sale pricing requires a separate authorized source.
Input
Provide a searchQuery or startUrls. When startUrls is present, searchQuery and search filters are ignored.
| Field | Use |
|---|---|
searchQuery | Active keyword search on ebay.com or ebay.de. |
marketplace | US or German site for searchQuery; default ebay.com. |
startUrls | Individual HTTPS /itm/ URLs or active /sch/ search URLs on the US or German site. |
maxResults | Maximum saved rows; default 50, hard cap 10,000. Start small to limit charges. |
condition, minPrice, maxPrice, sortBy | Search filters for a keyword query. |
detailedItems | Visit each search result's item page for richer fields. If detail access fails, a useful search card can be saved at the lower result price with a warning and PARTIAL outcome. Direct item URLs are always collected as detailed results. |
proxyConfiguration | Optional proxy choice. Source blocks can occur with any route. |
A small active-search example:
{"searchQuery": "Canon AE-1 film camera","marketplace": "ebay.com","maxResults": 2,"detailedItems": false}
For a known item, use {"startUrls":[{"url":"https://www.ebay.de/itm/ITEM_ID"}],"maxResults":1} and replace ITEM_ID with a real eBay item ID. Sold or completed search URLs, mode: "sold", mode: "both", maxDaysBack, soldFrom and soldTo are rejected as invalid input before a source request. Category and storefront URLs are outside this release's input scope.
Output dataset and outcome
Each useful item can include itemId, title, price, priceText, currency, condition, listingType, shippingCost, sellerName, sellerFeedbackPercent, soldQuantity, imageUrl, itemUrl, marketplace, mode and scrapedAt. Detailed item pages may add categoryName, itemSpecifics, description and imageUrls. Optional fields can be null when the page does not show them. soldDate is retained as an optional compatibility field but this release does not collect sold-search history.
This excerpt is from a saved US active-search row observed on October 25, 2026; the listed offer and price can change:
{"itemId": "174871946683","title": "Canon AE-1 35mm SLR Film Camera with Canon 50mm f/1.8 FD Lens - WORKING PERFECT!","price": 289.99,"currency": "USD","itemUrl": "https://www.ebay.com/itm/174871946683","marketplace": "ebay.com","mode": "active"}
OUTPUT and RUN_SUMMARY identify the run outcome and saved row count:
COMPLETE: useful requested work finished.PARTIAL: useful rows were saved, but some required items or detail pages failed.VALID_EMPTY: a recognized source response established no matching active items.INVALID_INPUT: the request was missing or outside the supported input scope.UPSTREAM_FAILEDorCONFIG_ERROR: no useful row could be saved because required access or configuration failed.
A blank page, access challenge or unrecognized layout is not treated as proof of zero listings. It fails or reports partial work honestly. Known item URLs first use a managed page request, then browser access if needed. If both paths fail, a remaining item may receive one rendered recovery request with automatic location selection. All managed requests share a cap of three per run and a 45-second timeout per request. Remaining requested items are reported as incomplete or failed; these routes do not guarantee access.
Pricing
The Actor uses Pay per event plus Apify platform usage. Platform usage is paid by the caller under the current configuration. The live Pricing tab is the source of truth for current prices and tiers; review it and the final run charge record before a large job.
| Event | Configured price |
|---|---|
actor-start | $0.00005 per charged start event |
result | $0.003 per saved search-card item |
detailed-result | $0.005 per saved detailed item |
A row is charged as a result or detailed-result only after it is saved. A direct item URL uses the detailed event. Startup charges and platform usage can remain on empty, invalid or failed runs; inspect the run's charge record for the actual total. A larger result cap can increase item-event charges and platform usage. Provider access failures can still consume platform usage without producing a row.
If the run's maximum charge cannot cover another item event, that item is not saved or billed. The outcome reports the completed portion or a configuration failure, and RUN_SUMMARY.counts.chargeLimitHit records the limit.
Apify API example
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('khadinakbar/ebay-all-in-one-scraper').call({searchQuery: 'Canon AE-1 film camera',marketplace: 'ebay.com',maxResults: 2,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
AI agent and MCP use
This Actor can be invoked as khadinakbar/ebay-all-in-one-scraper through Apify's Actor API or MCP tool surface. A useful agent prompt is:
Search current eBay US offers for Canon AE-1 film camera, return at most two saved rows with price, currency, seller and source URL, and state the run's
OUTPUT.outcome.
Read the dataset only after the run ends, check RUN_SUMMARY.counts.itemsPushed, and retain itemUrl and scrapedAt as provenance. Do not infer sales history from active rows.
Builder's note
In my testing, the browser route sometimes received eBay access blocks while a bounded residential fallback returned active cards. I found that a page with zero parsed cards can be an access challenge, so the Actor records a failed or partial outcome when required access fails and saves no invented rows. The German search-card parser also strips eBay's link accessibility hint from listing titles.
Focused standalone workflow
Designed as a focused standalone workflow for current-offer snapshots and known item links. For completed-sale research, use a source that explicitly supports sold data and permits your intended reuse; verify that source's rights and coverage before relying on its prices.
Source coverage and responsible use
eBay pages may block automated access, change layout or omit optional seller and item fields. Search pagination continues while useful source pages are accessible and until maxResults is reached. Check the final dataset, OUTPUT, RUN_SUMMARY and charges before using the results. If a run fails, share its run link in this Actor's Issues tab without posting credentials or private inputs.
Use this Actor in ways that respect eBay's terms, site policies and applicable privacy and data-protection law. Keep queries focused and retain only the data needed for the task.