eBay Business Leads Scraper
Pricing
from $3.50 / 1,000 business seller saveds
eBay Business Leads Scraper
Find registered business sellers on eBay by keyword, category or seller and export the legal details eBay displays: company, address, email, phone, VAT ID and register number. 12 marketplaces, incl. ebay.com.
Pricing
from $3.50 / 1,000 business seller saveds
Rating
0.0
(0)
Developer
Epic Scrapers
Maintained by CommunityActor stats
0
Bookmarked
7
Total users
3
Monthly active users
11 hours ago
Last modified
Categories
Share
eBay Business Leads Scraper: company, address, email, phone and VAT ID of eBay business sellers
eBay Business Leads Scraper finds registered business sellers on eBay and exports the legal seller information that eBay displays on their listings: company name, legal form, business address, email, phone, VAT ID and company register number. Search by keyword, category, eBay search URL or seller name on 12 eBay marketplaces. Use it for B2B lead generation, supplier and distributor research, competitor analysis, or brand and marketplace compliance checks.
- Only business sellers. Every seller is checked on an item page, and only sellers eBay shows as "Registered as a business seller" are saved. Private sellers are skipped and never charged.
- The details eBay shows, structured. The address is split into street, postal code, city, region and country code. VAT IDs are normalized (
DE 814035667becomesDE814035667), and the legal form is read from the company name. - One row per seller. A seller found in many listings or searches is saved once per marketplace.
- 12 eBay marketplaces, ebay.com included. EU and UK law requires eBay to show business seller details. ebay.com, ebay.ca and ebay.com.au hide them, so the Actor reads each seller's details from eBay's German site, which shows them for every business seller, US companies included.
- Filters that save money. Keep only sellers with an email or a phone number, from certain countries, or above a feedback score. Filtered sellers aren't saved or charged.
- A run summary you can check. The
RUN_SUMMARYrecord counts listings scanned, sellers checked, private sellers skipped, sellers filtered out and why, and missing fields.
What can you do with eBay Business Leads Scraper?
| Goal | How |
|---|---|
| Build a B2B lead list in a niche | Search a product keyword or category, set Only sellers with an email address, export to CSV. |
| Find distributors of a brand | Search the brand name on several marketplaces and group the rows by companyName and countryCode. |
| Check who is behind a seller | Add usernames, profile URLs or store URLs to Sellers to get their company, address and register number. |
| Research competitors abroad | Run one keyword on ebay.de, ebay.fr and ebay.it and compare companies, feedback and store categories. |
| Check marketplace compliance | Find business sellers in a category that publish no VAT ID or company register number. |
Quick start
- Click Try for free and sign in to Apify.
- Pick one or more marketplaces and type a keyword into Keywords, such as
druckerpatronenon ebay.de. - For a first run, set Maximum business sellers to
20. - Click Start. When the run finishes, open the Output tab and export the data.
{"marketplaces": ["ebay.de"],"queries": ["druckerpatronen"],"maxSellers": 20}
What data can you extract?
Every row is one registered business seller on one marketplace. A seller is saved once per run; across runs, deduplicate on marketplace + username.
| Group | Fields |
|---|---|
| Company | companyName, legalForm, representatives, vatId, vatIds, tradeRegisterNumber, tradeRegisterLabel, registerCourt, additionalLegalInfo |
| Address | street, postalCode, city, region, country, countryCode, addressFull |
| Contact | email, phone, fax |
| eBay seller | username, profileUrl, storeName, storeUrl, businessSellerLabel, isBusinessSeller, marketplace |
| Seller activity | feedbackScore, positiveFeedbackPercent, activeListings, memberSince, responseTime, topCategories |
| Store page | itemsSold, followers, sellerLocation (only with Add eBay Store page details) |
| Source | foundBy, foundByValue, sampleListingId, sampleListingUrl, scrapedAt |
The run also saves a RUN_SUMMARY record to the key-value store: listingsScanned, sellersFound, sellersChecked, businessSellers, privateSellersSkipped, businessSellersSaved, filteredOut (noBusinessInfo, country, minFeedbackScore, requireEmail, requirePhone), savedMissing (how many saved rows have no company name, address, email, phone, VAT ID or register number), errors, one entry per search in sources, and stopReason (maxSellersReached, allSourcesExhausted, tooFewMatches, finishedWithErrors, chargeLimitReached, blocked, aborted or invalidInput, when the input leaves nothing to search; the log then says which value to fix). A search stops early when few of its sellers match your filters: after about 40 sellers without a match, or later when fewer than about 1 in 8 checked sellers match (stoppedLowYield in sources). The run stops on the same rule across all searches (tooFewMatches, after about 100 sellers without a match). The log then explains which filter dropped most sellers and what to change. Use broader keywords or looser filters to get more matches.
What to expect
These numbers come from test runs in October 2026. Your results depend on the keyword and filters.
| EU and UK sites (ebay.de, ebay.co.uk, ...) | ebay.com, ebay.ca, ebay.com.au | |
|---|---|---|
| Sellers checked per saved row | About 1.1 (search cards already mark private sellers) | About 1.6 (about a third of the sellers checked are private) |
| Rows with company, address and phone | Nearly all | Nearly all |
| Rows with an email | About 9 in 10 | About 9 in 10 |
| Rows with a VAT ID | About 2 in 3 | Rare: US sellers have no VAT ID, only UK/EU sellers show one |
| Rows with a register number | UK: often (CRN). DE/EU: about 1 in 5 | Rare |
| Where the sellers are based | About half in the site's country, the rest mainly UK and Chinese sellers | ebay.com: about 6 in 10 in the US, the rest mainly CN, IL, JP, UK. ebay.com.au: mostly UK and Chinese sellers. Use countries to keep one country |
| Speed | 50 to 100 saved sellers in under a minute | 50 saved sellers in about 30 seconds |
What limits a run:
- Distinct sellers per search. Big sellers fill many listings, so 1,000 listings (
maxListingsToScan) usually hold 100 to 300 distinct sellers. For thousands of leads, run many keywords or categories in one run instead of raisingmaxSellerson one keyword. - Active listings. eBay shows the legal block only on active listings, so sellers without one can't be looked up.
- What sellers publish. Values are what each seller entered. Some leave out the email or phone;
savedMissinginRUN_SUMMARYcounts the gaps, andrequireEmail/requirePhonekeep only complete rows.
How it works
- The Actor searches eBay with your keywords, categories or search URLs. On EU and UK sites it adds eBay's "business sellers" filter.
- Every new seller in the results is checked once, on one of their active listings. The item page shows whether the seller is registered as a business, and for business sellers it shows their legal information. On ebay.com, ebay.ca and ebay.com.au the item page is opened on ebay.de (with English labels), because only there eBay shows the legal block.
- Rows that pass your filters are saved until Maximum business sellers is reached.
eBay shows business details only on active listings, so a seller with no active listings can't be looked up.
Input reference
| Field | Type | Default | Effect |
|---|---|---|---|
marketplaces | Array | ["ebay.com"] | Marketplaces for keyword and category searches. Plain usernames in sellers use the first one. |
queries | Array of strings | Empty | Keywords. Each runs on every selected marketplace. |
categoryIds | Array of strings | Empty | eBay category IDs (the number after _sacat=), searched without a keyword on every selected marketplace. |
startUrls | Array | Empty | eBay search URLs (/sch/i.html?...) or category pages (/b/.../bn_...). The URL's marketplace and filters are used. |
sellers | Array of strings | Empty | Usernames, profile URLs (/usr/name), store URLs (/str/name) or search URLs with _ssn=name. Looked up before the searches. |
searchBusinessSellersOnly | Boolean | true | Adds eBay's business seller filter (LH_SellerType=2) to searches on EU and UK sites. Not added on ebay.com, ebay.ca and ebay.com.au, where it hides most US sellers. |
maxSellers | Integer | 100 | Stop after saving this many business sellers in total. |
maxListingsToScan | Integer | 1000 | Search results to read per keyword, category or URL. |
countries | Array of strings | Empty | Keep only businesses whose address is in these countries (ISO codes such as DE, GB; English names such as Germany also work). The search then looks only at items located in each country, one search per country. |
minFeedbackScore | Integer | 0 | Skip sellers with a lower feedback score. |
requireEmail | Boolean | false | Save only sellers with an email address. |
requirePhone | Boolean | false | Save only sellers with a phone number. |
skipSellersWithoutBusinessInfo | Boolean | true | Skip business sellers that show no company name, address, email, phone, VAT ID or register number. |
includeStoreDetails | Boolean | false | Also open the seller's eBay Store page for itemsSold, followers, sellerLocation and business details printed only there. One extra request per store. |
includePrivateSellerCount | Boolean | true | Show the number of skipped private sellers in RUN_SUMMARY and the status message. |
You need at least one keyword, category, URL or seller.
Supported marketplaces
ebay.de, ebay.co.uk, ebay.fr, ebay.it, ebay.es, ebay.nl, ebay.at, ebay.ie and ebay.pl show the full legal details. On ebay.com, ebay.ca and ebay.com.au eBay shows only the business seller flag and the VAT ID, so the Actor opens each seller's listing on ebay.de (with English labels), which shows the full legal details for every business seller. Rows still link to the marketplace you searched. URLs may start with www., m. or the bare domain.
Ready-to-run examples
US companies selling printer ink on ebay.com
{"marketplaces": ["ebay.com"],"queries": ["printer ink", "toner cartridges"],"countries": ["US"],"requireEmail": true,"maxSellers": 200}
German ink and toner sellers with an email address
{"marketplaces": ["ebay.de"],"queries": ["druckerpatronen", "toner"],"requireEmail": true,"maxSellers": 200}
UK companies in a category, UK addresses only
{"marketplaces": ["ebay.co.uk"],"categoryIds": ["16191"],"countries": ["GB"],"minFeedbackScore": 100,"maxSellers": 100}
Look up specific sellers
{"sellers": ["https://www.ebay.de/str/druckertankstellezwickau","https://www.ebay.co.uk/usr/inkraider","cartridge-king"],"marketplaces": ["ebay.co.uk"]}
One niche across four EU markets
{"marketplaces": ["ebay.de", "ebay.fr", "ebay.it", "ebay.es"],"queries": ["lego"],"maxListingsToScan": 300,"maxSellers": 300}
Output
Results go to the run's default dataset. Use the views Leads, Legal details or Seller profile, or export everything as JSON, CSV, Excel, XML or HTML.
This is a real row from an ebay.co.uk keyword search on October 3, 2026:
{"marketplace": "ebay.co.uk","username": "inkraider","profileUrl": "https://www.ebay.co.uk/usr/inkraider","storeName": "Inkraider Ink Cartridges","storeUrl": "https://www.ebay.co.uk/str/inkraiderinkcartridges","isBusinessSeller": true,"businessSellerLabel": "Registered as a business seller","companyName": "Corporate Express (UK) Ltd","legalForm": "Ltd","representatives": [],"street": "1 Tableymere Gardens, Cheadle Hulme","postalCode": "SK8 5JU","city": "Cheadle","region": "Greater Manchester","country": "United Kingdom","countryCode": "GB","addressFull": "1 Tableymere Gardens, Cheadle Hulme, Cheadle, Greater Manchester, SK8 5JU, United Kingdom","email": "helpdesk@inkraider.co.uk","phone": null,"fax": null,"vatId": "GB217284020","vatIds": ["GB217284020"],"tradeRegisterNumber": "08521870","tradeRegisterLabel": "CRN","registerCourt": null,"additionalLegalInfo": null,"feedbackScore": 30615,"positiveFeedbackPercent": 99.8,"itemsSold": null,"followers": null,"activeListings": 26000,"memberSince": "2021-09","sellerLocation": null,"responseTime": "Usually responds within 24 hours","topCategories": ["Computers/Tablets & Networking","Business, Office & Industrial","Cameras & Photography","Home, Furniture & DIY"],"foundBy": "query","foundByValue": "printer ink","sampleListingId": "226890852885","sampleListingUrl": "https://www.ebay.co.uk/itm/226890852885","scrapedAt": "2026-10-03T11:33:30.432Z"}
Notes on fields
- Values are what the seller entered in eBay's legal information. The Actor doesn't add data from other sources, and missing values are
null. tradeRegisterNumberis oftennull. UK sellers usually show a company number (CRN). Many German and other EU sellers don't fill the register field, and the Actor reads it fromadditionalLegalInfoonly when it is printed there (for exampleHRB 123456).registerCourtis filled the same way.legalFormis read from the company name only (... GmbH,... Ltd). Sole traders usually have none.representativesholds the contact person eBay shows and names after labels such as "Geschäftsführer:" or "Managing Director:" in the seller's text.vatIdis the first VAT ID;vatIdshas all of them, without spaces.activeListingsis rounded the way eBay shows it ("13K" becomes13000).memberSinceisYYYY-MM.responseTimeandbusinessSellerLabelare in the language of the marketplace you searched.countryCodeis where the business is registered, not the marketplace. Filter withcountries: the run then searches only items located in those countries and keeps sellers whose business address matches. A seller registered in one country who ships all items from another (for example from a Chinese warehouse) is not found by a country search.topCategoriesare the seller's eBay Store categories and are empty for sellers without a store.sampleListingIdis the active listing whose item page provided the legal details.
FAQ
Why are some sellers missing an email or phone number?
The seller decides which contact details to publish. Check savedMissing in RUN_SUMMARY, or turn on Only sellers with an email address or Only sellers with a phone number to save only complete leads.
Why did my run return few or no results?
Check RUN_SUMMARY. privateSellersSkipped and filteredOut show where sellers were dropped. Many listings come from the same seller, so 1,000 listings can mean only 100 or 200 distinct sellers; raise maxListingsToScan or add more keywords. Niche keywords on ebay.com often return mostly private sellers, and strict filters (countries, requireEmail, minFeedbackScore) drop the rest; stopReason: "tooFewMatches" means the run gave up on that.
Does ebay.com work as well as the EU sites?
Since October 2026, yes for the contact details: company, address, phone and usually email. Two differences: US sellers have no VAT ID or register number, and ebay.com results include many sellers from other countries, so add "countries": ["US"] for US-only leads.
Why did my run fail?
The run fails on purpose when eBay keeps refusing requests and nothing could be saved, so you aren't charged for an empty result. The status message and RUN_SUMMARY (stopReason: "blocked") give the reason. Try again later.
Do I need proxies, an eBay account or an API key?
No. The Actor uses Apify Residential Proxy automatically and needs no eBay account. Proxy traffic and platform usage are included in the price per seller.
Is it legal to collect this data?
eBay publishes this information because consumer protection law requires business sellers to identify themselves. It can still contain personal data, such as a sole trader's name, address or phone number. You are responsible for having a lawful basis to process it (for example under GDPR), for respecting eBay's terms, and for following the rules on direct marketing in your country, such as consent requirements for marketing emails.
Cost
This Actor uses pay-per-event pricing. You pay for each business seller saved to the dataset (business-seller event): $5 per 1,000 sellers on the free plan, down to $3.50 on Gold and above. Platform usage and proxy are included. Private sellers, filtered sellers, duplicates and the RUN_SUMMARY record aren't charged. Apify also charges its standard "Actor start" event (a fraction of a cent). Set a maximum cost per run in the run options; the Actor stops cleanly when it's reached. The Pricing tab always shows current prices.
Example: 2,000 leads cost $10 on the free plan and $7 on Gold, however many private or filtered sellers the run had to check to find them.
Large runs and automation
- One run, many searches. Put all keywords, category IDs and marketplaces in one run. Sellers are deduplicated across them, and the start event is charged once.
- Use asynchronous runs for more than about 300 sellers.
run-sync-get-dataset-itemswaits at most 5 minutes; start the run, then read the dataset when it finishes (webhook or polling). - Cap spending with
maxSellersand the run's maximum cost. The run stops cleanly at either limit and keeps what was saved. - Schedules and tasks. Save an input as a task and schedule it weekly to pick up new sellers. Deduplicate on
marketplace+usernamein your CRM, because each run starts fresh. - Integrations. Send rows to Google Sheets, HubSpot, Make, Zapier or n8n with Apify integrations, or download CSV or Excel from the dataset.
- Check runs automatically. Read
RUN_SUMMARY.stopReasonandsavedMissinginstead of counting rows.blockedmeans eBay kept refusing requests: retry later.
For AI agents and MCP
Minimal input (only one of queries, categoryIds, startUrls or sellers is required):
{ "marketplaces": ["ebay.com"], "queries": ["printer ink"], "countries": ["US"], "maxSellers": 20 }
Key output fields: companyName, email, phone, addressFull, countryCode, vatId, tradeRegisterNumber, username, storeUrl, feedbackScore, marketplace. Missing values are null. The RUN_SUMMARY record in the default key-value store holds the counts and stopReason.
Connect through the Apify MCP server
AI assistants and agents (Claude, ChatGPT, Cursor, VS Code, n8n and other MCP clients) can call this Actor as a tool through the Apify MCP server. Hosted server (OAuth sign-in, or an Authorization: Bearer YOUR_APIFY_TOKEN header), with this Actor and the storage tools enabled:
https://mcp.apify.com?tools=epicscrapers/ebay-business-leads-scraper,storage
Claude Code:
claude mcp add --transport http apify "https://mcp.apify.com?tools=epicscrapers/ebay-business-leads-scraper,storage" \--header "Authorization: Bearer YOUR_APIFY_TOKEN"
Claude Desktop, Cursor and other clients with a JSON config (runs the server locally):
{"mcpServers": {"apify": {"command": "npx","args": ["-y", "@apify/actors-mcp-server", "--tools", "epicscrapers/ebay-business-leads-scraper,storage"],"env": { "APIFY_TOKEN": "YOUR_APIFY_TOKEN" }}}}
The Actor shows up as the tool epicscrapers-slash-ebay-business-leads-scraper, with this page's input schema as its parameters.
What to ask
- "Find 50 US companies selling printer ink on ebay.com with an email address. Give me company, email, phone and city."
- "Who is behind the eBay seller inkraider? Company, address and company number."
- "List German toner sellers on ebay.de that publish no VAT ID."
Notes for agent builders
- Keep
maxSellerssmall (10 to 50) when answering a question; each saved row is charged. - Pass
countrieswhen the user wants businesses from one country; marketplaces include foreign sellers. - Use
sellers(usernames or/usr/and/str/URLs) to look up known sellers instead of searching. - An empty result with
stopReason: "tooFewMatches"means the filters matched almost nothing: loosen them or change the keyword rather than retrying.
Use through the Apify API
curl "https://api.apify.com/v2/acts/epicscrapers~ebay-business-leads-scraper/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \-X POST \-H "Content-Type: application/json" \-d '{"marketplaces": ["ebay.de"], "queries": ["toner"], "maxSellers": 50}'
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('epicscrapers/ebay-business-leads-scraper').call({marketplaces: ['ebay.de', 'ebay.at'],queries: ['druckerpatronen'],requireEmail: true,maxSellers: 100,});const { items } = await client.dataset(run.defaultDatasetId).listItems();
For a local run, save the input in storage/key_value_stores/default/INPUT.json and run apify run.
Responsible use
Use this Actor only for lawful purposes. Follow eBay's terms, applicable laws and data protection rules. Don't send unsolicited marketing where the law requires consent, and don't use the data to harass sellers.
Support
Report problems or request features in the Issues tab. Include the run ID, the input and what you expected. The RUN_SUMMARY record usually shows what happened. Don't include passwords or tokens.
This Actor is not affiliated with or endorsed by eBay Inc. "eBay" is a trademark of eBay Inc.
