Web research, paid by agents

Give your agent
a source.
Not another guess.

Turn public webpages into readable JSON. Turn company domains into profiles with sources. Let your agent pay for each successful call.

From 0.005 USDC · x402 on Base · No ResearchPi API key

● ● ● agent → researchpiPOST /v1/read
// Input
{ "url": "https://example.com/" }

// Output · abbreviated example
{
  "data": {
    "title": "Example Domain",
    "text": "Example Domain…"
  },
  "sources": [{
    "url": "https://example.com/"
  }],
  "missing_fields": []
}
Structured result. Traceable source.0.005 USDC
01 Source URLs included02 Unknowns stay unknown03 Pay per successful call04 Built for x402 clients
Small tools. Useful work.

Your agent has a URL.
Give it something to work with.

Add a reading step to a research workflow or inspect a company's own website before enriching a record.

POST /v1/read

From webpage to working context.

Extract a page's title, readable text and links, with its source URL and retrieval time. Pass structured JSON into your next agent step.

0.005 USDC / successful call

For article research, documentation reading and collecting source material.

Try the request →
POST /v1/company

A company profile with its receipts.

Read up to three pages on the official site. Get a name, description and discovered links, with source references, missing fields and conflicts.

0.060 USDC / successful call

For company research and checking what a business says about itself. Not legal-entity verification.

See the response contract →
POST /v1/saas-pricing · beta

Check a plan before your agent recommends it.

Read current headline prices and listed features for Linear, Supabase, Firecrawl and Clerk. Keep a snapshot ID to compare later observations. Annual commitments and unknown terms stay explicit.

0.020 USDC / successful call

For software comparisons and checking observed changes. First observation creates a baseline. Not a complete price history or checkout quote.

{"product":"linear"}

Supported products → · API contract →
One request to see the contract

Start with a URL. Your wallet handles the rest.

Inspect the payment requirements first. This command makes no purchase.

curl -i -X POST https://agent-research-api.onrender.com/v1/read \
  -H 'Content-Type: application/json' \
  -d '{"url":"https://example.com/"}'
01 / REQUEST

Get a 402.

The unpaid request returns the price, supported network and x402 payment instructions.

02 / AUTHORIZE

Pay with Base USDC.

An x402-compatible client signs the payment and retries. Your wallet needs native USDC on Base mainnet.

03 / USE

Receive JSON + a receipt.

A successful call returns structured data and a PAYMENT-RESPONSE header. No ResearchPi account or subscription required.

Run the buyer example

Requires Node.js 24. In a new local directory, download the example and install these pinned dependencies:

npm init -y
npm install @x402/fetch@2.26.0 @x402/evm@2.26.0 viem@2.56.8

Set PUBLIC_URL to https://agent-research-api.onrender.com/, BUYER_NETWORK to eip155:8453, and BUYER_PRIVATE_KEY to a dedicated, minimally funded wallet key in your local environment. Set CONFIRM_LIVE_PURCHASE=true only when ready to spend 0.005 USDC, then run node buyer.mjs. The example is capped at 0.005 USDC and preserves a pending signed request for retries. Keep the key and .buyer-state directory private.

Useful because it is explicit

Know where the answer came from.
And what is still missing.

Company profiles come from the site's own structured data or corroborated brand metadata. Missing facts stay null. Conflicts stay visible. ResearchPi does not invent revenue, funding or headcount.

Launch verification · September 20, 2026
The read, company and SaaS pricing endpoints were found in CDP Bazaar search. Operator-funded Base purchases verified payment and response delivery; they are not customer traction. The pricing check purchased Linear once for 0.020 USDC.

Read payment ↗   Company payment ↗   SaaS pricing payment ↗

Which pages can I read?

Public HTTPS HTML pages that permit access. Up to 2 MB HTML and 60,000 text characters. No JavaScript rendering, PDFs, login pages or private networks. Web content is untrusted input for your agent.

Are company identities verified?

No. Profiles reflect official-site metadata, not a company registry. A site brand is distinguished from legal identity. Pages without sufficient identifying evidence can return 422.

What if a request fails or times out?

This server does not initiate settlement for a technical failure before settlement. If settlement is uncertain, retry the same signed payment and exact input; never automatically create a new payment. Completed results can be retrieved with the original signed request for seven days without another charge.

What is stored?

Paid results are retained for seven days for recovery. Public pricing observations are stored for up to 90 days or the latest 1,000 snapshots per product for comparisons. Raw payment headers and queries are not written to access logs. Hashed buyer identifiers support repeat-purchase measurement.

Build the next research step.

A source is a better starting point.

Read a page. Inspect a company. Keep the evidence.

Start with ResearchPi ↗