Bing Maps Scraper
Pricing
from $1.99 / 1,000 search results
Bing Maps Scraper
Extracts public place and business results from Bing Maps: names, addresses, phone numbers, websites, coordinates, ratings, review counts, opening hours, categories, and place IDs.
Pricing
from $1.99 / 1,000 search results
Rating
0.0
(0)
Developer
Search API
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Bing Maps Business Listings Scraper
Searches public Bing Maps business listings and writes a rich normalized dataset. The Actor uses Bing's public maps/overlaybfpr HTML endpoint first because it exposes structured data-entity business payloads. When that endpoint returns no usable records, the Actor can open Bing Maps with Playwright and extract the same payload from the DOM.
Input modes
Use one query for a normal search, or provide searchQueries for a batch. If both are supplied, query is included as the first query and duplicate phrases are removed. Batch results are collected independently, capped per query, and interleaved fairly before the global maxItems limit is applied.
For compatibility with existing Cloud inputs, the Actor also accepts maxRetries, requestTimeoutMs, and categoryIncludes. The first two take precedence over maxRequestRetries and requestTimeoutSecs when both forms are supplied; categoryIncludes is combined with includeCategories.
Example single-query input:
{"query": "restaurants in Austin","maxItems": 25,"maxPages": 2,"resultsPerPage": 10,"sortBy": "ratingDesc","proxyConfiguration": { "useApifyProxy": false }}
Example multi-query input:
{"searchQueries": ["coffee shops in Austin", "bookstores in Austin"],"maxItems": 20,"maxItemsPerQuery": 10,"maxPages": 2,"resultsPerPage": 10,"maxConcurrency": 1,"maxRequestRetries": 1,"requestTimeoutSecs": 45,"requestHandlerTimeoutSecs": 180,"requestDelayMs": 500,"includeKeywords": ["Austin"],"excludeCategories": ["closed"],"sortBy": "searchOrder","proxyConfiguration": { "useApifyProxy": false }}
Output
Each dataset record has a stable Bing place ID and can include the listing name, address parts, coordinates, phone, website, category path, rating provider, rating and review counts, open status, hours, media, map/detail links, page and query positions, and source provenance. Numeric values are normalized to numbers and dates are ISO-8601 strings. The dataset has overview and fullDetails views.
samples/sample-record.json is the first record from a live run for restaurants in Austin. Its business name, address, category, rating, review count, and hours were checked against the corresponding Bing Maps search listing.
The OUTPUT key-value record contains run status, per-query page/card counts, filters, sorting, failure categories, connection mode, and whether the DOM fallback was used. Result-count text is retained when Bing exposes it in the structured response.
Proxy and access behavior
The input supports no proxy, Apify Proxy, and custom proxy URLs. Proxy credentials are consumed by the runtime and are never written to the dataset or logs. HTTP status and content type are checked before the response is parsed. Access-control, CAPTCHA, login, and verification pages are reported as failures; the Actor does not bypass them.
Development
Install dependencies and run the test suite:
npm install --ignore-scripts --audit=falsenpm testnpm run checknpm run validate:readme
Run locally through the Apify runtime so storage and schemas are exercised:
apify run --purge --input-file INPUT.jsonnpm run validate:runnpm run audit:dataset
INPUT.json is a small local run example. The unit tests cover parsing, normalization, filtering, pagination, and batch selection.