Bing Search Results Scraper avatar

Bing Search Results Scraper

Pricing

from $0.02 / 1,000 result extracteds

Go to Apify Store
Bing Search Results Scraper

Bing Search Results Scraper

🔎 Export ranked Bing organic search results for keywords or SERP URLs, including titles, URLs, snippets, sitelinks, and related searches.

Pricing

from $0.02 / 1,000 result extracteds

Rating

0.0

(0)

Developer

Hanna Nosova

Hanna Nosova

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

Export Bing organic search results for SEO research, lead generation, competitor monitoring, and market analysis.

What does Bing Search Results Scraper do?

Bing Search Results Scraper turns public Bing search result pages into a structured dataset.

It accepts a list of search queries or direct Bing result URLs and returns organic results with rank, title, URL, display URL, snippet, sitelinks, related searches, and scrape timestamp. It does not access private Bing data, ads dashboards, signed-in results, or guaranteed personalized rankings.

Use it when you need repeatable Bing SERP exports without manually copying results from a browser. If your workflow needs Google SERP coverage instead of Bing coverage, use a Google-specific search actor so the source and ranking context stay explicit.

Who is it for?

  • 🔎 SEO teams tracking keyword positions on Bing.
  • 📈 Growth marketers researching competitors and content gaps.
  • 🧲 Lead generation teams collecting companies, directories, and niche prospects from search results.
  • 📰 PR and brand monitoring teams checking what appears for names, products, or campaigns.
  • 🧪 Data teams building search-result benchmarks for internal dashboards.

Why use this Bing scraper?

Bing is still a meaningful discovery channel for many industries and regions.

This actor helps you collect search result data in a clean format that can be exported to CSV, JSON, Excel, Google Sheets, or your own database.

The first version focuses on reliable organic results and keeps the input simple.

What data can you extract?

FieldDescription
querySearch query that produced the result
positionOrganic rank for that query
pageBing results page number
titleResult title
urlResult landing page URL
displayUrlVisible URL shown on Bing
snippetSearch result description
cachedUrlCached result URL when available
sitelinksExtra links shown below a result
relatedSearchesRelated search suggestions found on the page
scrapedAtISO timestamp for the scrape

How much does it cost to scrape Bing search results?

This actor uses pay-per-event pricing.

You pay a $0.005 start fee for each run plus a per-result fee for each Bing organic result saved to the dataset.

Current BRONZE per-result price is $0.000026349 (about $0.026 per 1,000 results), with automatic lower per-result prices on higher Apify tiers.

The input prefill is intentionally small so a first test run stays cheap.

Quick start

  1. Open the actor on Apify.
  2. Add one or more Bing search queries.
  3. Set the maximum results per query.
  4. Choose market, language, and SafeSearch settings if needed.
  5. Run the actor.
  6. Download the dataset or connect it to your workflow.

Input: queries

Use queries when you want the actor to build Bing search URLs for you.

Example queries:

[
"apify web scraping",
"best crm software for agencies",
"site:example.com pricing"
]

Each query is scraped separately and ranks restart at position 1 for each query.

Input: start URLs

Use startUrls when you already have Bing search URLs.

Example:

[
{ "url": "https://www.bing.com/search?q=apify&count=10" }
]

The actor reads the query from the URL and continues pagination from the URL page.

Input options

maxResultsPerQuery controls how many organic results to save for each query or start URL.

market requests a Bing market such as en-US, en-GB, de-DE, or fr-FR.

language requests a preferred result language such as en, de, fr, or es.

safeSearch can be Off, Moderate, or Strict.

includeRelatedSearches adds related search suggestions to result rows when Bing provides them.

Output example

{
"query": "apify web scraping",
"position": 1,
"page": 1,
"title": "Apify: Full-stack web scraping and data extraction platform",
"url": "https://apify.com/",
"displayUrl": "https://apify.com",
"snippet": "Apify is a platform for web scraping, browser automation, and data extraction.",
"cachedUrl": null,
"sitelinks": [],
"relatedSearches": ["apify pricing", "apify actors"],
"scrapedAt": "2026-06-17T00:00:00.000Z"
}

Tips for better results

  • ✅ Keep early tests small, then scale once the output looks correct.
  • ✅ Use exact phrases for brand monitoring.
  • ✅ Add site: operators for domain-specific research.
  • ✅ Use market and language settings for regional checks.
  • ✅ Split very different keyword groups into separate runs for easier analysis.

