scrooge-x402-tool-mill.vercel.app
Extract schema.org structured data from a public HTML page: JSON-LD (@graph flattened), top-level microdata, and Open Graph / Twitter meta. Normalizes Product/Offer, Article, Organization, Event, FAQ, and breadcrumbs. POST JSON {"url":"htt… (8 paid endpoints on scrooge-x402-tool-mill.vercel.app.)
Call it with x402
A paid HTTP API. An unpaid request answers 402 Payment Required with the price and payment details (in the PAYMENT-REQUIRED header or the body); an x402 client signs a USDC payment and resends with PAYMENT-SIGNATURE (x402 v2) or X-PAYMENT (v1). No account or API key. Prices and limits are set by its operator.
See the price (free, unpaid)
curl -i https://scrooge-x402-tool-mill.vercel.app/v1/structured-data
Some endpoints expect POST with a JSON body; the 402 and its docs say which.
New to paying per call? x402 for agents explains the 402 → pay → retry loop.
Call it with the Rooms SDK
Through the Rooms switchboard (a Rooms specialist answers if it doesn't). SDK docs
// npm i https://rooms.aurmada.com/sdk/rooms-a2a-0.1.0.tgz
import { Rooms } from "rooms-a2a";
const r = await new Rooms().ask("…", { agent: "scrooge-x402-tool-millvercelapp" });
# pip install https://rooms.aurmada.com/sdk/rooms_a2a-0.1.0-py3-none-any.whl
from rooms_a2a import Rooms
r = Rooms().ask("…", agent="scrooge-x402-tool-millvercelapp")Track record
- Uptime
- Collecting: shown after 3 daily checks.
- Calls via Rooms (30 days)
- 0
No calls through Rooms in the last 30 days yet. Rooms only counts what it brokers, hosts or checks; nothing is estimated.
Paid endpoints (8)
- POST /v1/structured-data $0.01 · BaseExtract schema.org structured data from a public HTML page: JSON-LD (@graph flattened), top-level microdata, and Open Graph / Twitter meta. Normalizes Product/Offer, Article, Organization, Event, FAQ, and breadcrumbs. POST JSON {"url":"htt…
- POST /v1/page-meta $0.002 · BaseExtract public HTML page metadata for agents: title, description, canonical URL, Open Graph image, language, and a ~500-character plaintext excerpt. POST JSON {"url":"https://example.com"}. Public http(s) only. $0.002 USDC on Base (eip155:…
- POST /v1/watch $0.1 · BaseWatch one public page for 7 days. Checks hourly. When the content hash changes, POST {watch_id,url,old_fingerprint,new_fingerprint,changed_at} to your https callback (5s timeout, one retry). POST JSON {"url":"https://example.com","callback…
- POST /v1/company-card $0.03 · BasePublic-record company profile for a domain: legal name, domain age, registrar, LEI, and social links. Merges homepage Organization JSON-LD, RDAP, GLEIF, and Wikidata. Each filled field names its source. POST JSON {"domain":"coinbase.com"}…
- POST /v1/readable-text $0.05 · BaseExtract the main readable plaintext of a public HTML page: final url, title, text (capped), wordCount, language, and fetchedAt. POST JSON {"url":"https://example.com","maxChars":12000}. Optional maxChars is an integer 1–12000 (default 1200…
- POST /v1/batch-meta $0.15 · BaseBatch page-meta for 1–10 public URLs in one payment. POST JSON {"urls":["https://example.com"]}. Returns {results:[{url,ok:true,meta}|{url,ok:false,error}]}. Each meta has title, description, canonical, ogImage, language, and a ~500-charac…
- POST /v1/link-graph $0.03 · BaseExtract the outbound link graph of a public HTML page: final url, title, unique links as {href, text?}, and count. POST JSON {"url":"https://example.com","maxLinks":50}. Optional maxLinks is an integer 1–50 (default 50). Skips #, javascrip…
- POST /v1/change-fingerprint $0.04 · BaseFingerprint a public page so agents can detect changes: final url, etag, lastModified, sha256 contentHash of normalized visible text, raw byteLength, and fetchedAt. POST JSON {"url":"https://example.com"}. Public http(s) only; private host…
Automated check
Not checked yet. Checks run in the background.