Bing API endpoint
Returns Bing video search results for a query string. Locale defaults to country=us and lang=en-us. Returns 503 when Bing serves a challenge page or unusable results.
/bing/videosReturns Bing video search results for a query string. Results include the video URL, title, thumbnail, optional platform/creator metadata, duration, view count, and age fields when Bing exposes them.
q: required. Search query. Example: openai.page: optional. 1-based page number; defaults to 1.count: optional. Results per page; defaults to 10, clamped to 1..50.country: optional. Two-letter country code; defaults to us.lang: optional. Bing UI language; defaults to en-us.404 is returned when Bing clearly reports no results.503 is returned when Bing serves a challenge page, unusable HTML, or parser-empty first page without no-results markers.next_page is emitted when the parsed page has at least the requested count.| Field | Filled in, of 20 checked | Values in the sample |
|---|---|---|
| position | 20 | 1 to 20, median 10 |
| title | 20 | “The Top 50 Bars in Denver Right Now” and 19 other values |
| url | 20 | youtube.com and 1 other host |
| duration | 20 | “00:46” and 18 other values |
| views | 20 | median 102 characters |
| thumbnail | 20 | th.bing.com |
| platform | 1 | “✨🦋 🏙️ FANCY FRIDAY: Downtown Luxury 🌳💎✨ $2260” |
| creator | 1 |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| q | string | Yes | Search query | openai | |
| page | integer | No | 1 | 1-based page number; defaults to 1 Minimum: 1. | 1 |
| count | integer | No | 10 | Results per page; defaults to 10, clamped to 1..50 Minimum: 1. Maximum: 50. | 10 |
| country | string | No | us | Two-letter country code; defaults to us | us |
| lang | string | No | en-us | Bing UI language; defaults to en-us | en-us |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/bing/videos?q=openai&page=1&count=10&country=us&lang=en" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"results": [
{
"position": 1,
"title": "OpenAI keynote",
"url": "https://www.youtube.com/watch?v=example",
"platform": "YouTube",
"creator": "OpenAI",
"duration": "45:12",
"views": "1.2M views",
"age": "2 days ago",
"age_timestamp": 1778976000,
"thumbnail": "https://th.bing.com/th/id/OVP.example"
}
],
"pagination": {
"page": 1,
"count": 10,
"next_page": 2
}
}
}Request schema
No body schema
Response schema
#/definitions/bing.videosResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | bing.VideosResponse | No | ||||
| data.pagination | object | No | Paging information for this response. | |||
| data.pagination.count | integer | No | 10 | Number of results requested per page. | ||
| data.pagination.next_page | integer | No | 2 | Page number of the next page. Omitted when there is no next page. | ||
| data.pagination.page | integer | No | 1 | Page number of this response, starting at 1. | ||
| data.pagination.previous_page | integer | No | 1 | Page number of the previous page. Omitted on the first page. | ||
| data.results | array | No | Video results in Bing's order. | |||
| data.results[].age | string | No | Nov 6, 2023 | When the video was published, as Bing shows it. | ||
| data.results[].age_timestamp | integer | No | 1699228800 | Time from `age` as Unix seconds in UTC. Omitted when it cannot be worked out. | ||
| data.results[].creator | string | No | OpenAI | Channel or creator that published the video. | ||
| data.results[].duration | string | No | 45:12 | Video length as Bing shows it, for example `45:12`. | ||
| data.results[].platform | string | No | YouTube | Platform hosting the video, for example `YouTube`. | ||
| data.results[].position | integer | No | 1 | Rank of the video in the videos block, starting at 1. | ||
| data.results[].thumbnail | string | No | https://example.com/openai-video.jpg | URL of the video thumbnail. | ||
| data.results[].title | string | No | OpenAI DevDay keynote - YouTube | Video title as shown on the Bing results page. | ||
| data.results[].url | string | No | https://www.youtube.com/watch?v=openai-devday | URL of the video page. | ||
| data.results[].views | string | No | 1.2M views | View count as Bing shows it, for example `1.2M views`. | ||
| msg | string | No | OK |
| Status | Description | Schema |
|---|---|---|
| 400 | Missing or invalid query parameters | #/definitions/app.Response |
| 404 | No results found | #/definitions/app.Response |
| 429 | Rate limit exceeded | #/definitions/app.Response |
| 500 | Internal server error | #/definitions/app.Response |
| 503 | Bing upstream request failed | #/definitions/app.Response |
Use environment variables for secrets and keep Crawlora API keys server-side.
curl -X GET "https://api.crawlora.net/api/v1/bing/videos?q=openai&page=1&count=10&country=us&lang=en" \
-H "x-api-key: $CRAWLORA_API_KEY"