Some links on this page are affiliate links: if you buy through them we may earn a commission, at no extra cost to you.
Use Microsoft’s Bing Web Search and Video Search APIs when you need a documented, ad-free JSON contract. Use a third-party scraper such as BingScraperAPI.com when you need the live, rendered Bing page—including SERP modules such as ads, related questions, answer boxes, or knowledge-graph blocks. The two approaches solve different problems: an official API returns Microsoft-defined answer objects, while a scraper reads what a public Bing results page actually renders.
Choose the right Bing JSON source
Start with the output your application must reproduce:
- Official Bing Web Search API: best for a supported integration that responds to a user’s search intent. Microsoft documents HTTPS requests, SDK access, location-aware results, and JSON response objects from billions of web documents.
- Official Bing Video Search API: use the
/v7.0/videos/searchfamily for relevant videos,/v7.0/videos/detailsfor insights such as related videos, and/v7.0/videos/trendingfor trending categories. - BingScraperAPI.com: best when your data model depends on the live public SERP. Its service says it covers organic results, images, videos, and recipes through dedicated endpoints. Its search endpoint may also return answer boxes, related searches, related questions, ads, and knowledge-graph blocks when Bing server-renders them. It also says result redirects are decoded to the real destination URLs.
A scraper is not an unofficial replacement for Microsoft’s API contract. Page layouts and modules can change; Microsoft’s endpoints are the more appropriate choice when stable, documented response objects matter.
Free tools Windows power users keep installed
One-click scans. No signup required.
Call the official Bing Web Search API
Prerequisites and request limits
Create a Microsoft Bing Search subscription and protect its subscription key on your server. The Web Search v7 endpoint is https://api.bing.microsoft.com/v7.0/search. Microsoft requires HTTPS. The documented maximum URL length is 2,048 characters, and Microsoft recommends keeping query parameters below 1,500 characters; keep long filters, site lists, and other controls out of the URL when possible.
#1 Best Overall
Python: web results to a dictionary
import os
import requests
endpoint = "https://api.bing.microsoft.com/v7.0/search"
headers = {"Ocp-Apim-Subscription-Key": os.environ["BING_SUBSCRIPTION_KEY"]}
params = {
"q": "python web scraping",
"count": 10,
"offset": 0,
"mkt": "en-US",
"safeSearch": "Moderate",
}
response = requests.get(endpoint, headers=headers, params=params, timeout=30)
response.raise_for_status()
data = response.json()
for item in data.get("webPages", {}).get("value", []):
print(item.get("name"), item.get("url"))
The result is already JSON; response.json() converts it to a Python dictionary. Treat fields as optional. A query can return no webPages object, and individual result properties can be absent, so use .get() or explicit schema validation before writing to a database.
cURL: inspect the raw JSON
curl -G "https://api.bing.microsoft.com/v7.0/search"
-H "Ocp-Apim-Subscription-Key: $BING_SUBSCRIPTION_KEY"
--data-urlencode "q=python web scraping"
--data-urlencode "mkt=en-US"
--data-urlencode "count=10"
Use --data-urlencode for spaces and punctuation in queries. Never put the subscription key in a browser URL, client-side JavaScript bundle, or public repository.
Node.js: fetch and parse JSON
const endpoint = new URL('https://api.bing.microsoft.com/v7.0/search');
endpoint.searchParams.set('q', 'python web scraping');
endpoint.searchParams.set('mkt', 'en-US');
endpoint.searchParams.set('count', '10');
const response = await fetch(endpoint, {
headers: { 'Ocp-Apim-Subscription-Key': process.env.BING_SUBSCRIPTION_KEY }
});
if (!response.ok) {
throw new Error(`Bing returned ${response.status}: ${await response.text()}`);
}
const data = await response.json();
console.log(JSON.stringify(data, null, 2));
Get video metadata as JSON
Microsoft’s Video Search v7 family uses separate resources for search, details, and trending:
Quick wins for a faster PC:
Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Repair Windows errors before they cause bigger problemsFix Now →https://api.bing.microsoft.com/v7.0/videos/searchreturns relevant videos.https://api.bing.microsoft.com/v7.0/videos/detailsreturns video insights, including related videos.https://api.bing.microsoft.com/v7.0/videos/trendingreturns trending categories.
A Microsoft quickstart example uses Python’s requests.get, a subscription key, query parameters, and response.json(). Video objects can include a title, publisher, duration, view count, thumbnail URLs, and a Bing video result URL. Do not assume every object has every property; check for missing values.
Rank #2
- Google search engine.
import os
import requests
endpoint = "https://api.bing.microsoft.com/v7.0/videos/search"
headers = {"Ocp-Apim-Subscription-Key": os.environ["BING_SUBSCRIPTION_KEY"]}
params = {"q": "renewable energy", "count": 20, "mkt": "en-US"}
r = requests.get(endpoint, headers=headers, params=params, timeout=30)
r.raise_for_status()
payload = r.json()
for video in payload.get("value", []):
print({
"title": video.get("name"),
"publisher": video.get("publisher"),
"duration": video.get("duration"),
"view_count": video.get("viewCount"),
"thumbnail": video.get("thumbnailUrl"),
"bing_url": video.get("contentUrl") or video.get("hostPageUrl"),
})
Field names can vary by response object and API documentation version. Preserve the original payload alongside your normalized fields so a later schema change does not destroy information.
Use a SERP scraper when rendered-page fidelity matters
BingScraperAPI.com describes a REST service that reads live public Bing pages and returns structured JSON. Its endpoints accept a query and shared api_key. The product description separates web, image, video, and recipe searches, while its general search endpoint can include page modules only when Bing actually server-renders them.
This approach is useful for rank monitoring, testing how a query appears to a visitor, collecting destination URLs after Bing’s redirect layer, or retaining SERP features that an answer-oriented API may not expose. Because it parses a public page, your integration should tolerate missing modules, changed ordering, and markup changes. Obtain the exact endpoint path and parameter names from the vendor’s current documentation rather than hard-coding an undocumented URL.
Recommended Free Tools
Official API versus third-party scraper
| Decision factor | Official Bing APIs | BingScraperAPI.com |
|---|---|---|
| Data source | Documented API answer objects from Microsoft | Live rendered public Bing pages, parsed into JSON |
| Coverage | Web and video resources with documented response types | Organic, images, videos, recipes; search may include ads, answer boxes, related searches, related questions, and knowledge-graph blocks when rendered |
| URL handling | Returns fields defined by the API response | States that Bing result redirects are decoded to real destination URLs |
| Stability | Microsoft’s endpoint contract and SDK access | Vendor parsing resilience is the dependency; page changes remain a risk |
| Controls | Use documented query, market, freshness, pagination, and filtering parameters | Use the scraper’s current endpoint options; available controls can differ by endpoint |
| Integrations | HTTP GET and Microsoft SDKs | Python, Node, Go, generic HTTP, Zapier, Make, n8n, LangChain, and LlamaIndex are listed by the vendor |
| Best fit | Search experiences that need a supported, ad-free result contract | Analysis of what a public Bing SERP visibly contains |
Pricing and operational claims
BingScraperAPI.com’s product page, accessed September 29, 2026, advertises the following vendor-published figures. They are not independent benchmarks:
| Offer | Advertised terms |
|---|---|
| Free | 1,000 requests, no card |
| Pay as you go | $0.90 per 1,000 successful requests |
| Pro | About $0.60 per 1,000 requests |
| Custom | Plans from $100 per month |
| Speed claim | 2.6-second median response |
The same page says only successful requests are billed and proxy retries behind a successful call are not charged separately. Treat the 2.6-second number as the vendor’s stated median, not a guaranteed latency or service-level agreement. Recheck quotas and prices before committing because these terms can change.
Legal, display, and retention constraints
Microsoft’s Bing Search APIs legal terms (February 2025) limit how official responses may be used. They require an internet search experience that responds to user search intent, helps users navigate to sources, presents multiple results, and visibly identifies search results. The terms state: “You must use results you obtain through the Services only in Internet Search Experiences … and you must not cache or copy results.” They also prohibit copying, storing, or caching responses and using response data to train machine-learning systems. Protect subscription keys, review attribution and display requirements, and obtain legal advice for your jurisdiction and use case.
BingScraperAPI.com states that it is independent and not affiliated with, endorsed by, sponsored by, or officially connected to Bing or Microsoft. A scraper’s availability does not grant permission to republish, cache, or train on Bing content. Check Bing’s terms, the vendor’s terms, robots and privacy obligations, and the laws that apply where you operate and where users are located.
Do these 3 things before closing this tab:
1Scan for outdated or missing drivers - takes under a minute2Clear out junk files and repair common Windows errors3Fix the driver behind crashes, sound loss and screen glitchesReliability and cost controls
- Cache your own derived business records only when your legal basis and the applicable API terms allow it. For Microsoft responses, the cited terms expressly prohibit caching or copying.
- Set explicit connect and read timeouts, retry only transient failures with exponential backoff, and cap concurrency to your subscription or vendor limits.
- Log HTTP status, request ID headers when provided, query, market, latency, and a redacted error body. Never log API keys.
- Store the raw JSON with a schema version when permitted, then normalize optional fields such as duration, views, thumbnails, and destination URLs.
- For rank or feature monitoring, record the market, language, device assumptions, timestamp, and pagination settings; otherwise two valid calls may not be comparable.
Troubleshooting
401 or 403 from Microsoft
Check that the key is in Ocp-Apim-Subscription-Key, the subscription covers the endpoint, and the request uses HTTPS. Rotate an exposed key and update your server-side secret.
400 or an empty result set
Verify that the query parameter is URL-encoded, the market code is valid, and your filters are supported by that endpoint. An empty webPages or value collection is a valid response shape; handle it instead of treating it as a parsing failure.
Rank #4
URL-too-long errors
Stay below Microsoft’s 2,048-character maximum and preferably below 1,500 characters for query parameters. Shorten site lists, remove redundant filters, or split the work into separate requests.
Video fields are missing
Duration, view count, publisher, and thumbnails are not guaranteed on every object. Use the details resource when you need video insights, and preserve nulls rather than inventing zero values.
Scraper output differs from the browser
Live SERPs vary by market, personalization, timing, consent state, and whether Bing server-rendered a module. Record the request controls, compare multiple responses, and treat absent ads or related questions as “not rendered,” not necessarily “does not exist.”
Latency or intermittent scraper failures
Use bounded retries and a queue, distinguish failed calls from successful empty results, and monitor the vendor’s response and billing headers if exposed by the service. The advertised 2.6-second median is not a promise for your geography, concurrency, or query mix.
Best Value
Or skip the browser setup
If your workflow also needs a clean image or PDF of a destination page—not Bing’s structured SERP JSON—ScreenshotNeo provides a one-request website screenshot API and MCP server. It accepts consent banners before capture and removes more than 60 known consent platforms, newsletter popups, and chat widgets; each cleanup step can be disabled. Bot checks or CAPTCHAs, blank pages, timeouts, failed loads, and cache hits are not billed, and responses identify the page verdict and billing result in X-Page-Verdict and X-Billed headers.
With the API documentation at https://screenshotneo.com/docs/, a one-call capture looks like this:
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp
ScreenshotNeo is not a Bing results-data API; it is useful when the next step is rendering a page for a report, audit, or archive. It also offers an MCP server with take_screenshot, get_page_info, and capture_pdf tools for Claude, Cursor, and other MCP clients. The free plan includes 1,000 shots per month with no card; paid plans start at $5 for 3,000 shots. Create a free ScreenshotNeo account to try it.
Practical decision checklist
- Choose the official Web or Video API if your product is an internet search experience and you need Microsoft’s documented JSON objects.
- Choose a SERP scraper if rendered modules, redirect-decoded destinations, or page-level appearance are the data you need.
- Define retention, display, attribution, and machine-learning rules before collecting results.
- Normalize optional fields, record market and pagination controls, and instrument status, latency, and billing.
- Keep screenshots separate from SERP JSON; use a rendering service only for the visual artifact.
Frequently Asked Questions
Can I use the official Bing API to reproduce every module visible on Bing.com?
Not necessarily. The official APIs return documented answer objects; modules such as ads, related questions, or knowledge-graph blocks may not be represented. A rendered-page scraper is the closer match when those visible modules are essential.
Which Bing endpoint returns video duration and views?
The Video Search v7 search response can include duration and view count on video objects, but individual properties are optional. Use the details resource for additional video insights such as related videos.
Is BingScraperAPI.com an official Microsoft service?
No. The vendor states that it is independent and not affiliated with, endorsed by, sponsored by, or officially connected to Bing or Microsoft.
Should I store Bing JSON for later model training?
Microsoft’s February 2025 legal terms prohibit using Bing Search API response data to train machine-learning systems and also prohibit copying, storing, or caching responses. Obtain legal advice for your specific scraper use case.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