Pagination behavior

Bing normally shows around 10 organic results per page.

When you request more than 10 results per query, the actor requests additional result pages until it reaches your limit or Bing stops returning organic results.

Each row includes both position and page so you can filter by page or rank range.

Integrations

You can connect the dataset to:

  • Google Sheets for keyword research reviews.
  • BigQuery or Snowflake for search monitoring dashboards.
  • Slack alerts for brand or competitor checks.
  • CRM enrichment flows for lead generation.
  • Scheduled Apify tasks for recurring SERP snapshots.

API usage with Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('fetch_cat/bing-search-results-scraper').call({
queries: ['apify web scraping'],
maxResultsPerQuery: 10,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

API usage with Python

from apify_client import ApifyClient
import os
client = ApifyClient(os.environ['APIFY_TOKEN'])
run = client.actor('fetch_cat/bing-search-results-scraper').call(run_input={
'queries': ['apify web scraping'],
'maxResultsPerQuery': 10,
})
items = client.dataset(run['defaultDatasetId']).list_items().items
print(items)

API usage with cURL

curl -X POST "https://api.apify.com/v2/acts/fetch_cat~bing-search-results-scraper/runs?token=$APIFY_TOKEN" \
-H 'Content-Type: application/json' \
-d '{"queries":["apify web scraping"],"maxResultsPerQuery":10}'

MCP: use from Claude tools

You can call this actor from Apify MCP-enabled clients.

Claude Code MCP URL pattern:

https://mcp.apify.com/?tools=fetch_cat/bing-search-results-scraper

Add it in Claude Code with:

$claude mcp add apify-bing-serp https://mcp.apify.com/?tools=fetch_cat/bing-search-results-scraper

Claude Desktop JSON configuration example:

{
"mcpServers": {
"apify-bing-serp": {
"url": "https://mcp.apify.com/?tools=fetch_cat/bing-search-results-scraper"
}
}
}

Claude Desktop can use the same Apify MCP server URL with your Apify token.

Example prompts:

  • "Scrape the top 20 Bing results for best no-code database and summarize the domains."
  • "Run Bing Search Results Scraper for these 10 keywords and export titles and URLs."
  • "Find related searches for my brand query on Bing."

Scheduling

Create an Apify task with your keywords and run it daily, weekly, or monthly.

Recurring runs are useful for rank tracking, competitor monitoring, and campaign snapshots.

Common SEO workflows

  • Track whether your domain appears for target keywords.
  • Compare page-one competitors across markets.
  • Collect titles and snippets for content analysis.
  • Monitor brand SERPs after launches or press releases.
  • Export SERP data for internal dashboards.

Common lead generation workflows

  • Search for niche directories.
  • Find companies using keyword modifiers.
  • Collect URLs for later enrichment.
  • Combine with website contact scrapers.
  • Build prospect lists from regional searches.

Limits and reliability

Search engines can change markup and may throttle repeated automated requests.

Start with moderate limits, use scheduling responsibly, and enable proxy settings if direct traffic is throttled.

The actor is designed to stop gracefully when Bing returns no more organic results.

Troubleshooting

If you get fewer results than requested, Bing may have returned fewer organic results for that query or region.

If a run returns no results, try a simple query such as apify web scraping, lower the limit, or enable Apify Proxy in the input.

If regional results look unexpected, check the market, language, and SafeSearch values.

Legality

This actor extracts publicly available search result information.

You are responsible for using the data lawfully, respecting applicable terms, privacy rules, and rate limits, and avoiding collection of sensitive personal data where it is not appropriate.

FAQ

Can I scrape multiple keywords?

Yes. Add multiple strings to queries. The actor processes each query separately.

Can I scrape direct Bing URLs?

Yes. Add Bing search result URLs to startUrls.

Does it include ads?

Version 0.1 focuses on organic search results. Paid ads and rich answer modules may be added later.

Does it work with markets outside the United States?

Yes. Set market and language to request localized results.

Why are some fields empty?

Bing does not show every field for every result. For example, cached URLs and sitelinks are optional.

Explore other Apify actors from the same publisher for search, SEO, and lead-generation workflows:

Changelog

0.1

Initial version with keyword input, direct Bing URL input, pagination, organic result extraction, sitelinks, related searches, localization settings, and structured dataset output.

Support

If the actor stops returning expected fields, open an issue with the run URL, input, and a short description of what looked wrong.

Small reproducible inputs help us diagnose markup changes quickly.