Bing API endpoint
Returns Bing image 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/imagesReturns Bing image search results for a query string. Results include the source page URL, original image URL, thumbnail URL, title, and optional dimensions/source metadata. Empty first pages without a Bing no-results marker are treated as upstream errors.
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 35 checked | Values in the sample |
|---|---|---|
| position | 35 | 1 to 35, median 18 |
| title | 35 | “OpenAI представляє новий агент ChatGPT для «глибокого дослі…” and 34 other values |
| url | 35 | founder.ua and 30 other hosts |
| source_url | 35 | founder.ua and 30 other hosts |
| image_url | 35 | founder.ua and 31 other hosts |
| thumbnail | 35 | ts1.mm.bing.net and 4 other hosts |
| source | 35 | “founder.ua” and 30 other values |
| 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/images?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 logo",
"url": "https://example.com/openai-logo",
"source_url": "https://example.com/openai-logo",
"image_url": "https://example.com/openai-logo.jpg",
"thumbnail": "https://th.bing.com/th/id/OIP.example",
"source": "example.com"
}
],
"pagination": {
"page": 1,
"count": 10,
"next_page": 2
}
}
}Request schema
No body schema
Response schema
#/definitions/bing.imagesResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | bing.ImagesResponse | 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 | Image results in Bing's order. | |||
| data.results[].height | integer | No | 800 | Image height as Bing reports it. | ||
| data.results[].image_url | string | No | https://www.example.com/openai-logo.jpg | URL of the full-size image. | ||
| data.results[].position | integer | No | 1 | Rank of the image across all result pages, starting at 1. | ||
| data.results[].source | string | No | example.com | Site the image comes from, for example `example.com`. | ||
| data.results[].source_url | string | No | https://www.example.com/openai-logo | URL of the page that hosts the image. | ||
| data.results[].thumbnail | string | No | https://th.bing.com/th/id/OIP.example | URL of the image thumbnail served by Bing. | ||
| data.results[].title | string | No | OpenAI logo | Image title as shown on the Bing results page. | ||
| data.results[].url | string | No | https://www.example.com/openai-logo | URL Bing links the image result to. | ||
| data.results[].width | integer | No | 1200 | Image width as Bing reports it. | ||
| 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/images?q=openai&page=1&count=10&country=us&lang=en" \
-H "x-api-key: $CRAWLORA_API_KEY"