Bright Data · Arazzo Workflow

Bright Data Submit SERP Request and Retrieve Results

Version 1.0.0

Submit an asynchronous SERP request and poll for the parsed search results.

1 workflow 1 source API 1 provider
View Spec View on GitHub Web DataWeb ScrapingProxyResidential ProxyDatacenter ProxyISP ProxyMobile ProxySERPWeb UnlockerScraping BrowserDataset MarketplaceMCPAI AgentsArazzoWorkflows

Provider

bright-data

Workflows

submit-and-fetch-serp
Submit a SERP request and poll until the parsed results are ready.
Submits a search-engine query for a SERP zone and polls the result endpoint, which returns 202 until the parsed SERP payload is ready and 200 with the results once complete.
2 steps inputs: apiToken, country, device, url, zone outputs: general, organic, responseId
1
submitRequest
submitSerpRequest
Submit the asynchronous SERP request for the given zone and search URL, returning a response id used to poll for the parsed payload.
2
pollResult
getSerpResult
Poll for the parsed SERP result. The endpoint returns 202 while the request is still processing and 200 with the organic and ads blocks once ready.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: Bright Data Submit SERP Request and Retrieve Results
  summary: Submit an asynchronous SERP request and poll for the parsed search results.
  description: >-
    The asynchronous SERP API pattern. The workflow submits a search-engine
    request against a SERP zone, receives a response id, and polls the result
    endpoint until the parsed payload is available. The result endpoint returns
    202 while the request is still processing and 200 once the organic, ads, and
    related blocks are ready. Every step spells out its request inline so the
    flow can be read and executed without opening the underlying OpenAPI
    description.
  version: 1.0.0
sourceDescriptions:
- name: serpApi
  url: ../openapi/_superseded/bright-data-serp-api-openapi.yml
  type: openapi
workflows:
- workflowId: submit-and-fetch-serp
  summary: Submit a SERP request and poll until the parsed results are ready.
  description: >-
    Submits a search-engine query for a SERP zone and polls the result endpoint,
    which returns 202 until the parsed SERP payload is ready and 200 with the
    results once complete.
  inputs:
    type: object
    required:
    - apiToken
    - zone
    - url
    properties:
      apiToken:
        type: string
        description: Bright Data API token used as a Bearer credential.
      zone:
        type: string
        description: SERP zone name to route the request through.
      url:
        type: string
        description: Constructed search-engine URL (e.g. https://www.google.com/search?q=pizza).
      country:
        type: string
        description: Two-letter country code for geo-targeting.
      device:
        type: string
        description: Device profile (desktop, mobile, tablet).
  steps:
  - stepId: submitRequest
    description: >-
      Submit the asynchronous SERP request for the given zone and search URL,
      returning a response id used to poll for the parsed payload.
    operationId: submitSerpRequest
    parameters:
    - name: Authorization
      in: header
      value: "Bearer $inputs.apiToken"
    requestBody:
      contentType: application/json
      payload:
        zone: $inputs.zone
        url: $inputs.url
        country: $inputs.country
        device: $inputs.device
        format: json
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      responseId: $response.body#/response_id
  - stepId: pollResult
    description: >-
      Poll for the parsed SERP result. The endpoint returns 202 while the
      request is still processing and 200 with the organic and ads blocks once
      ready.
    operationId: getSerpResult
    parameters:
    - name: Authorization
      in: header
      value: "Bearer $inputs.apiToken"
    - name: response_id
      in: query
      value: $steps.submitRequest.outputs.responseId
    successCriteria:
    - condition: $statusCode == 200
    onSuccess:
    - name: resultReady
      type: end
    onFailure:
    - name: notReadyRetry
      type: goto
      stepId: pollResult
      criteria:
      - condition: $statusCode == 202
    outputs:
      organic: $response.body#/organic
      ads: $response.body#/ads
      general: $response.body#/general
  outputs:
    responseId: $steps.submitRequest.outputs.responseId
    organic: $steps.pollResult.outputs.organic
    general: $steps.pollResult.outputs.general

Work with this as data

Every workflow here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for arazzo workflows

4 MCP tools reach this
  • find_arazzoBrowse and filter every workflow in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This workflow
curl "https://apis.io/api/v1/arazzo/bright-data-serp-search-workflow"
All arazzo workflows
curl "https://apis.io/api/v1/arazzo?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.