75trust / 100

Fetch

by x402.browserbase.com in Search & web

x402 APIPassing, checked 1 min ago

Fetch a page and return content, headers, and metadata. $0.01 per request.

POST
https://x402.browserbase.com/fetch
Price
$0.01
per call in USDC
Uptime
100%
last 30 days
Response time
1.0 s
4.9 s slowest 5%
Last check
Passed
1 min ago, next in 26 min

Run a free test callHow to call it

Reliability

All checks passedSome failedAll failedNot checked

Status and outage history · Atom feed · Watch with other listings

How to call it

POST https://x402.browserbase.com/fetch

Each call costs $0.01 in USDC on Base, paid with the request over x402.

Run a free test callOne unpaid request, the way an agent sends it. You see the payment challenge it gets back. Nothing is charged.

Example request

Built from the input schema. Replace the values with your own.

POST https://x402.browserbase.com/fetch
content-type: application/json

{
  "url": "example"
}

Parameters

ParameterTypeRequiredDescription
allowInsecureSslbooleanNoBypass TLS verification (default false)
allowRedirectsbooleanNoFollow HTTP redirects (default false)
proxiesbooleanNoEnable proxy support (default false)
urlstringYesURL to fetch

Example response

The listing has no example response.

Call it from code

The curl command shows the payment challenge. The JavaScript and Python versions pay and call, and never pay more than $0.01.

curl: see the payment challenge
# bash or zsh: see the payment challenge. Nothing is charged.
curl -sS -g -i -X POST 'https://x402.browserbase.com/fetch' \
  -H 'content-type: application/json' \
  --data-raw '{"url":"example"}'

# x402 v2 sends the challenge base64-encoded in the PAYMENT-REQUIRED header (v1 sends it in the body).
# To read the header:
curl -sS -g -o /dev/null -D - -X POST 'https://x402.browserbase.com/fetch' \
  -H 'content-type: application/json' \
  --data-raw '{"url":"example"}' \
  | grep -i '^payment-required:' | cut -d' ' -f2 | tr -d '\r' | base64 --decode
JavaScript: pay and call
// npm i @x402/fetch @x402/evm viem
import { wrapFetchWithPayment, x402Client } from "@x402/fetch";
import { registerExactEvmScheme } from "@x402/evm/exact/client";
import { privateKeyToAccount } from "viem/accounts";

// Pays at most $0.01 per call.
const client = new x402Client().setSpendControls({ maxAmountPerPayment: "$0.01" });
registerExactEvmScheme(client, { signer: privateKeyToAccount(process.env.EVM_PRIVATE_KEY) });
const pay = wrapFetchWithPayment(fetch, client);

// Not sure it's safe to pay? ToolVet checks it first for $0.005. Pay for that from a separate
// client: this one is capped at $0.01 per payment. GET https://toolvet.app/api/v1/check?url=https%3A%2F%2Fx402.browserbase.com%2Ffetch&method=POST
const res = await pay("https://x402.browserbase.com/fetch", {
  method: "POST",
  headers: { "content-type": "application/json" },
  body: JSON.stringify({
    "url": "example"
  }),
});
console.log(res.status, await res.text());
Python: pay and call
# pip install "x402[requests,evm]"
import os
from eth_account import Account
from x402 import x402ClientSync
from x402.http.clients import x402_requests
from x402.mechanisms.evm import EthAccountSigner
from x402.mechanisms.evm.exact.register import register_exact_evm_client

# Pays at most $0.01 per call.
client = x402ClientSync().set_spend_controls({"max_amount_per_payment": "$0.01"})
register_exact_evm_client(client, EthAccountSigner(Account.from_key(os.environ["EVM_PRIVATE_KEY"])))

with x402_requests(client) as session:
    res = session.post(
        "https://x402.browserbase.com/fetch",
        json={
            "url": "example",
        },
    )
    print(res.status_code, res.text)

Security scan

