BUSINESS.bg scraper: Bulgarian company leads, фирмени контакти
Pricing
from $0.66 / 1,000 company records
BUSINESS.bg scraper: Bulgarian company leads, фирмени контакти
Scrape public BUSINESS.bg listings across Bulgaria into business records and бизнес каталог data with phones, emails when listed, websites, addresses, ratings, source URLs, and change tracking. Export JSON or CSV to Google Sheets, Airtable, HubSpot, Salesforce, n8n, or Zapier. $0.00088 per record.
Pricing
from $0.66 / 1,000 company records
Rating
0.0
(0)
Developer
GetAScraper
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Build a reliable Bulgarian business lead list from public BUSINESS.bg pages. Collect company profiles, phone numbers, listed emails, websites, categories, addresses, ratings, and factual changes over time. The output is designed for CRM and automation workflows, with Bulgarian and English profile support and no login.
| Find better local prospects in one run Start with a public category page, then filter by industry, city, contact coverage, description, or rating. |
| Public contact signals Separate directory contacts from opt-in public website contacts. | Bilingual profiles Keep English, Bulgarian, or both when a profile exposes both versions. | Recurring changes Run on a schedule and identify new, changed, unchanged, or removed listings. | Bounded by default The default run uses one public source, two pages, and 20 rows. |
🧭 How to use it
| 1. Choose a source Use a BUSINESS.bg category or search URL. You can also enter search terms. | 2. Set useful filters Narrow by city, category text, rating, description, or public contact fields. | 3. Schedule the next run Keep the same state name to compare listings and review the changes view. |
🧾 Input
| Field | Type | Required | Description |
|---|---|---|---|
startUrls | array of URLs | No | Public BUSINESS.bg category, search, or profile URLs. |
searchTerms | array of strings | No | Terms sent to the public BUSINESS.bg search. |
languageMode | enum | No | both, english, or bulgarian. |
industryContains | text | No | Keep categories containing this text. |
cityContains | text | No | Keep cities containing this text. |
requirePublicPhone | boolean | No | Keep listings with a directory phone. |
requirePublicEmail | boolean | No | Keep listings with a directory email. |
requireWebsite | boolean | No | Keep listings linking to a public company website. |
minRating | number | No | Keep profiles at or above the public rating. |
requireDescription | boolean | No | Keep listings with a public description. |
includeDetails | boolean | No | Fetch public profile pages for ratings, full address, categories, images, and map links. |
includeImages | boolean | No | Keep source image URLs when exposed. |
includePublicWebsiteContacts | boolean | No | Read visible email and phone links from linked public company websites. |
maxEnrichedProfiles | integer | No | Bound profile and website enrichment. |
maxItems | integer | No | Maximum output rows, from 1 to 500. |
maxPages | integer | No | Maximum pages per source, from 1 to 50. |
outputMode | enum | No | snapshot, snapshotAndChanges, or changesOnly. |
stateName | text | No | Stable state name for scheduled comparisons. |
proxyConfiguration | object | No | Optional Apify Proxy settings. Direct HTTP is the default. |
📊 Data table
| Field | Type | Description |
|---|---|---|
listingId | string | Stable BUSINESS.bg profile ID. |
companyName | string | Public company name. |
companyNameNative | string | Native name when exposed alongside the selected profile. |
profileUrl | URL | Canonical public profile URL. |
description | string | Public directory description. |
industryNames | array | Public category names. |
city, streetAddress, postalCode, country | string | Public location fields when present. |
phoneNumbers | array | Directory phone numbers. |
directoryEmails | array | Emails listed by BUSINESS.bg. |
websiteUrl | URL | Public company website linked from the directory. |
websiteEmails, websitePhones | array | Contacts found only when website enrichment is enabled. |
emailSource | enum | directory, website, or directory_and_website. |
publicContactChannels | array | Factual channels such as phone, email, website, and profile. |
hasPublicPhone, hasPublicEmail, hasWebsite, hasDescription | boolean | Presence flags based on emitted values. |
leadCompletenessScore | number | Deterministic score from factual field presence. |
ratingValue, ratingCount | number | Public profile rating facts when details are enabled. |
changeType | enum | new, changed, unchanged, or removed. |
changedFields | array | Fields that changed from the prior complete run. |
previousRatingValue | number | Prior rating when a rating change is factual. |
changeDetectedAt, scrapedAt | date-time | Change and collection timestamps. |
👀 Dataset views
The dataset has three views:
- 🔍 Business leads: company identity, location, category, profile, description, rating, and change state.
- ☎️ Contact coverage: phones, directory emails, websites, opt-in website contacts, channels, and lead score.
- 🔄 Inventory changes: new, changed, unchanged, and removed records with changed fields and timestamps.
Run diagnostics, source status, warning codes, and pagination completeness are stored in RUN_SUMMARY in the key-value store. They are not mixed into the three user-facing views.
🔄 Monitoring behavior
Use snapshotAndChanges for recurring runs. The first complete run marks current rows as new. A later identical run marks them as unchanged. A factual profile, contact, category, address, description, or rating difference marks a row as changed. Removed rows are emitted only after every requested source completes without a cap or pagination warning.
changesOnly emits only new, changed, and safely inferred removed rows. Partial or capped runs never infer removals.
🔒 Public-only boundaries
This Actor reads anonymous public BUSINESS.bg pages and optional public company websites. It does not use credentials, private-person lookup, reviewer identity data, private APIs, or guessed contact values. Missing fields are omitted.
💰 Pricing
Pricing is pay per business record. Empty runs cost nothing, and there are no separate phone or email surcharges.
| Plan | Price per record | Price per 1,000 records |
|---|---|---|
| Free | $0.00088 | $0.88 |
| Starter | $0.00079 | $0.79 |
| Scale | $0.00072 | $0.72 |
| Business | $0.00066 | $0.66 |
⭐ Enjoying BUSINESS.bg scraper: Bulgarian company leads, фирмени контакти?
| ★ Rate this Actor on Apify |
❓ FAQ
Can I collect Bulgarian and English profiles together?
Yes. Keep languageMode set to both. The Actor merges the same public profile by its stable ID and preserves the source languages.
Мога ли да извлека фирми от BUSINESS.bg?
Yes. Use a public category URL or add search terms. The output contains only contact and profile fields that the source exposes publicly.
Does the Actor find private contact data?
No. It keeps directory contacts separate from opt-in contacts found on a linked public company website. It never infers an email or phone number.
How are removals handled?
A removal is emitted only after a complete run. A capped or partially failed run records a warning and preserves the previous state.
🔗 Other actors
- 🇨🇳 51job scraper 前程无忧 ↗: Collect public jobs, salaries, and hiring changes.
- 📇 Startup investor contact database ↗: Build public startup and investor contact records.
- 2GIS Reviews Scraper: Отзывы 2ГИС ↗: Monitor public place reviews and ratings.
- 🏢 GSMA MWC exhibitor directory scraper ↗: Collect public exhibitor companies and contact fields.