Bing Search Scraper — Web Results & Organic Rankings avatar

Bing Search Scraper — Web Results & Organic Rankings

Pricing

from $94.28 / 1,000 completed bing search records

Go to Apify Store
Bing Search Scraper — Web Results & Organic Rankings

Bing Search Scraper — Web Results & Organic Rankings

Search Bing web results and export organic titles, links, snippets, positions and the estimated match count. One completed-search record includes every returned organic result. JSON preserves the full result list.

Pricing

from $94.28 / 1,000 completed bing search records

Rating

0.0

(0)

Developer

SIÁN OÜ

SIÁN OÜ

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

16 hours ago

Last modified

Share

Bing Search Scraper — Web Results & Organic Rankings 🔎

SIÁN Agency Store Google Search Bing Jobs Google News

🔎 One Bing web search, every returned organic listing included

For SEO analysts, market researchers and teams collecting public web sources

🔎 What is the Bing Search Scraper — and when should you use it?

The Bing Search Scraper turns Bing web search records with organic titles, links, snippets and positions into clean, structured rows you can filter, export and feed straight into a spreadsheet, database or AI agent. No account, no portal API key, no browser automation to maintain.

Use it when you need: you need Bing organic web results for a query.

Use something else when: you need Bing job listings. Use Bing Jobs Scraper for job listings from Bing Jobs. This actor returns web search listings, not full source pages.

🤖 Use with AI agents

Already connected to the Apify MCP server? Just ask for this Actor by name: sian.agency/bing-search-scraper

Your agent can pay for its own runs. This Actor is eligible for agentic payments, so an agent can discover it, run it and settle the bill over x402 (USDC on Base) or Skyfire — without an Apify account or API token of its own. One completed search is charged, including a valid empty observation. All returned organic listings are included. Failed retrievals have no search-event charge; a separate run-start fee applies.

Otherwise copy this prompt into Claude, ChatGPT, Cursor or any MCP-enabled assistant:

I want Bing organic web results for research using the Apify Actor `sian.agency/bing-search-scraper`.
Use it when I need: you need Bing organic web results for a query.
Don't use it when: you need Bing job listings — use bing-jobs-scraper instead.
How to call it: set operation to search and provide query. Read organicResults inside the single completed-search record. This version uses US English.
Start with this input:
{
"operation": "search",
"query": "coffee shops in Seattle"
}
Ask me which search phrase they want to research, then run the Actor and summarise the results as a table.

Things you can ask your agent for:

  • Search Bing for coffee shops in Seattle and list the returned sources.
  • Research a company and export titles, snippets and organic positions.
  • Save a timestamped Bing search observation for later comparison.

Machine-readable API, MCP config and OpenAPI definition for this Actor are published at apify.com/sian.agency/bing-search-scraper.md.

📋 Overview

Bing Search Scraper turns a web query into a structured search record. It contains the organic result list, titles, links, snippets, positions and Bing's estimated total matches.

Use it to find sources or save an organic search snapshot. It does not fetch source-page text. Check relevance before using the results: Bing can broaden a query, including quoted phrases.

  • ✅ One billing unit: One completed search is one event, regardless of its result count.
  • 📚 Complete returned list: All organic listings from that request are included.
  • 🏆 Organic positions: Keep the order returned for that search.
  • 📊 Separate counts: Distinguish actual returned listings from the estimated total matches.
  • 📄 Run report: Review results, accepted charges and replay input.

The recorded US-English example returned ten organic listings for coffee shops in Seattle. Results vary by query and can change between runs. This version ships US-English web search only.

✨ Features

  • 🔎 One query per run: Enter the phrase you want to research.
  • 📰 Titles and snippets: Review search summaries before visiting a page.
  • 🔗 Source links: Export listing URLs and available domains.
  • 🏆 Result positions: Retain the order returned by Bing.
  • 📊 Estimated match count: Keep Bing's estimate separately from the returned list length.
  • 📦 Nested JSON: Preserve every returned organic listing inside one search record.
  • 🔍 Explicit empty shape: If a valid search returns no organic listings, the row has empty=true and an empty list.
  • 📄 Exports and report: Download JSON, CSV or Excel and open the processing report.

