---
title: "Search Bing web results"
method: GET
path: "/bing/search"
tags: ["Bing"]
---

# Search Bing web results

`GET /bing/search`

## Request

- Base URL: `https://api.crawlora.net/api/v1`
- URL: `https://api.crawlora.net/api/v1/bing/search`
- Auth: API key in header `x-api-key`

Returns Bing web search results for a query string, including organic results, optional context panel data, related queries, people-also-ask questions, news modules, video modules, and page-based pagination. Empty optional blocks are omitted from the JSON response. Locale defaults to country=us and lang=en-us. Returns 503 on a genuine transport failure or challenge page. Bing occasionally serves a well-formed page whose results share no significant term with the query; when every attempt hits this, the response is still returned as 200 with data.low_confidence set to true (and the X-Low-Confidence header) instead of being withheld, so callers get Bing's real answer plus an honest signal to double-check it rather than nothing. Queries that use the site: operator (for example site:gov.hu) are not supported: Bing serves a bot-verification challenge for them, so they are rejected with 400 before any request is made. Use the DuckDuckGo (/api/v1/duckduckgo/search), Brave (/api/v1/brave/search), or Yahoo (/api/v1/yahoo-search/search) search endpoints for domain-restricted searches instead.

## Query parameters

- `q` string, required
- `page` integer
- `count` integer
- `country` string
- `lang` string

## Headers

- `x-api-key` string, required

## Response `200`

data.low_confidence is true when Bing's results shared no significant term with the query (see the field's description); the data is still exactly what Bing returned

- BingSearchResponseDoc
  - `code` integer
  - `data` BingSearchResponse
    - `context` BingSearchContext
      - `attributes` BingContextAttribute[]: Key facts Bing lists in the knowledge panel.
        - `label` string: Name of the fact, for example `Founded`.
        - `value` string: Value of the fact, for example `2015`.
      - `description` string: Description text shown in the knowledge panel.
      - `image` string: URL of the knowledge panel image.
      - `subtitle` string: Short descriptor shown under the knowledge panel title.
      - `title` string: Name of the entity in the knowledge panel.
      - `url` string: URL of the entity's main website or source page.
    - `low_confidence` boolean: LowConfidence is true when Bing returned a well-formed page whose organic results share no significant term with the query -- a known upstream anomaly where Bing serves an unrelated SERP for certain multi-word queries instead of a challenge page or an error. The fields above are exactly what Bing returned; nothing is fabricated, reordered, or filtered. Treat a true value as a hint to double-check relevance (or retry) before trusting the results, not as a guarantee they are wrong -- some low-confidence responses are still perfectly good, they just didn't literally repeat a distinctive word from the query. Omitted (false) on every ordinary response.
    - `news` BingNewsResult[]: News results Bing shows for the query. Omitted when there are none.
      - `age` string: How long ago the article was published, as Bing shows it.
      - `age_timestamp` integer: Publication time of the article as Unix seconds in UTC. Omitted when it cannot be worked out from `age`.
      - `description` string: Article snippet as shown on the Bing results page.
      - `position` integer: Rank of the article in the news block, starting at 1.
      - `related_count` integer: Number of additional relevant news articles Bing groups with this story.
      - `source` string: Name of the publication, for example `Reuters`.
      - `thumbnail` string: URL of the article thumbnail.
      - `title` string: Article headline as shown on the Bing results page.
      - `url` string: URL of the news article.
    - `pagination` BingSearchPagination
      - `count` integer: Number of results requested per page.
      - `next_page` integer: Page number of the next page. Omitted when there is no next page.
      - `page` integer: Page number of this response, starting at 1.
      - `previous_page` integer: Page number of the previous page. Omitted on the first page.
    - `people_also_ask` string[]: Questions from Bing's People also ask block.
    - `related_queries` string[]: Related searches Bing suggests for the query.
    - `results` BingSearchResult[]: Organic web results in Bing's order.
      - `age` string: Date or age shown on the result, as Bing shows it. Omitted when Bing shows none.
      - `age_timestamp` integer: Time from `age` as Unix seconds in UTC. Omitted when it cannot be worked out.
      - `description` string: Result snippet as shown on the Bing results page.
      - `display_url` string: URL as displayed under the result title on Bing.
      - `favicon` string: URL of the site's favicon as Bing serves it.
      - `hostname` string: Host name of the result URL.
      - `position` integer: Rank of the result across all pages for the query, starting at 1.
      - `title` string: Result title as shown on the Bing results page.
      - `url` string: URL of the result page.
    - `videos` BingVideoResult[]: Video results Bing shows for the query. Omitted when there are none.
      - `age` string: When the video was published, as Bing shows it.
      - `age_timestamp` integer: Time from `age` as Unix seconds in UTC. Omitted when it cannot be worked out.
      - `creator` string: Channel or creator that published the video.
      - `duration` string: Video length as Bing shows it, for example `45:12`.
      - `platform` string: Platform hosting the video, for example `YouTube`.
      - `position` integer: Rank of the video in the videos block, starting at 1.
      - `thumbnail` string: URL of the video thumbnail.
      - `title` string: Video title as shown on the Bing results page.
      - `url` string: URL of the video page.
      - `views` string: View count as Bing shows it, for example `1.2M views`.
  - `msg` string

## Other responses

- `400`: Missing or invalid query parameters
- `404`: No results found
- `429`: Rate limit exceeded
- `500`: Internal server error
- `503`: Bing upstream request failed (transport failure, challenge page, or every hedge attempt rejected -- see data.low_confidence for the case where Bing did answer but every attempt looked unrelated to the query)

---

[API](https://skmtc.dev/crawlora/apis/crawlora-api.md) · [All operations](https://skmtc.dev/crawlora/apis/crawlora-api/llms.txt) · [OpenAPI document](https://skmtc.dev/crawlora/apis/crawlora-api/revisions/afac9b012a27?raw)
