Hyperbrowser · Arazzo Workflow

Hyperbrowser Web Search then Fetch

Version 1.0.0

Search the web, confirm results, then fetch the top result page as markdown.

1 workflow 1 source API 1 provider
View Spec View on GitHub Headless BrowserBrowser InfrastructureWeb ScrapingWeb CrawlingData ExtractionAI AgentsBrowser AutomationComputer UseStealthProxiesCAPTCHA SolvingMCPHyperAgentX402ArazzoWorkflows

Provider

hyperbrowser

Workflows

web-search-then-fetch
Search the web and fetch the page content of the top result.
Performs a web search, branches on whether any results were returned, and fetches the first result's page content when a result is found.
2 steps inputs: apiKey, query outputs: links, markdown, topResultUrl
1
search
post-api-web-search
Run a web search for the query and capture the URL of the top result to fetch next.
2
fetchTop
post-api-web-fetch
Fetch the top search result's page and return its rendered markdown, links, and metadata.

Source API Descriptions

Arazzo Workflow Specification

hyperbrowser-web-search-then-fetch-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Hyperbrowser Web Search then Fetch
  summary: Search the web, confirm results, then fetch the top result page as markdown.
  description: >-
    A research primitive that chains the Web API search and fetch endpoints. The
    workflow runs a web search for a query, confirms the search completed with at
    least one result, and then fetches the top result's page, returning its
    rendered markdown, links, and metadata. 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: webApi
  url: ../openapi/hyperbrowser-web-api-openapi.yml
  type: openapi
workflows:
- workflowId: web-search-then-fetch
  summary: Search the web and fetch the page content of the top result.
  description: >-
    Performs a web search, branches on whether any results were returned, and
    fetches the first result's page content when a result is found.
  inputs:
    type: object
    required:
    - apiKey
    - query
    properties:
      apiKey:
        type: string
        description: Hyperbrowser account API key sent in the x-api-key header.
      query:
        type: string
        description: The web search query string.
  steps:
  - stepId: search
    description: >-
      Run a web search for the query and capture the URL of the top result to
      fetch next.
    operationId: post-api-web-search
    parameters:
    - name: x-api-key
      in: header
      value: $inputs.apiKey
    requestBody:
      contentType: application/json
      payload:
        query: $inputs.query
    successCriteria:
    - condition: $statusCode == 200
    - context: $response.body
      condition: $.status == "completed"
      type: jsonpath
    outputs:
      status: $response.body#/status
      topResultUrl: $response.body#/data/results/0/url
    onSuccess:
    - name: hasResults
      type: goto
      stepId: fetchTop
      criteria:
      - context: $response.body
        condition: $.data.results.length > 0
        type: jsonpath
  - stepId: fetchTop
    description: >-
      Fetch the top search result's page and return its rendered markdown,
      links, and metadata.
    operationId: post-api-web-fetch
    parameters:
    - name: x-api-key
      in: header
      value: $inputs.apiKey
    requestBody:
      contentType: application/json
      payload:
        url: $steps.search.outputs.topResultUrl
        outputs:
          formats:
          - markdown
          - links
    successCriteria:
    - condition: $statusCode == 200
    - context: $response.body
      condition: $.status == "completed"
      type: jsonpath
    outputs:
      status: $response.body#/status
      markdown: $response.body#/data/markdown
      links: $response.body#/data/links
  outputs:
    topResultUrl: $steps.search.outputs.topResultUrl
    markdown: $steps.fetchTop.outputs.markdown
    links: $steps.fetchTop.outputs.links