Bing SERP Scraper — Organic Results, Positions & Snippets
Pricing
from $3.78 / 1,000 search results
Bing SERP Scraper — Organic Results, Positions & Snippets
Scrape Bing organic SERP results. Get position, title, URL, displayed URL, and snippet. Run with a required query and no external API keys. Pricing: $0.0039 per result-item on the Free plan.
Pricing
from $3.78 / 1,000 search results
Rating
0.0
(0)
Developer
Vitalii Bondarev
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
0
Monthly active users
a day ago
Last modified
Categories
Features
Share
Bing SERP Scraper
Scrape Bing Search organic results into position, title, URL, displayed URL, and snippet records. The Free plan charges $0.0039 per result-item, and only returned records are charged.
- Track SEO rank changes with organic positions across result pages.
- Analyze competitor SERPs using titles, destination URLs, displayed URLs, and snippets.
- Research keywords by collecting the content that appears in Bing titles and snippets.
- Compare regional results by running the same query with different Bing market codes.
- Run from your Apify account without external API keys or a separate proxy account.
What you get
Each dataset record contains the following fields:
| Field | Type | Description |
|---|---|---|
position | integer | Organic result position, including the page offset. |
result_type | string | Result type; this Actor emits organic. |
title | string | Title displayed for the Bing result. |
url | string | Destination URL, decoded from Bing’s tracking redirect when available. |
displayed_url | string | Breadcrumb URL shown on the SERP. |
snippet | string | Description text shown below the result title. |
query | string | Search query submitted to Bing. |
market | string | Bing market code used for the request, such as en-US or de-DE. |
page | integer | SERP page from which the record was collected. |
parse_confidence | number | Parse-quality score. A score of 1.0 indicates a perfect parse; scores below 0.5 indicate detected schema drift. |
warnings | array of strings | Parser warnings associated with the result page. |
scraped_at | ISO 8601 string | UTC timestamp assigned when the run collected the records. |
A field is null when the source does not provide the value; warnings is an empty array when no parser warnings are associated with the result page.
The parser uses Bing’s structural result container and result elements, decodes outbound tracking URLs, and removes duplicate URLs encountered across pages.
Sample output
This is the first record of a stored run (query web scraping tools, en-US, maxItems 50). It shows the exact field shape; Bing's results for this query on that day were dominated by Kite by Zerodha pages, so the record illustrates the format rather than result relevance.
{"position": 1,"result_type": "organic","title": "Login to Kite by Zerodha - Fast, easy trading and investment platform","url": "https://kite.zerodha.com/","displayed_url": "https://kite.zerodha.com","snippet": "Log in to Kite for a fast, simple, and user-friendly trading platform by Zerodha.","query": "web scraping tools","market": "en-US","page": 1,"parse_confidence": 1,"warnings": [],"scraped_at": "2026-11-04T15:46:28.499186+00:00"}
Pricing
This Actor uses pay-per-event pricing. You pay only for the events listed below. This Actor does not use the Pay per event + usage option, so the platform usage of your runs (compute, proxy traffic and storage) is not billed to you separately.
The billed event is result-item, charged once per Bing SERP result returned. No result-item charge is incurred when no results are returned.
| Plan | result-item price |
|---|---|
| Free | $0.0039 |
| Silver | $0.003822 |
| Bronze | $0.003861 |
| Gold | $0.003783 |
| Platinum | $0.003744 |
| Diamond | $0.003705 |
For example, on the Free plan, 1,000 x $0.0039 = $3.90 and 10,000 x $0.0039 = $39.00.
The Apify Free plan includes $5 of monthly platform usage credit. At the Free-plan price of $0.0039 per result-item, the $5 credit covers 1,282 results.
How to use
- Open the Bing SERP Scraper in Apify.
- Enter a required
query, such asweb scraping tools. - Choose a Bing
marketcode to control the language and regional results. - Set
countfor requested results per page andmaxItemsfor the total number of organic records to collect. - Configure the prefilled Apify
RESIDENTIALproxy when you want the recommended cloud-run configuration. - Start the run and inspect the dataset fields, including
position,url,snippet, andparse_confidence. - Repeat the run through Apify Schedules, using daily as a starting point for SEO rank tracking.
{"query": "web scraping tools","market": "en-US","count": 10,"maxItems": 50,"proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"]}}
Export the dataset as JSON or CSV, or read it through the Apify dataset API.
Input parameters
| Parameter | What it does | Default |
|---|---|---|
query | Required search term submitted to Bing. | Required |
market | Bing market code controlling language and regional results, using a language-COUNTRY format such as en-US, en-GB, de-DE, or fr-FR. | en-US |
count | Number of results requested per page, from 1 to 50. | 10 |
maxItems | Maximum number of organic results to collect across pages. 0 means no limit, up to the page cap of 20 pages (about 200 results). | 50 |
proxyConfiguration | Proxy settings for the request. The prefilled configuration uses the Apify RESIDENTIAL proxy group. | Apify RESIDENTIAL proxy |
disableUsageStats | Set to true to turn off the run summary described in Usage statistics. | false |
Limits and edge cases
| Condition | What you see | What to do |
|---|---|---|
maxItems is larger than about 200 | The Actor stops at a hard cap of 20 pages, about 200 results per query, so a larger maxItems cannot be reached. | Split the work into several queries. |
| Bing blocks a page request (403, 429, 503 or a challenge page) | The Actor makes up to 3 attempts per page, each with a fresh proxy and cookies. When all attempts fail, the run stops and records already pushed stay in the dataset. | Review the records already collected and run again if you need more. |
| A network error occurs | Network errors are retried inside each request with backoff. If they still fail, the run stops without proxy rotation; records already pushed stay in the dataset. | Run again if you need more. |
count differs from 10 | Bing may ignore count and return about 10 results per page, so 10 is the reliable value. If a page parses fewer than 10 results, the run ends there, even when maxItems is not reached. | Use 10. |
| Bing repeats a URL on a later page | Duplicate URLs are removed across pages, so the dataset can contain fewer records than the number of raw results seen in page responses. A full page made up only of duplicate URLs ends the run early. | Treat the dataset as a unique-URL result set. |
| A query has no organic results | The dataset is empty. | Check the query spelling, market code, and Bing’s available results. |
| The parser encounters a changed or incomplete result structure | Records include parse_confidence and warnings; a page with no valid parsed results can end with no records for that page. | Inspect those fields and review the query or rerun if the result structure appears to have changed. |
| You need People Also Ask, news, or related searches | Static fetching does not provide those JavaScript-rendered result types. This Actor returns Bing organic result records. | Use an Actor that specifically supports the result type you need. |
FAQ
How much does it cost to scrape Bing Search?
The Free plan charges $0.0039 per result-item. See the Pricing section for example totals and the other plans.
What happens if Bing returns an empty result?
The Actor stops when Bing returns no valid organic results. Check the query and market, then run again with a query that produces organic results.
Why is the Actor not working or returning fewer results?
Bing can recycle URLs across pages, and duplicates are removed. A block or fetch error ends the run early, as described in Limits and edge cases. Check warnings and parse_confidence, verify the required query, and retry.
Is scraping Bing public data legal?
This Actor reads Bing Search organic-result pages. Whether a particular use is allowed depends on the source terms and applicable law for your use case; review those requirements yourself. This Actor does not provide a legal guarantee.
Related actors
Usage statistics
This Actor creates a small, content-free summary at the end of each run, used only to monitor reliability and improve this Actor. No input values, credentials or scraped data are sent.
A copy of the exact record for your run is saved as USAGE_STATS in your own Apify key-value store.
To opt out, set disableUsageStats to true in the input. Nothing is sent then.