🎬 Quick Start

Run the supplied coffee-shops example in the Input tab. Replace the query with your own topic. One completed run produces one search record.

curl --request POST \
'https://api.apify.com/v2/acts/sian.agency~bing-search-scraper/runs?token=YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data '{"operation":"search","query":"coffee shops in Seattle"}'

The response contains run metadata. Wait for completion, then retrieve the default dataset. An empty API input does not run the Console example.

🚀 Getting Started (3 Simple Steps)

Step 1: Enter a web query

Describe the topic, company or place you want to research. The query must contain 1–300 characters.

Step 2: Check the budget

Allow for one completed-search event and the separate run-start fee. The actor checks that a search fits before retrieval begins.

Step 3: Review the listings

Open the Dataset tab and inspect organicResults. Open the run's Output tab for its processing report. Use JSON to retain nested result records.

📥 Input Configuration

FieldTypeRequiredDescription
operationstringNosearch, the only operation.
querystringYesWeb search phrase, 1–300 characters.
{
"operation": "search",
"query": "coffee shops in Seattle"
}

The query has a Console prefill and no API default. API callers must supply their own query. This version uses the US market and English interface.

Free-plan users can run this actor from Apify Console or MCP. Direct API access requires a paid Apify plan. A blocked API run returns an explanatory rejected record and report with no completed-search charge; the platform run-start fee still applies.

One query is processed per run. There is no query-list input, pagination, market selector, source-page fetch or separate news, image, video, shopping or Maps operation. Free and paid Apify plans receive the same search contents; paid plans have discounted rates.

📤 Output

One completed-search row includes the full organic result list. Individual listings do not add charges.

FieldTypeDescription
querystringRequested search phrase.
resultCountintegerNumber of organic listings actually returned.
totalOrganicResultsinteger or nullBing's estimated total matches.
topTitlestring or nullFirst organic result title.
topUrlstring or nullFirst organic result URL.
organicResultsarrayComplete returned organic listing records.
emptybooleanWhether the completed search returned no organic listings.
country / languagestringFixed us and en in this version.
status / errorMessagestring / string or nullOutcome and failure explanation.
_operation / _fetchedAtstringOperation and retrieval timestamp.

Recorded example, shortened to the first listing:

{
"query": "coffee shops in Seattle",
"resultCount": 10,
"totalOrganicResults": 9340,
"topTitle": "28 Best Coffee Shops in Seattle, WA (2026)",
"topUrl": "https://mycoffeeexplorer.com/guides/seattle",
"organicResults": [{
"title": "28 Best Coffee Shops in Seattle, WA (2026)",
"link": "https://mycoffeeexplorer.com/guides/seattle",
"domain": "mycoffeeexplorer.com",
"snippet": "Discover 28 coffee shops in Seattle, WA. Lighthouse Roasters rated 4.8★. 16 local roasters across 15 neighborhoods. …",
"position": 1
}],
"empty": false,
"country": "us",
"language": "en",
"status": "success"
}

The actual record contains all ten listings. A listing can also contain displayed_link, source and a date label. Dates and snippets may be absent. The estimated total is not a count of rows the actor can retrieve.

A valid empty observation is a successful, billable search record with organicResults=[]. Retrieval failures produce an error record and no completed-search charge. JSON preserves nested data; CSV and Excel may encode nested values as text.

💼 Use Cases & Examples

1. SEO analysts reviewing organic positions

Input: A keyword relevant to a business. Output: Ordered organic titles and URLs. Use: Save a Bing snapshot for comparison in your own reporting.

2. Market researchers collecting sources

Input: A market or product query. Output: Source links, domains and snippets. Use: Build a reading list and check each source before drawing conclusions.

3. Content researchers planning an article

Input: A subject or question. Output: Relevant-looking titles and summaries. Use: Identify pages to read; the actor does not retrieve full articles.

4. Brand teams checking search listings

Input: A company or product phrase. Output: Returned organic results and positions. Use: Review current listings and keep timestamped observations.

5. Data engineers maintaining a search dataset

Input: A saved query on a schedule. Output: One structured search observation per run. Use: Store complete result arrays without per-listing charges.

