· 10 min read
Bing Search Scraper: Up to 1,000 Free Results a Month (2026)
Each record carries 8 output fields including search query, rank position, result title, landing page URL, display URL, snippet description, original search URL, and timestamp. The Actor extracts organic search data across 40+ Bing markets without browser overhead. A thousand results cost $5.00 on the free-plan price, and up to 1,000 results can be collected monthly under Apify's free plan usage. This scraper is built for marketers and researchers needing structured organic SERP rankings; it is not for users seeking local business address and phone information, which requires map listings instead.
Try it: open Bing Search Scraper on Apify, sign in on the free plan and run the prefilled example.
Can you try Bing Search Scraper before paying?
Yes. Apify's free plan includes $5.00 of prepaid usage every month and asks for no credit card. At $0.005 per result, that covers up to 1,000 results of Bing Search Scraper a month, before run-start charges and platform usage.
The example request further down caps maxResultsPerQuery at 5 for each of its 1 queries, so a first run returns at most 5 results and costs at most $0.025 in result charges. That is enough to see the real shape of the data before deciding anything.
Bing Search Scraper was last updated on 2026-04-09. It is one of 1,725 Actors CrawlerBros publishes on Apify, which together have 680,173 lifetime public runs and an average rating of 4.63 out of 5 across 416 reviews.
What does it cost to run Bing Search Scraper?
Each result costs $0.005 on Apify's free plan, which is $5.00 per 1,000 results. Starting a run is charged separately at $0.005 per GB of Actor memory. Apify also bills the platform usage each run consumes, at the rates of your Apify plan, on top of these charges.
| Apify plan | Per result | Per 1,000 results |
|---|---|---|
| FREE | $0.005 | $5.00 |
| BRONZE | $0.00433 | $4.33 |
| SILVER | $0.00367 | $3.67 |
| GOLD | $0.003 | $3.00 |
| PLATINUM | $0.003 | $3.00 |
| DIAMOND | $0.003 | $3.00 |
The length of your queries array and the value set in maxResultsPerQuery dictate total dataset output and directly determine result costs. To minimize charges during initial configuration, test your search terms with maxResultsPerQuery set to a low integer before running broad queries.
How do you run Bing Search Scraper from the API?
The schema marks 1 of its 4 controls as required: queries. Every value in the payload below comes from the published schema's own prefills, which means you can paste it, swap the token, and get a real result.
Call the synchronous endpoint to start a run and receive dataset items in one request:
curl -X POST "https://api.apify.com/v2/acts/crawlerbros~bing-search-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"queries":["food in NYC"],"maxResultsPerQuery":5,"market":"en-US","proxyConfiguration":{"useApifyProxy":false}}'
The same run from Python, using the official client:
from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run_input = {
"queries": [
"food in NYC"
],
"maxResultsPerQuery": 5,
"market": "en-US",
"proxyConfiguration": {
"useApifyProxy": False
}
}
run = client.actor("crawlerbros~bing-search-scraper").call(run_input=run_input)
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)
And from Node.js:
import { ApifyClient } from 'apify-client'
const client = new ApifyClient({ token: '<YOUR_APIFY_TOKEN>' })
const input = {
"queries": [
"food in NYC"
],
"maxResultsPerQuery": 5,
"market": "en-US",
"proxyConfiguration": {
"useApifyProxy": false
}
}
const run = await client.actor('crawlerbros~bing-search-scraper').call(input)
const { items } = await client.dataset(run.defaultDatasetId).listItems()
console.log(items)
That endpoint blocks until the run completes. Fine while you are testing a handful of records, risky once a run takes minutes: a dropped connection loses the response even though the run itself finished. Switch to an asynchronous start with polling or a webhook before you schedule anything.
Which Bing Search Scraper inputs matter, and which can you skip?
The queries array is the single required input control and specifies the exact search terms evaluated by Bing. The maxResultsPerQuery integer caps output up to 100 items per query, while market allows regional targeting through standard market codes like en-US or fr-FR.
queries(array): List of search queries to look up on Bing.maxResultsPerQuery(integer): Maximum number of results per query. Default:10.market(string): Bing market code for localized results (e.g., 'en-US', 'fr-FR', 'de-DE'). Default:"en-US".proxyConfiguration(object): Proxy config. Works without proxy by default. Default:{"useApifyProxy":false}.
What does Bing Search Scraper return?
The dataset returns key SERP details including position, title, url, displayUrl, and description for organic listings. It does not provide paid ad disclosures, embedded map coordinates, or full site page content.
query: String - Search query usedposition: Integer - Position in results (1-based)title: String - Result titleurl: String - Result URLdisplayUrl: String - Displayed URL textdescription: String - Result snippet/descriptionsearchUrl: String - Bing search URL usedscrapedAt: String - ISO timestamp when scraped
These are the documented fields. Optional ones can be empty on a given record, so measure how often each field your deliverable depends on is populated across a real sample before automating the handoff.
How do you build the workflow end to end?
Open Bing Search Scraper and work through these in order. Each step ends with something to check, so a bad configuration surfaces on a small run rather than a scheduled one.
- Provide search terms inside the queries array input and set maxResultsPerQuery to 5 to conduct a preliminary validation run.
- Specify the target market code such as en-US, fr-FR, or de-DE to localize results to a specific region.
- Leave proxyConfiguration disabled initially since HTTP-based extraction operates without proxies by default.
- Execute the run and review the returned dataset to ensure output fields like query, title, url, displayUrl, description, position, searchUrl, and scrapedAt are present.
- Verify that the position field accurately tracks rankings sequentially starting from 1.
- Increase maxResultsPerQuery up to 100 if deep SERP coverage is required for your queries.
- Configure proxyConfiguration using standard Apify proxies if high-volume runs begin encountering rate limits.
How do you apply it? Three worked playbooks
These are Bing Search Scraper's own documented use cases, each worked through as an operating pattern rather than a description.
Use case 1: SEO monitoring
Outcome: Track your website's ranking on Bing for target keywords
Configure: Set queries to ["your keyword 1", "your keyword 2"], maxResultsPerQuery to 20, and market to "en-US".
Working method: Run the Actor on a recurring schedule with your target keyword list. Inspect the dataset items and map the position field against your target url domain to record search rankings over time.
Deliverable: A historical tracking dataset containing keyword queries, target landing page URLs, and numerical Bing search ranking positions.
Stop condition: The target domain disappears from the top 100 returned positions across consecutive runs.
Use case 2: Competitor analysis
Outcome: Discover who ranks for industry keywords
Configure: Set queries to ["industry keyword 1", "industry keyword 2"], maxResultsPerQuery to 50, and market to "en-US".
Working method: Execute the query across target industry keywords. Export the resulting output records and aggregate url domains to identify which competitors appear most frequently across high positions.
Deliverable: A domain ranking frequency report identifying major competitors across selected industry search terms.
Stop condition: The returned results yield zero organic snippets for the provided queries.
Use case 3: Lead generation
Outcome: Find businesses and websites in specific niches
Configure: Set queries to ["b2b software providers NYC", "plumbers in Chicago"], maxResultsPerQuery to 100, and market to "en-US".
Working method: Construct explicit local or commercial search queries inside the queries list. Parse the output url, title, and description fields to collect relevant company web domains within target markets.
Deliverable: A structured list of web URLs, business names from titles, and snippet context for targeted commercial niches.
Stop condition: Results consistently return non-relevant general aggregator directories rather than specific business sites.
What breaks, and how do you design around it?
When a search query yields fewer organic results than requested, maxResultsPerQuery simply caps the maximum potential count; handle this by evaluating the returned item length. For localized results across non-English regions, ensure you explicitly pass the appropriate market code rather than relying on default settings.
When should you not use Bing Search Scraper?
Do not use this Actor if you require map-specific localized business data like physical addresses, phone numbers, review counts, or geo-coordinates. For business listing collection on maps, use Bing Maps Business Listings Scraper instead. Furthermore, if you need search coverage for Chinese domestic search or require ad library metadata, this tool will not suffice; consider Baidu Search Scraper for Baidu web results or TikTok Ads Library Scraper Pro for ad transparency data.
What should you check before trusting the output?
- Confirm that url and displayUrl fields contain valid URL strings rather than empty values.
- Ensure position is present and structured as a non-zero positive integer.
- Verify description snippets are populated for organic web results.
- Check that scrapedAt contains a valid ISO timestamp format.
- Halt execution if consecutive results return empty titles or missing landing page URLs.
None of this proves a record is correct. It gives a scheduled Bing Search Scraper run defined points where it should stop instead of quietly passing bad data downstream.
Frequently asked questions
How much does it cost to run Bing Search Scraper?
Results cost $0.005 per item, which equals $5.00 per 1,000 results on the free-plan price. Platform usage charges apply in addition to per-result pricing. Apify's free plan covers up to 1,000 results monthly.
Do I need to enable proxies to run this Actor?
No proxy is required by default due to HTTP-based extraction. You only need to configure proxies inside proxyConfiguration if you execute high-volume concurrent runs that encounter IP rate limits.
How many results can I extract per search query?
You can extract up to 100 results per query by setting maxResultsPerQuery. The Actor handles pagination automatically across result pages in increments of 10 items.
Which market codes are supported for localized searches?
Bing supports over 40 market codes. Supported examples include en-US, en-GB, fr-FR, de-DE, es-ES, it-IT, ja-JP, pt-BR, zh-CN, ko-KR, nl-NL, ru-RU, and ar-SA.
What fields are contained in each dataset output record?
Each returned record contains 8 fields: query, position, title, url, displayUrl, description, searchUrl, and scrapedAt.
Where to go next
When you are ready to run it, open Bing Search Scraper on Apify; the free plan covers up to 1,000 results a month.
Start with the Bing Search Scraper Actor page for the current input schema, pricing tier, and run history.
If you are comparing approaches rather than committing to one Actor, these category pages list every option we publish:
- Search results scrapers covers 11 Actors in this family.
Other Actors we maintain for related data:
- Bing Maps Business Listings Scraper: Scrape business listings from Bing Maps.
- Baidu Search Scraper: Scrape Baidu search results - web, image, and news.
- TikTok Ads Library Scraper Pro: Scrape TikTok's public ad transparency library by query, advertiser, region, and date range.
Related guides:
Resources
Actor documentation, input schema, and pricing: verified against the published Actor on 2026-09-27.
Actor last updated by its maintainers on 2026-04-09.
Run outcome figures cover the 30 day public window ending 2026-09-27.
Featured actors
Bing Search Scraper
Scrape Bing search results. Extract titles, URLs, descriptions, and snippets for any search query with market/language targeting.
Run on Apify ↗