B2BStars / Kompass Company Scraper avatar

B2BStars / Kompass Company Scraper

Pricing

from $0.00005 / actor start

Go to Apify Store
B2BStars / Kompass Company Scraper

B2BStars / Kompass Company Scraper

Scrape B2B company contact data from b2bstars.com (Kompass partner): name, address, phone, website, sectors, and more.

Pricing

from $0.00005 / actor start

Rating

0.0

(0)

Developer

Luuk Zoutendijk

Luuk Zoutendijk

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Share

Extract structured B2B company data from b2bstars.com — a Kompass partner site with millions of companies across Europe. Search by keyword, sector, or country and collect contact details, firmographics, and more at scale.

What it does

This Actor crawls B2BStars search results and visits each company profile to extract:

FieldDescriptionRequires includeDetails
companyNameOfficial registered company nameNo
cityCityNo
countryCountry (ISO code)No
sectorsComma-separated industry sectorsNo
ratingKompass star rating (0–5)No
urlB2BStars profile URLNo
websiteCompany website URLYes
phonePhone numberYes
emailEmail addressYes
addressStreet addressYes
employeesEmployee count or range (e.g. 10-49)Yes
revenueAnnual revenue or turnover rangeYes
yearOfEstablishmentYear the company was foundedYes
descriptionCompany description textYes
faxFax numberYes

Input

ParameterTypeDefaultDescription
searchUrlsstring[][]Direct b2bstars.com search URLs. If provided, all other parameters are ignored.
searchQueriesstring[][]List of keywords to search. Each runs as a separate search. Overrides searchQuery.
searchQuerystring""Single keyword or sector to search for.
countriesstring[]["NL"]ISO country codes to filter. Supports all Kompass countries (NL, DE, FR, BE, GB, ES, IT, …).
maxResultsinteger100Maximum total companies to scrape across all queries and pages.
includeDetailsbooleantrueVisit each profile page for full contact and firmographic data. Disable for fast, basic-only runs.

Example — single query

{
"searchQuery": "software",
"countries": ["NL"],
"maxResults": 50
}

Example — multiple queries across countries

{
"searchQueries": ["software", "construction", "logistics"],
"countries": ["NL", "DE", "BE"],
"maxResults": 500
}

Example — fast mode (basic data only, no profile visits)

{
"searchQuery": "accountant",
"countries": ["NL"],
"maxResults": 200,
"includeDetails": false
}

Example — direct URL

{
"searchUrls": [
"https://www.b2bstars.com/nl/kompass/company?q=engineering&countries=DE"
]
}

Output

Results are stored in the Dataset tab. Each item is one company:

{
"companyName": "Qlic Internet Solutions B.V.",
"city": "Amsterdam",
"country": "NL",
"sectors": "Internet services, Software development",
"rating": 3,
"url": "https://www.b2bstars.com/nl/kompass/company/qlic-internet-solutions-bv",
"website": "https://qlic.nl",
"phone": "+31 20 123 4567",
"email": "info@qlic.nl",
"address": "Herengracht 182",
"employees": "10-49",
"revenue": "€1M - €5M",
"yearOfEstablishment": "2005",
"description": "Full-service digital agency specialising in web development and e-commerce."
}

Export as JSON, CSV, or Excel from the Apify Console or via the API.

Pricing

This Actor uses pay-per-event pricing — you pay only for what you actually scrape.

ModeEvents chargedCost per 1,000 companies
Basic (includeDetails: false)company-found$2.00
Full details (includeDetails: true)company-found + company-profile$5.00

No charge for starting a run. Costs are transparent and predictable.

Use cases

  • Sales prospecting — Build targeted B2B lead lists filtered by sector, size, and country
  • Market research — Map competitors and suppliers across European markets
  • CRM enrichment — Fill gaps in existing company records with verified contact data
  • Partner sourcing — Find distributors or suppliers by product category and region
  • Bulk data collection — Run multiple queries in one job with searchQueries

AI agent instructions

This Actor is designed for use inside AI/LLM agent workflows. The structured JSON output is suitable for downstream processing, filtering, and enrichment tasks.

Suggested task descriptions for AI agents

Use the luzodi/b2bstars-kompass-scraper Actor to find B2B companies. Pass a searchQuery, an array of countries, and set maxResults. The output dataset contains one JSON object per company with fields: companyName, website, email, phone, city, country, sectors, employees, revenue, yearOfEstablishment. Use the Apify API to start a run and poll for completion, then retrieve the dataset items.

Starting a run via Apify API

POST https://api.apify.com/v2/acts/luzodi~b2bstars-kompass-scraper/runs
Authorization: Bearer YOUR_API_TOKEN
Content-Type: application/json
{
"searchQuery": "software",
"countries": ["NL", "DE"],
"maxResults": 100,
"includeDetails": true
}

Retrieving results

GET https://api.apify.com/v2/acts/luzodi~b2bstars-kompass-scraper/runs/last/dataset/items
Authorization: Bearer YOUR_API_TOKEN

Output schema (TypeScript)

interface Company {
companyName: string;
city: string;
country: string;
sectors: string;
rating: number;
url: string;
// Present when includeDetails is true:
website?: string;
phone?: string;
email?: string;
address?: string;
employees?: string;
revenue?: string;
yearOfEstablishment?: string;
description?: string;
fax?: string;
}

Integration notes for AI agents

  • maxResults controls the total output size — set it to match your downstream needs to avoid over-scraping
  • Use includeDetails: false when you only need company names and sectors for a quick lookup
  • Use searchQueries to batch multiple keywords into a single run instead of chaining separate runs
  • The email and phone fields may be empty if the company has not published contact details on B2BStars
  • sectors is a comma-separated string — split on ", " to get an array

Running locally

Requirements

Installation

git clone https://github.com/LuukZout/luzodi.git
cd luzodi
python -m venv .venv
.venv\Scripts\activate # Windows
source .venv/bin/activate # macOS / Linux
pip install -r requirements.txt
playwright install chromium

Run locally

Edit storage/key_value_stores/default/INPUT.json with your search parameters, then:

$apify run

Note: Running locally without a proxy may result in rate limiting. Deploy to Apify for reliable results using their residential proxy network.

Deploy to Apify

apify login
apify push

Notes

  • Phone numbers may be empty if hidden behind the B2BStars paywall
  • The Actor applies stealth techniques to bypass bot detection
  • Pagination is handled automatically up to maxResults
  • Multiple searchQueries run sequentially and share the maxResults budget

Built by

Luzodigithub.com/LuukZout/luzodi