Bing Videos Scraper API
Our Bing videos scraper turns any query into a ranked list of video results as JSON: title, the real video link, thumbnail, duration, source platform, channel, publish time, and view count, pulled across YouTube, TikTok, and the other platforms Bing aggregates.
Why Bing makes Bing Videos data hard
Bing video search aggregates clips from many platforms in one place, but there is no public API for it, and each result's real URL and metadata sit inside an HTML-entity-escaped JSON blob on the card's mmeta attribute. We parse that blob per card, pull the visible duration, views, source, channel, and publish time, and dedupe by resolved link so you get one clean list.
The Bing Videos Scraper API, one request away
curl "https://api.bingscraperapi.com/api/v1/bing/videos?q=how+to+tie+a+tie&api_key=$API_KEY" import requests
BASE = "https://api.bingscraperapi.com"
API_KEY = "YOUR_API_KEY"
data = requests.get(
f"{BASE}/api/v1/bing/videos",
params={"q": "how to tie a tie", "api_key": API_KEY},
timeout=30,
).json()
print(data["results_count"], "videos for", data["query"])
for v in data["results"]:
print(v["position"], v["title"], f"({v['duration']})")
print(" ", v["source"], "|", v["channel"], "|", v["views"])
print(" ", v["link"]) Parameters
| Parameter | Required | Default | Notes |
|---|---|---|---|
q | required | - | The video search term, e.g. how to tie a tie. This is the required input for the videos scraper. |
url | optional | - | A full bing.com/videos/search URL to parse instead of building one from q. Accepted for parity; pass q or url. |
count | optional | 50 | Max results to return, 1 to 100. Best-effort cap on the mapped list. Defaults to 50. |
country | optional | US | Two-letter market region, e.g. GB or DE. Sets mkt=en-XX so results are the stable national set. Defaults to US. |
api_key | required | - | Your API key, passed as a query parameter. Get one free at signup. |
Fields returned by the Bing Videos Scraper API
{
"query": "how to tie a tie",
"results_count": 20,
"results": [
{
"position": 3,
"title": "How to Tie a Tie The Right Way",
"link": "https://www.youtube.com/watch?v=1xKRgpBb_CY",
"thumbnail": "https://th.bing.com/th/id/OVP.Z-t68T5_csQSiVue1cq7CQDKFo?w=196&h=110&c=7&rs=1&qlt=70&o=7&pid=2.1&rm=3",
"duration": "2:15",
"source": "YouTube",
"channel": "Dad, how do I?",
"published": "4 months ago",
"views": "61.5K views"
},
{
"position": 15,
"title": "Easy and Quick Tie Knot Tutorial for Men's Style",
"link": "https://www.tiktok.com/@hisdernshop/video/7147906070349106478",
"thumbnail": "https://th.bing.com/th/id/OVP.E6masQ1jGg0UdN6MHeF4LgEkII?w=196&h=110&c=7&rs=1&qlt=70&o=7&pid=2.1&rm=3",
"duration": "1:05",
"source": "TikTok",
"channel": "hisdernshop",
"published": "Sep 27, 2022",
"views": "43.7M views"
}
]
} | Field | Type | Description |
|---|---|---|
query | string | The query that was searched, echoed back from your request. |
results_count | integer | Number of video results returned. |
results | array | The video results, each with position, title, link, thumbnail, duration, source, channel, published, and views. |
results[].link | string | The real video URL, resolved from the card's mmeta blob (e.g. a youtube.com or tiktok.com link). |
results[].duration | string | Runtime shown on the card, e.g. 2:15, or null when absent. |
results[].source | string | The platform the video is hosted on, e.g. YouTube or TikTok. |
results[].channel | string | The uploading channel or account name, or null. |
results[].published | string | Relative or absolute publish time, e.g. 4 months ago or Sep 27, 2022, or null. |
results[].views | string | View count as shown, e.g. 61.5K views, or null. |
What this data is good for
Cross-platform video discovery
Trend and content research
Competitor and creator tracking
Video sourcing for embeds
Metadata enrichment
SEO video-carousel research
Why our Bing Videos Scraper API is reliable
Send one query and get parsed Bing video results back as validated JSON: title, the real video link resolved from each card, thumbnail, duration, source platform, channel, publish time, and views, deduped by link. Requests flow through rotating proxies with anti-bot handling and automatic retries at a 2.6s median, and the market is pinned to en-US for a reproducible result set.
Real video links
Full card metadata
Cross-platform in one call
Deduplicated results
Pinned, reproducible market
Anti-bot and proxy rotation
Choosing between the Bing Videos Scraper API and the Bing API
| Our API | DIY (requests / headless) | Bing Video Search API (Azure) | |
|---|---|---|---|
| Video results as JSON | Parsed, deduped, one call | You parse the mmeta blob yourself | JSON, but being retired |
| Availability | Live and maintained | Depends on your setup | Closed to new customers, sunsetting |
| Real video link | Resolved to the host URL | You extract murl / pgurl | Provided in the API |
| Card metadata | Duration, source, channel, views | Extra selectors per field | Provided in the API |
| Setup | API key only | Proxies, headless browser, parsers | Azure account and resource keys |
| Anti-bot and proxies | Built in | You build and maintain it | Not applicable |
Straightforward pricing
| Plan | Price | Best for |
|---|---|---|
| Free | 1,000 requests | Testing and small jobs |
| Pro | $0.60 / 1k | Production workloads |
| Pay-as-you-go | $0.90 / 1k | Spiky or one-off volume |
Median response 2.6s. You only pay for successful requests.
FAQ
A Bing videos scraper reads the results from a Bing video search and returns them in a structured format. Our Bing videos scraper API takes a query and returns each result's title, real video link, thumbnail, duration, source platform, channel, publish time, and view count as JSON, deduplicated, from a single request.
Bing aggregates videos from many hosts, so a single query commonly returns results from YouTube, TikTok, and other platforms in one list. Each result carries a source field naming the platform and a link resolved to that platform's real URL, so you can filter or route by source as needed.
Bing stores each card's real URLs in an HTML-entity-escaped JSON blob on the card's mmeta attribute. Our scraper parses that blob per card and returns the resolved video URL in the link field, falling back to the card's own link attributes when needed, so you get the destination URL rather than a bing.com link.
The count parameter accepts 1 to 100 and defaults to 50. It is a best-effort cap: we return up to your count, and the actual number depends on how many cards the page renders. Each call counts as one request against your plan.
They are returned exactly as Bing displays them on the card, so views come back as a formatted string like 61.5K views and duration as a clock string like 2:15. These reflect what Bing shows at scrape time, which can round large numbers, rather than a live count from the source platform.
Scraping publicly visible video search results is generally treated as lower risk than scraping data behind a login. This is not legal advice: the videos themselves belong to their creators and platforms, so you are responsible for respecting Bing's terms, each platform's terms, and copyright. Collecting links and metadata for discovery and research differs from redistributing the video content.