x402serps logox402serps

A Custom Search JSON API alternative before the 1 January 2027 shutdown

x402serps is a pay-per-call web and image search API for apps and AI agents. Each search costs $0.004, paid with USDC over x402 (no account) or with prepaid card credits. Results come from a third-party search provider and are returned as clean JSON.

x402serpsCustom Search JSON API
Available to new customersYesNo (closed to new customers)
End dateNone announcedExisting customers must transition by 1 January 2027
Price$0.004 per search$5 per 1,000 queries after 100 free a day (existing customers only)
Daily capNone on paid callsUp to 10,000 queries a day
SetupNo account with x402; or card creditsProgrammable Search Engine ID + API key
Result typesWeb, news, images, places, shopping, scholar, videosWeb and image
MCP server for agentsYesNo

Competitor details are from their public pricing and docs as of November 2026 and may change; check their sites for current terms.

What Google announced

Google's own documentation says: "The Custom Search JSON API is closed to new customers" and "Existing Custom Search JSON API customers have until January 1, 2027 to transition to an alternative solution." Google points site-restricted search users to Vertex AI Search. Source: developers.google.com/custom-search/v1/overview (checked 3 November 2026).

Parameter mapping

Custom Search JSON APIx402serps /api/v1/search
qq
num (max 10)num (up to 100, billed per 10)
startpage
gl / hlgl / hl
dateRestrictfreshness or dateFrom/dateTo
searchType=imagePOST /api/v1/images
siteSearchadd site:example.com to q
items[].title / link / snippetresults[].title / url / snippet

Why x402serps

No Programmable Search Engine to configure and no API key to request: an x402-aware client pays $0.004 per call in USDC on Base or Solana. If you prefer a card, buy a credit pack and send Authorization: Bearer xs_... . The same API also returns news, places, shopping, scholar and video results, and every endpoint is exposed as an MCP tool.

What's different

x402serps searches the whole web through a third-party search provider; it does not restrict results to a list of sites the way a Programmable Search Engine can. To limit results to one site, add site:example.com to your query.

How it works

The Custom Search JSON API has been closed to new customers, and Google says existing customers have until 1 January 2027 to move to another solution. If your code calls the customsearch/v1 endpoint with a key and a search engine ID (cx), you need a replacement before then.

x402serps returns the same kind of data an agent or script usually takes from Custom Search: an ordered list of organic results, each with a title, URL and snippet. There is no search engine ID to configure and no daily quota. The request is one POST with a q parameter; country (gl), language (hl), result count (num, up to 100) and pagination (page) map closely onto the Custom Search parameters you already use.

Migration is usually a few lines: change the URL, send q in a JSON body, and read results[] instead of items[]. The link field becomes url and htmlSnippet is dropped in favour of a plain-text snippet.

Request and response: /api/v1/search

POST /api/v1/search costs $0.004 per call. Send the parameters as a JSON body.

curl -X POST https://x402serps.com/api/v1/search \
  -H "content-type: application/json" \
  -H "X-Trial: 1" \
  -d '{"q":"x402 protocol","num":10,"gl":"us"}'

Example response (values shortened; field names are exactly what the API returns):

{
  "query": "x402 protocol",
  "provider": "primary",
  "results": [
    {
      "position": 1,
      "title": "x402",
      "url": "https://x402.org/",
      "snippet": "x402 is an open payment standard that lets clients pay for APIs and content over HTTP..."
    },
    {
      "position": 2,
      "title": "coinbase/x402: A payments protocol for the internet",
      "url": "https://github.com/coinbase/x402",
      "snippet": "x402 is a chain-agnostic protocol built around the HTTP 402 Payment Required status code..."
    }
  ]
}

Use cases

  • Replacing a site or web search box. Keep a server-side search feature working after the Custom Search shutdown date without rebuilding it.
  • Agents that need fresh web facts. Give an LLM tool call up-to-date results without managing quotas.
  • SEO and rank checks. Track positions for a keyword in a country with gl and page.
  • Research scripts. Batch many queries; each is priced independently at $0.004.

Paying for calls

Every call is priced on its own. With x402, an unpaid request returns HTTP 402 with the exact amount, asset and recipient for USDC on Base or Solana; your client signs a payment and repeats the same request, and results come back once the payment settles. No account or API key is involved. If you would rather pay by card, buy a credit pack on the pricing page and send Authorization: Bearer xs_.... Cached repeat queries cost half for credit keys, and failed calls are not charged. Paid calls have no per-minute rate limit.

FAQ

How do Custom Search parameters map to x402serps?

q stays q, num stays num (up to 100 here instead of 10), start becomes page (1 to 10), gl and hl work the same, and dateRestrict maps to freshness or dateFrom/dateTo.

Can I restrict results to one site?

Yes. Put site:example.com in the query, the same way you would in a search box. There is no separate search engine ID.

What does a search cost?

$0.004 per call for up to 10 results, paid by x402 or card credits.

Do I need an account or API key?

No. With x402 the payment travels with the request, so there is nothing to sign up for. An API key (xs_...) is only used if you choose to prepay with a card.

Which chains and tokens are accepted?

USDC on Base mainnet and Solana mainnet, using the x402 exact scheme. Testnets are not accepted.

Is there a free trial?

Yes. Send the header X-Trial: 1 on search, news, single-URL extract and the vertical endpoints. Trial calls are limited per network and to 10 a minute.

Try it free

Add the header X-Trial: 1 for free trial calls (limited per network and to 10 a minute). Paid calls (x402 or a credit key) have no per-minute rate limit.

curl -X POST https://x402serps.com/api/v1/search -H "X-Trial: 1" -H "content-type: application/json" -d '{"q":"site:example.com pricing"}'

Pricing · Docs · MCP · Integrations · Help

Related