eBay Business Leads Scraper avatar

eBay Business Leads Scraper

Pricing

from $3.50 / 1,000 business seller saveds

Go to Apify Store
eBay Business Leads Scraper

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

Epic Scrapers

Maintained by Community

Actor stats

0

Bookmarked

7

Total users

3

Monthly active users

11 hours ago

Last modified

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 814035667 becomes DE814035667), 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_SUMMARY record 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?

GoalHow
Build a B2B lead list in a nicheSearch a product keyword or category, set Only sellers with an email address, export to CSV.
Find distributors of a brandSearch the brand name on several marketplaces and group the rows by companyName and countryCode.
Check who is behind a sellerAdd usernames, profile URLs or store URLs to Sellers to get their company, address and register number.
Research competitors abroadRun one keyword on ebay.de, ebay.fr and ebay.it and compare companies, feedback and store categories.
Check marketplace complianceFind business sellers in a category that publish no VAT ID or company register number.

Quick start

  1. Click Try for free and sign in to Apify.
  2. Pick one or more marketplaces and type a keyword into Keywords, such as druckerpatronen on ebay.de.
  3. For a first run, set Maximum business sellers to 20.
  4. 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.

GroupFields
CompanycompanyName, legalForm, representatives, vatId, vatIds, tradeRegisterNumber, tradeRegisterLabel, registerCourt, additionalLegalInfo
Addressstreet, postalCode, city, region, country, countryCode, addressFull
Contactemail, phone, fax
eBay sellerusername, profileUrl, storeName, storeUrl, businessSellerLabel, isBusinessSeller, marketplace
Seller activityfeedbackScore, positiveFeedbackPercent, activeListings, memberSince, responseTime, topCategories
Store pageitemsSold, followers, sellerLocation (only with Add eBay Store page details)
SourcefoundBy, 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 rowAbout 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 phoneNearly allNearly all
Rows with an emailAbout 9 in 10About 9 in 10
Rows with a VAT IDAbout 2 in 3Rare: US sellers have no VAT ID, only UK/EU sellers show one
Rows with a register numberUK: often (CRN). DE/EU: about 1 in 5Rare
Where the sellers are basedAbout half in the site's country, the rest mainly UK and Chinese sellersebay.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
Speed50 to 100 saved sellers in under a minute50 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 raising maxSellers on 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; savedMissing in RUN_SUMMARY counts the gaps, and requireEmail / requirePhone keep only complete rows.

How it works

  1. The Actor searches eBay with your keywords, categories or search URLs. On EU and UK sites it adds eBay's "business sellers" filter.
  2. 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.
  3. 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

FieldTypeDefaultEffect
marketplacesArray["ebay.com"]Marketplaces for keyword and category searches. Plain usernames in sellers use the first one.
queriesArray of stringsEmptyKeywords. Each runs on every selected marketplace.
categoryIdsArray of stringsEmptyeBay category IDs (the number after _sacat=), searched without a keyword on every selected marketplace.
startUrlsArrayEmptyeBay search URLs (/sch/i.html?...) or category pages (/b/.../bn_...). The URL's marketplace and filters are used.
sellersArray of stringsEmptyUsernames, profile URLs (/usr/name), store URLs (/str/name) or search URLs with _ssn=name. Looked up before the searches.
searchBusinessSellersOnlyBooleantrueAdds 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.
maxSellersInteger100Stop after saving this many business sellers in total.
maxListingsToScanInteger1000Search results to read per keyword, category or URL.
countriesArray of stringsEmptyKeep 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.
minFeedbackScoreInteger0Skip sellers with a lower feedback score.
requireEmailBooleanfalseSave only sellers with an email address.
requirePhoneBooleanfalseSave only sellers with a phone number.
skipSellersWithoutBusinessInfoBooleantrueSkip business sellers that show no company name, address, email, phone, VAT ID or register number.
includeStoreDetailsBooleanfalseAlso open the seller's eBay Store page for itemsSold, followers, sellerLocation and business details printed only there. One extra request per store.
includePrivateSellerCountBooleantrueShow 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.
  • tradeRegisterNumber is often null. 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 from additionalLegalInfo only when it is printed there (for example HRB 123456). registerCourt is filled the same way.
  • legalForm is read from the company name only (... GmbH, ... Ltd). Sole traders usually have none.
  • representatives holds the contact person eBay shows and names after labels such as "Geschäftsführer:" or "Managing Director:" in the seller's text.
  • vatId is the first VAT ID; vatIds has all of them, without spaces.
  • activeListings is rounded the way eBay shows it ("13K" becomes 13000).
  • memberSince is YYYY-MM. responseTime and businessSellerLabel are in the language of the marketplace you searched.
  • countryCode is where the business is registered, not the marketplace. Filter with countries: 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.
  • topCategories are the seller's eBay Store categories and are empty for sellers without a store.
  • sampleListingId is 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.

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-items waits at most 5 minutes; start the run, then read the dataset when it finishes (webhook or polling).
  • Cap spending with maxSellers and 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 + username in 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.stopReason and savedMissing instead of counting rows. blocked means 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 maxSellers small (10 to 50) when answering a question; each saved row is charged.
  • Pass countries when 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.