6. AI tool builders finding public references

Input: A research query. Output: Titles, snippets and source URLs. Use: Select references for further checking before an agent cites them.

🔗 Integration Examples

JavaScript / Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_TOKEN' });
const run = await client.actor('sian.agency/bing-search-scraper').call({
operation: 'search', query: 'coffee shops in Seattle',
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items[0].organicResults);

Python

from apify_client import ApifyClient
client = ApifyClient('YOUR_TOKEN')
run = client.actor('sian.agency/bing-search-scraper').call(
run_input={'operation': 'search', 'query': 'coffee shops in Seattle'}
)
for item in client.dataset(run['defaultDatasetId']).iterate_items():
print(item.get('organicResults', []))

cURL: retrieve a completed dataset

$curl 'https://api.apify.com/v2/datasets/YOUR_DATASET_ID/items?format=json&clean=true&token=YOUR_TOKEN'

Start a run with the Quick Start request, wait for completion, then use that run's dataset ID.

Automation Workflows (N8N / Zapier / Make)

  1. Trigger: Schedule a web query.
  2. HTTP Request: Start the actor with your input.
  3. Process: Wait for completion and retrieve the dataset.
  4. Action: Save organic results to a spreadsheet or database for review.

📊 Performance & Pricing

One completed-search event pays for one completed Bing web search. Every returned organic listing is included. A valid empty search is billed because it delivers an explicit observation for that query.

Failed retrievals have no completed-search charge. A separate run-start fee applies to every run, including invalid or billing-limited runs. The actor checks the remaining search budget before retrieval.

Apify planCompleted searchRun-start feeOne completed run
FREE$0.42856$0.02$0.44856
BRONZE$0.10714$0.005$0.11214
SILVER$0.10071$0.005$0.10571
GOLD$0.09428$0.005$0.09928

Enterprise plans use the live price displayed by Apify before the run. These are per-search prices, not per-listing prices. FREE refers to the Apify account plan; it does not mean actor searches cost zero.

There is no guaranteed completion time. Review current pricing before starting a run.

❓ Frequently Asked Questions

How many dataset rows will I get?

One completed-search row, containing all organic results returned for the query. Result count varies.

Does quoted text guarantee exact matches?

No. Bing can broaden queries or return related listings. Check titles and snippets for relevance.

What is the difference between resultCount and totalOrganicResults?

The first is the number of actual returned listings. The second is Bing's estimate of total matches and does not promise that many accessible results.

Are empty results charged?

A valid empty search is charged once. Failed retrievals have no completed-search charge. The separate run-start fee still applies.

Can I select another country, paginate or use Bing Images?

This focused version supports one US-English web search only. Those controls and other verticals are not exposed.

Does it retrieve complete source pages?

No. It returns search listings and links. Visit or retrieve source pages separately if you need their full content.

Can I automate searches?

Yes. Save an input and use Apify Schedules. Each run creates a new observation and incurs its own charges.

🐛 Troubleshooting

Results seem unrelated

Bing may broaden a query. Inspect the returned titles and snippets, then revise the phrase if needed. Do not assume quote marks enforce exact matching.

Fewer listings than the estimated total

The estimate and returned list length are different measurements. This version does not paginate through the estimated total.

No listings returned

A valid empty observation is billable. Check the phrase and consider a broader query before starting another run.

The run stops before retrieval

Read the processing report. Check the maximum charge and account allowance. No completed-search event is charged when retrieval does not start.

Temporarily unavailable

Wait before retrying. Data searches are not automatically retried, and failed retrievals do not incur a completed-search event.

Search listings describe public web pages and can contain names or contact information that identify people. Use results for a legitimate purpose and follow privacy rules, including GDPR, and applicable service terms.

For background, read Apify's explanation of web scraping legality. Consult qualified counsel when you need advice for your use case.

Bing and Microsoft are trademarks of Microsoft Corporation. SIÁN Agency is independent and is not affiliated with or endorsed by Microsoft.

🤝 Support

Use the actor's Issues tab for reproducible problems. Include the input and run URL, with sensitive information removed.

Built by SIÁN Agency | More Tools