1 finding

  • Payment address changed recently in payment
    Payment address on Base changed from 0x816B661968A4D1e792093363531FC778Addd49d4 to 0x853Eb282898732BD44a3c085CDD9Eea68a9999A9

Recent checks

WhenResultHTTPTimePrice
1 min agoPassed402930 ms$0.01
5 h agoPassed402988 ms$0.01
11 h agoPassed4027.7 s$0.01
16 h agoPassed4021.0 s$0.01
21 h agoPassed4021.0 s$0.01
Show 10 older checks
26 h agoPassed4021.1 s$0.01
31 h agoPassed4021.0 s$0.01
36 h agoPassed402997 ms$0.01
41 h agoPassed4021.1 s$0.01
45 h agoPassed4021.1 s$0.01
2 days agoPassed4021.1 s$0.01
2 days agoPassed4021.0 s$0.01
2 days agoPassed4021.0 s$0.01
3 days agoPassed4021.0 s$0.01
3 days agoPassed4026.4 s$0.01

History

18 Oct 2026Payment address on Base changed from 0x816B661968A4D1e792093363531FC778Addd49d4 to 0x853Eb282898732BD44a3c085CDD9Eea68a9999A9
18 Oct 2026Payment address on Base changed from 0x4bd3b27D5f2bB07Db6aEA5BeE62629FeCB490cfB to 0x816B661968A4D1e792093363531FC778Addd49d4
18 Oct 2026Payment address on Base changed from 0xB3A9deDA859d39eFF6c8b6aC18ad4409624Cb752 to 0x4bd3b27D5f2bB07Db6aEA5BeE62629FeCB490cfB
17 Oct 2026Payment address on Base changed from 0xf9145f4eC04f619F6d2406A8a637673A8915288A to 0xB3A9deDA859d39eFF6c8b6aC18ad4409624Cb752
17 Oct 2026Payment address on Base changed from 0x1b41C4E38F6fAc7410009B3Df8bB96D9b7b2eCd2 to 0xf9145f4eC04f619F6d2406A8a637673A8915288A
17 Oct 2026Payment address on Base changed from 0xa544c92312F86FD6AD79070D4EBc0c7b1Dbc0394 to 0x1b41C4E38F6fAc7410009B3Df8bB96D9b7b2eCd2
17 Oct 2026Payment address on Base changed from 0xB1484A9c6BAF50037127A52477a32508B06e8143 to 0xa544c92312F86FD6AD79070D4EBc0c7b1Dbc0394
17 Oct 2026Payment address on Base changed from 0x95De2484f06b09fd119005536a5CB2d256390996 to 0xB1484A9c6BAF50037127A52477a32508B06e8143
16 Oct 2026Payment address on Base changed from 0x4f79ec47cAf340Bea79C86D6934Bb6cFC48657e0 to 0x95De2484f06b09fd119005536a5CB2d256390996
16 Oct 2026Payment address on Base changed from 0xED6D1De0f617716d3aEf2298dceC534917bF2170 to 0x4f79ec47cAf340Bea79C86D6934Bb6cFC48657e0
16 Oct 2026Payment address on Base changed from 0x43e118F9dcE796fdf97f24ae860ed3C43302d7c4 to 0xED6D1De0f617716d3aEf2298dceC534917bF2170
16 Oct 2026Payment address on Base changed from 0x97D89b69323146Af4d329899b5be73C34f3a829B to 0x43e118F9dcE796fdf97f24ae860ed3C43302d7c4
16 Oct 2026Payment address on Base changed from 0xfF3f3140b3c9bD0dd745119F078004b0245fc54f to 0x97D89b69323146Af4d329899b5be73C34f3a829B
15 Oct 2026Payment address on Base changed from 0x3661F2d47072AECf15a1B52CbF19B9f49817620b to 0xfF3f3140b3c9bD0dd745119F078004b0245fc54f
15 Oct 2026Payment address on Base changed from 0xDeF568E6E0b7119E008EFE7d77c49f5d470eFCA5 to 0x3661F2d47072AECf15a1B52CbF19B9f49817620b