> ## Documentation Index
> Fetch the complete documentation index at: https://aisa.one/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Live Bing Organic SERP HTML

> Returns the ranked results for a keyword on Bing, synchronously.

Returns the ranked results for a keyword on Bing, synchronously. Raw page source rather than parsed results. 🔴 **Measured at 2.4 MB for a ten-result Google query, against 57 KB parsed** - take it only to check what the parser dropped. Wrapped in DataForSEO's envelope: data in `tasks[0].result`, outcome in `tasks[0].status_code` - a rejected request still returns HTTP 200.

## Example

<CodeGroup>
  ```bash REST theme={null}
  curl -X POST "https://api.aisa.one/apis/v1/dataforseo/serp/bing/organic/live/html" \
    -H "Content-Type: application/json" \
    -H "Authorization: Bearer YOUR_API_KEY" \
    -d '[{"keyword": "...", "location_name": "...", "location_code": "..."}]'
  ```

  ```jsonc MCP theme={null}
  // Copy this whole block into Claude Code, Codex, Cursor or any coding agent.
  // It carries everything needed to connect, authorize and run this example —
  // no key to paste, one click of Allow in the browser.
  {
    "operation_id": "post_dataforseo_serp_bing_organic_live_html",
    "arguments": {},
    "max_price_usd": 0.05
  }
  // ── for the agent ─────────────────────────────────────────────────────────
  // Register the AIsa MCP server, then call its `use` tool with the JSON above.
  //   name       aisa
  //   endpoint   https://mcp.aisa.one/mcp
  //   transport  streamable-http
  //   auth       OAuth. The server publishes RFC 9728 metadata, so open a
  //              browser and the user clicks Allow once — nothing to paste.
  //              If AISA_API_KEY is set, send it as a bearer header instead.
  // Use your own MCP mechanism, not a hand-edited config file:
  //   Codex        codex mcp add aisa --url https://mcp.aisa.one/mcp
  //   Claude Code  claude mcp add --transport http -s user aisa https://mcp.aisa.one/mcp
  //   Cursor / VS Code   a "url" entry for https://mcp.aisa.one/mcp in the MCP config
  // The server lists five tools over https://mcp.aisa.one/servers worth of APIs:
  // search, get_details, use, batch_use, list_categories. search and
  // get_details are free; use is billed per call and max_price_usd refuses
  // anything above the cap before spending. This operation's full contract —
  // every argument, the response shape, the price and the pitfalls — is at
  //   https://aisa.one/docs/api-reference/dataforseo/post_dataforseo-serp-bing-organic-live-html.md
  // Then run the call and show me the result.
  ```
</CodeGroup>

