Api Endpoint

x402.orthogonal.com

Retrieve search results or queue a search for later retrieval. Supports Google engine with geotargeting by country, subdivision, and city. Returns structured SERP data. Pagination billing: call the first page normally and save billing.requestId from the Orthogonal /v1/run response. For later page, offset, or cursor calls on the same logical search, pass parentRequestId with unchanged non-pagination parameters. Valid continuation calls still get their own request IDs and quoted price, but are charged 0. Changing filters starts a new billable request.

Open interactive test console

Offering

Provider
x402.orthogonal.com
Method
GET
Offering type
Api Endpoint
Transport type
http
Category
Web Search Research
Delivery
Not provided
Pricing model
Not provided
x402 version
2

Endpoint context

URL
https://x402.orthogonal.com/joinmassive/search
MIME type
Not provided
First seen
2026-10-16T01:58:48.885Z
Last seen
Tags
None supplied

Payment pricing

x402 payment terms are the authoritative price for calling this endpoint.

Payment option 1
0.0125 USDC
Atomic price: 12500 · Network: eip155:8453 · Asset: USDC · Scheme: exact
Payment option 2
12500 atomic units
Atomic price: 12500 · Network: eip155:8453 · Asset: 0xB2000000000000000000002fEb517dFeC7415344 · Scheme: exact
Payment option 3
0.0125 USDC
Atomic price: 12500 · Network: eip155:143 · Asset: USDC · Scheme: exact
Raw x402 terms
[
  {
    "scheme": "exact",
    "network": "eip155:8453",
    "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
    "amount": "12500",
    "payTo": "0xA049EBF67b048ebCd76Db2063ff68e500CE96a94"
  },
  {
    "scheme": "exact",
    "network": "eip155:8453",
    "asset": "0xB2000000000000000000002fEb517dFeC7415344",
    "amount": "12500",
    "payTo": "0xA049EBF67b048ebCd76Db2063ff68e500CE96a94"
  },
  {
    "scheme": "exact",
    "network": "eip155:143",
    "asset": "0x754704Bc059F8C67012fEd69BC8A327a5aafb603",
    "amount": "12500",
    "payTo": "0xA049EBF67b048ebCd76Db2063ff68e500CE96a94"
  }
]

Observed health

Status
Healthy
Latest latency
267 ms
Average latency
365 ms
HTTP status
402
Last checked
Reachability
100% over 10 checks

Latency is measured to the first response headers. A reachable result does not verify response accuracy or merchant identity.

Input schema

{
  "type": "object",
  "properties": {
    "type": {
      "type": "string",
      "const": "http"
    },
    "method": {
      "type": "string",
      "enum": [
        "GET"
      ]
    },
    "queryParams": {
      "type": "object",
      "properties": {
        "terms": {
          "type": "string",
          "description": "The broad or exact word or phrase to query"
        },
        "engine": {
          "type": "string",
          "description": "Search engine (google)"
        },
        "serps": {
          "type": "integer",
          "description": "Number of results pages (1-10, default 1)"
        },
        "size": {
          "type": "integer",
          "description": "Results per page (0-100)"
        },
        "offset": {
          "type": "integer",
          "description": "Initial results to skip For later offset pages of the same logical search, keep non-pagination parameters unchanged and pass top-level parentRequestId from the first Orthogonal /v1/run response."
        },
        "device": {
          "type": "string",
          "description": "Device name to emulate"
        },
        "uule": {
          "type": "string",
          "description": "Proprietary encoded string for emulating search location"
        },
        "country": {
          "type": "string",
          "description": "Two-letter ISO country code"
        },
        "subdivision": {
          "type": "string",
          "description": "First-level subdivision code"
        },
        "city": {
          "type": "string",
          "description": "City name"
        },
        "language": {
          "type": "string",
          "description": "Language name or ISO code"
        },
        "display": {
          "type": "string",
          "description": "Display language for the search interface"
        },
        "url": {
          "type": "string",
          "description": "Encoded results page URL (up to 2047 chars); overrides other params"
        },
        "awaiting": {
          "type": "string",
          "description": "Lazy features to wait for (ai, answers, ads); repeatable"
        },
        "expiration": {
          "type": "integer",
          "description": "Cache expiration in days (0 disables)"
        },
        "callback": {
          "type": "string",
          "description": "Encoded callback URL or SQS queue URL/ARN for async notification"
        },
        "mode": {
          "type": "string",
          "description": "sync or async mode"
        },
        "format": {
          "type": "string",
          "description": "Output format accepted by Massive: html or json. Defaults to html when omitted.",
          "default": "html",
          "example": "json"
        }
      }
    }
  },
  "required": [
    "type",
    "method"
  ],
  "additionalProperties": false
}

Output schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "input": {
      "type": "object",
      "properties": {
        "type": {
          "type": "string",
          "const": "http"
        },
        "method": {
          "type": "string",
          "enum": [
            "GET"
          ]
        },
        "queryParams": {
          "type": "object",
          "properties": {
            "terms": {
              "type": "string",
              "description": "The broad or exact word or phrase to query"
            },
            "engine": {
              "type": "string",
              "description": "Search engine (google)"
            },
            "serps": {
              "type": "integer",
              "description": "Number of results pages (1-10, default 1)"
            },
            "size": {
              "type": "integer",
              "description": "Results per page (0-100)"
            },
            "offset": {
              "type": "integer",
              "description": "Initial results to skip For later offset pages of the same logical search, keep non-pagination parameters unchanged and pass top-level parentRequestId from the first Orthogonal /v1/run response."
            },
            "device": {
              "type": "string",
              "description": "Device name to emulate"
            },
            "uule": {
              "type": "string",
              "description": "Proprietary encoded string for emulating search location"
            },
            "country": {
              "type": "string",
              "description": "Two-letter ISO country code"
            },
            "subdivision": {
              "type": "string",
              "description": "First-level subdivision code"
            },
            "city": {
              "type": "string",
              "description": "City name"
            },
            "language": {
              "type": "string",
              "description": "Language name or ISO code"
            },
            "display": {
              "type": "string",
              "description": "Display language for the search interface"
            },
            "url": {
              "type": "string",
              "description": "Encoded results page URL (up to 2047 chars); overrides other params"
            },
            "awaiting": {
              "type": "string",
              "description": "Lazy features to wait for (ai, answers, ads); repeatable"
            },
            "expiration": {
              "type": "integer",
              "description": "Cache expiration in days (0 disables)"
            },
            "callback": {
              "type": "string",
              "description": "Encoded callback URL or SQS queue URL/ARN for async notification"
            },
            "mode": {
              "type": "string",
              "description": "sync or async mode"
            },
            "format": {
              "type": "string",
              "description": "Output format accepted by Massive: html or json. Defaults to html when omitted.",
              "default": "html",
              "example": "json"
            }
          }
        }
      },
      "required": [
        "type",
        "method"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "input"
  ]
}