Bing Maps Lead Scraper (Local Business Data) avatar

Bing Maps Lead Scraper (Local Business Data)

Pricing

$10.00/month + usage

Go to Apify Store
Bing Maps Lead Scraper (Local Business Data)

Bing Maps Lead Scraper (Local Business Data)

Get clean business data from Bing Maps with proxy support, retries, and zero messy HTML parsing. Extract structured business listings with high accuracy using Bing’s internal data sources. Run multiple queries and collect deduplicated business leads from Bing Maps at scale.

Pricing

$10.00/month + usage

Rating

0.0

(0)

Developer

Jamshaid Arif

Jamshaid Arif

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Bing Maps Business Scraper

Scrapes business listings from Bing Maps and outputs clean, structured data — no HTML in the output.

How it works

The core scraping logic is based on the original Bing Maps Scraper script, which discovered that Bing's /maps/overlaybfpr overlay endpoint returns listing anchors (a.listings-item) with rich data-entity JSON blobs embedded as attributes. This actor parses those blobs into flat, structured records.

What this Apify actor adds on top of the original script:

  • Apify proxy integration — residential, datacenter, or custom proxy support to avoid IP blocking at scale.
  • Multi-query batching — run many searches in a single actor run.
  • Automatic deduplication — removes duplicate name + address pairs across queries.
  • Retry with backoff — failed requests are retried up to N times with increasing delays.
  • Structured dataset output — results pushed to Apify dataset, exportable as JSON, CSV, or Excel.

Output fields

FieldTypeDescription
namestringBusiness name
addressstringFull street address
phonestringPhone number
websitestringWebsite URL
categorystringPrimary business category
ratingnumberAverage rating (1–5)
reviewCountnumberNumber of reviews
priceRangestringPrice range indicator (e.g. $$)
hoursobjectOperating hours by day
latitudenumberGPS latitude
longitudenumberGPS longitude
bingEntityIdstringBing's internal entity ID
querystringThe search query that produced this result
rawEntityobjectFull raw Bing entity blob (only if includeRawJson is enabled)

Input example

{
"queries": [
"restaurants San Francisco",
"coffee shops Portland OR"
],
"maxResultsPerQuery": 100,
"market": "en-US",
"includeRawJson": false,
"deduplicateByName": true,
"delayBetweenRequests": 2000,
"maxRetries": 3,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"]
}
}

Input reference

ParameterTypeDefaultDescription
queriesstring[](required)Search queries to scrape (e.g. "dentists New York").
maxResultsPerQueryinteger50Max listings per query. Bing typically returns up to ~200.
marketstringen-USBing locale code (en-US, en-GB, de-DE, etc.).
includeRawJsonbooleanfalseAttach the full raw Bing entity blob to each result.
deduplicateByNamebooleantrueDrop duplicate name + address pairs across queries.
delayBetweenRequestsinteger2000Polite delay in ms between queries.
maxRetriesinteger3Retry attempts per query before skipping.
proxyConfigurationobjectApify residentialProxy settings (see below).

Proxy configuration

Using a proxy is strongly recommended. Without one, Bing may block or throttle requests after a handful of queries.

Select a proxy group in the Apify console, or pass it in the input:

{
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"]
}
}

Available groups:

GroupBest for
RESIDENTIALMost reliable — real residential IPs, lowest block rate.
DATACENTERCheaper and faster, but higher chance of being blocked.
SHADERRotating datacenter IPs, middle ground.

Apify Proxy with country targeting

To get results localized to a specific country:

{
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"],
"apifyProxyCountry": "US"
}
}

Custom / external proxy

If you have your own proxy provider:

{
"proxyConfiguration": {
"useApifyProxy": false,
"proxyUrls": [
"http://user:pass@proxy-host:8080"
]
}
}

Omit the proxyConfiguration field entirely. The actor will connect directly. Suitable only for small, one-off runs.


Running locally

# Install the Apify CLI
npm install -g apify-cli
# Run with a local input file
apify run --input-file input.json

Output

Results are pushed to the default Apify dataset. You can export them from the Apify console as JSON, CSV, or Excel. All fields are flat except hours (day → time object) and the optional rawEntity.