Skip to main content

readfetch-client

Python x402 REST client for readfetch.com — all published catalog routes plus feedback and claims.

Checkout: tools/client-py. GitHub: ./scripts/publish-client-py.sh.

Install

pip install readfetch-client

Use

export EVM_PRIVATE_KEY=0x…   # paid routes only
import asyncio
from readfetch_client import (
    call,
    probe_with_meta,
    readfetch_text,
    readfetch_map,
    readfetch_crawl_status,
    submit_feedback,
    submit_claim,
)

async def main():
    check, request_id = await probe_with_meta("https://example.com")
    if not check.get("challenge"):
        await readfetch_text("https://example.com")
    await readfetch_map({"url": "https://example.com", "max_urls": 20})
    job = await call("crawl", {"url": "https://example.com", "max_pages": 3})
    await readfetch_crawl_status(job["id"])
    if request_id:
        await submit_feedback(request_id, "integration", "…")

asyncio.run(main())

Named helpers: readfetch_text, readfetch_map, readfetch_scrape, readfetch_residential, readfetch_fetch, readfetch_batch, readfetch_pdf, readfetch_section, readfetch_diff, readfetch_screenshot, readfetch_search, readfetch_crawl, readfetch_crawl_status. Generic: await call("search", {"query": "…"}).

Payment (x402)

Paid routes use x402 + x402HttpxClient: on 402, the client signs and retries. No key is required for quotes.

from readfetch_client import (
    payment_config,
    quote,
    call_with_meta,
    x402_http_client,
)

print(payment_config())  # base_url, network, max_payment_usd, buyer_address, signing_ready

q = await quote("text", {"url": "https://example.com"})  # 402 + payment_required

meta = await call_with_meta("text", {"url": "https://example.com"})
# meta["data"], meta["request_id"], meta["payment"] (receipt, payment_response, …)

async with x402_http_client() as http:
    ...

pay(name, body) aliases call() for paid endpoints.

Environment

Variable Default Purpose
EVM_PRIVATE_KEY / X402_BUYER_KEY — Required before paid calls
READFETCH_BASE_URL https://readfetch.com Production host only unless dev
READFETCH_MAX_PAYMENT_USD 1 Per-payment spend cap
READFETCH_DEV=1 off Allow local base URL for integration tests

MCP: @readfetch/mcp-x402-proxy. Feedback: docs#feedback.

Metadata

Release files for readfetch-client 0.1.11

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for readfetch-client 0.1.11
File Size Uploaded Provenance Actions
readfetch_client-0.1.11.tar.gz 8.8 kB Without provenance Details for readfetch_client-0.1.11.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for readfetch-client 0.1.11
File Interpreter ABI Platform Actions
readfetch_client-0.1.11-py3-none-any.whl Python 3 none any Details for readfetch_client-0.1.11-py3-none-any.whl

Total release size: 18.3 kB

Release files / readfetch_client-0.1.11.tar.gz

Download URL readfetch_client-0.1.11.tar.gz
Size 8.8 kB
Tags Source
SHA-256 checksum
How to use checksums
cb97452a48118ef857102e7251074e8bb6ca6ed4838ecf95f914debfed4c9abf
BLAKE2b-256 checksum
How to use checksums
8bf1bb3258b080a4dad633e13d3e0a0766c17f3edc03031cc0afaa57ecd34a84
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.6

Release files / readfetch_client-0.1.11-py3-none-any.whl

Download URL readfetch_client-0.1.11-py3-none-any.whl
Size 9.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
457009dca5bb02725ac23d75388cd97c785205c4cad42477714e116c59d96ff7
BLAKE2b-256 checksum
How to use checksums
5eaa2a73219cb7ad5c944389c1dba196a70df12a53bda37ef6a30457de98b64a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.6

Security for readfetch-client 0.1.11

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.11 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page