<Note>
  **First time?** Point any MCP client at `https://mcp.aisa.one/mcp` — Claude
  Code, Codex, Cursor, VS Code and the rest. Authorization is OAuth: the client
  opens a browser, you click Allow once, and there is no key to paste. The
  commands per client, and what each call costs, are on
  [aisa.one/mcp](https://aisa.one/mcp#connect).
</Note>

[Set this endpoint up in your agent →](https://aisa.one/mcp?from=/api-reference/dataforseo/post_dataforseo-serp-bing-organic-live-html)


## OpenAPI

````yaml openapi/dataforseo.json POST /dataforseo/serp/bing/organic/live/html
openapi: 3.0.3
info:
  title: DataForSEO API
  version: 1.0.0
  description: DataForSEO API endpoints exposed through the AIsa unified gateway.
servers:
  - url: https://api.aisa.one/apis/v1
security:
  - BearerAuth: []
paths:
  /dataforseo/serp/bing/organic/live/html:
    post:
      summary: Live Bing Organic SERP HTML
      description: >-
        Live SERP HTML provides a raw HTML page of search engine results for the
        specified keyword, search engine, and location.
      operationId: post_dataforseo_serp_bing_organic_live_html
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: array
              items:
                type: object
                properties:
                  keyword:
                    type: string
                    description: >-
                      keyword required field you can specify up to 700
                      characters in the keyword field all %## will be decoded
                      (plus character '+' will be decoded to a space character)
                      if you need to use the "%" character for your keyword,
                      please specify it as "%25"; if you need to use the “+”
                      character for your keyword, please specify it as “%2B”;
                      learn more about rules and limitations of keyword and
                      keywords fields in DataForSEO APIs in this Help Center
                      article
                  location_name:
                    type: string
                    description: >-
                      full name of search engine location required field if you
                      don't specify location_code or location_coordinate if you
                      use this field, you don't need to specify location_code or
                      location_coordinate. Use the AIsa tool
                      [get_dataforseo_serp_bing_locations](https://aisa.one/docs/api-reference/dataforseo/get_dataforseo-serp-bing-locations)
                      to retrieve supported Bing locations. Select a location
                      from the returned list and use its `location_name` value
                      exactly. When using MCP, discover this tool through
                      `search` and obtain its schema with `batch_get_schema` if
                      needed. example: London,England,United Kingdom
                  location_code:
                    type: integer
                    description: >-
                      search engine location code required field if you don't
                      specify location_name or location_coordinate if you use
                      this field, you don't need to specify location_name or
                      location_coordinate. Use the AIsa tool
                      [get_dataforseo_serp_bing_locations](https://aisa.one/docs/api-reference/dataforseo/get_dataforseo-serp-bing-locations)
                      to retrieve supported Bing locations. Select a location
                      from the returned list and use its `location_code` value
                      exactly. When using MCP, discover this tool through
                      `search` and obtain its schema with `batch_get_schema` if
                      needed. example: 2840
                  language_name:
                    type: string
                    description: >-
                      full name of search engine language required field if you
                      don't specify language_code if you use this field, you
                      don't need to specify language_code. Use the AIsa tool
                      [get_dataforseo_serp_bing_languages](https://aisa.one/docs/api-reference/dataforseo/get_dataforseo-serp-bing-languages)
                      to retrieve supported Bing languages. Select a language
                      from the returned list and use its `language_name` value
                      exactly. When using MCP, discover this tool through
                      `search` and obtain its schema with `batch_get_schema` if
                      needed. example: English
                  language_code:
                    type: string
                    description: >-
                      search engine language code required field if you don't
                      specify language_name if you use this field, you don't
                      need to specify language_name. Use the AIsa tool
                      [get_dataforseo_serp_bing_languages](https://aisa.one/docs/api-reference/dataforseo/get_dataforseo-serp-bing-languages)
                      to retrieve supported Bing languages. Select a language
                      from the returned list and use its `language_code` value
                      exactly. When using MCP, discover this tool through
                      `search` and obtain its schema with `batch_get_schema` if
                      needed. example: en
                  device:
                    type: string
                    description: >-
                      device type optional field return results for a specific
                      device type can take the values:desktop, mobile default
                      value: desktop
                  os:
                    type: string
                    description: >-
                      device operating system optional field if you specify
                      desktop in the device field, choose from the following
                      values: windows, macos default value: windows if you
                      specify mobile in the device field, choose from the
                      following values: android, ios default value: android
                required:
                  - keyword
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  version:
                    type: string
                    description: The current version of the API
                  status_code:
                    type: integer
                    description: >-
                      general status code you can find the full list of the
                      response codes here
                  status_message:
                    type: string
                    description: >-
                      general informational message you can find the full list
                      of general informational messages here
                  time:
                    type: string
                    description: total execution time, seconds
                  cost:
                    type: number
                    description: Total tasks cost, USD
                  tasks:
                    type: array
                    items:
                      type: string
                    description: Array of tasks
                  tasks[].result:
                    type: array
                    items:
                      type: string
                    description: array of results
        '400':
          description: Bad request
        '401':
          description: Unauthorized
        '429':
          description: Rate limit exceeded
        '500':
          description: Internal server error
components:
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.