payment-ready until 2026-08-20
Composable URL/metadata/data extraction APIs — URL to markdown, structured data extraction.
Pay from $0.002 per request in USDC on Base / Solana, settled onchain via the x402 protocol, no signup, no API key needed.
first settlement 2026-01-01 · $6.43 all-time · settled via coinbase
ASSESSMENT
updated 4h agoEvidence-backed signals, not a single score. Click any chip for the proof. Measured values stay read-only; unknown is honest.
reliability 100%
- uptime 24h
- 100%
- uptime 7d
- 99.9%
- uptime 30d
- 100%
- uptime 90d
- 99.9%
- response p95
- 1643ms
- avg response
- 976ms
- total checks
- 7,304
Measured on the unpaid 402 handshake, not the paid call. A service can 402 correctly and still fail after payment.
compliance A (14/14)
14 of 14 x402 conformance checks pass. Full checklist below.
price $0.002 (p21 in Data)
- price (min)
- $0.002
- category percentile (min)
- p21 in Data
- endpoints / prices
- 1 / 1
- model
- flat
- stability
- 100%
risk clean
No deterministic risk flag. Risk fires only on an exact blocklist match, or a reserved-brand name with a mismatched verified payTo. Never from low uptime, a high price, or a model guess.
- domain age
- 456d
- registrar
- GoDaddy.com, LLC
- hosting
- custom
- domain created
- 2025-05-11
Identity facts, not a risk score.
traction $0.394 30d · 18 buyers
- volume 30d
- $0.394
- buyers 30d
- 18
- settlements 30d
- 109
- first settlement
- 2026-01-01
- last settlement
- 2026-08-13
- top buyer share
- 36% of 30d volume
- trend 7d vs 30d
- 2.81x the 30d daily rate
- networks
- eip155:8453, solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdpKuc147dw2N9d
- volume all-time
- $6.43
- settlements all-time
- 3,291
- median settlement 30d
- $0.002
- max settlement 30d
- $0.01
- settled via
- coinbase ($0.39, 109 tx)
Conservative undercount: only USDC settlements via facilitators we measure are counted. A measured floor, not an estimate.
Top buyer share is a concentration signal, not part of the ranking score.
CHANGES
2 events, detecting since 2026-07-24Payout, price, and schema changes detected on this service's x402 wire. A payout rotation at an unchanged price shows up here even when nothing else moves. Full feed at /changes.
changes schema changed 36h ago (2 since 2026-07-24)
schema changed · 36h ago
schema removed GET /api/v1/x402/extract/url-metadata exact solana:5eykt4usfv8p8njdtrepy1vzqkqzkvdp EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v USDC 2 300 {"feePayer":"BENrLoUbndxoNMUS5JXApGMtNykLjFXXixMtpDwDR9SP"}
schema added GET /api/v1/x402/extract/url-metadata exact solana:5eykt4usfv8p8njdtrepy1vzqkqzkvdp EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v USDC 2 300 {"feePayer":"D6ZhtNQ5nT9ZnTHUbqXZsTx5MH2rPFiBBggX4hY1WePM"}
schema changed · 6d ago
schema removed GET /api/v1/x402/extract/url-metadata exact solana:5eykt4usfv8p8njdtrepy1vzqkqzkvdp EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v USDC 2 300 {"feePayer":"GVJJ7rdGiXr5xaYbRwRbjfaJL7fmwRygFi1H6aGqDveb"}
schema added GET /api/v1/x402/extract/url-metadata exact solana:5eykt4usfv8p8njdtrepy1vzqkqzkvdp EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v USDC 2 300 {"feePayer":"BENrLoUbndxoNMUS5JXApGMtNykLjFXXixMtpDwDR9SP"}
WHAT IT DOES
ai-derivedExtracts metadata from URLs for SEO audits
- category
- seo-audit
- in
- query params
- auth
- api key
AI-generated summary. The measured data is never altered by it.
ENDPOINTS
| METHOD | PATH | DESCRIPTION | PRICE | NETWORK | ASSET | 402 CHANNEL |
|---|---|---|---|---|---|---|
| GET | /api/v1/x402/extract/url-metadata | Extract URL metadata | $0.002 | Base/Solana | USDC | header |
REQUEST / RESPONSE EXAMPLE
An unpaid request to GET /api/v1/x402/extract/url-metadata returns HTTP 402 with the payment terms. Settle onchain via your facilitator, then retry with the X-Payment header.
curl -i 'https://minifetch.com/api/v1/x402/extract/url-metadata'
// 402 response (captured by monitor) · 1 payload · click to expand
[
{
"error": "Payment required",
"accepts": [
{
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"version": "2"
},
"payTo": "0xffA9155A0e4B3d8d42351Da226cC1feEe449686f",
"amount": "2000",
"scheme": "exact",
"network": "eip155:8453",
"maxTimeoutSeconds": 300
},
{
"asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
"extra": {
"feePayer": "D6ZhtNQ5nT9ZnTHUbqXZsTx5MH2rPFiBBggX4hY1WePM"
},
"payTo": "46vMcwuC4sK11sB3gkLhyA7J7GEwfkhn5rFyDtihBwqe",
"amount": "2000",
"scheme": "exact",
"network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
"maxTimeoutSeconds": 300
}
],
"resource": {
"url": "https://minifetch.com/api/v1/x402/extract/url-metadata",
"tags": [
"seo",
"metadata",
"json-ld",
"open-graph",
"meta-tags"
],
"iconUrl": "https://minifetch.com/favicon-96x96.png",
"mimeType": "application/json",
"description": "For technical SEO and metadata indexing: Extracts rich structured metadata from your URL: favicons, title, description, canonical, SEO-related meta tags, Open Graph and Twitter Card tags, JSON-LD, redirect chain, relevant response headers, performance metrics, headings, images and every meta tag found on the page. Returns everything by default; narrow with the fields option (atomic fields or the network/meta/og/twitter groups) and omitEmpty to trim tokens for agents",
"serviceName": "Minifetch Technical SEO API"
},
"extensions": {
"bazaar": {
"info": {
"input": {
"type": "http",
"method": "GET",
"queryParams": {
"url": "https://github.com"
}
},
"output": {
"type": "json",
"example": {
"results": [
{
"data": {
"url": "",
"lang": "",
"image": "",
"price": "",
"title": "",
"author": "",
"jsonld": [],
"og:url": "",
"robots": "",
"source": "",
"charset": "",
"creator": "",
"imgTags": [],
"og:type": "",
"release": "",
"favicons": [],
"headings": [],
"hostname": "",
"hreflang": [],
"keywords": "",
"og:image": "",
"og:title": "",
"referrer": "",
"viewport": "",
"canonical": "",
"fb:app_id": "",
"generator": "",
"googlebot": "",
"og:locale": "",
"publisher": "",
"redirects": {
"chain": [],
"count": 0
},
"ui-target": "",
"request-id": "",
"requestUrl": "",
"description": "",
"fetch-nonce": "",
"performance": {
"ttfbMs": 0,
"responseTimeMs": 0
},
"theme-color": "",
"twitter:url": "",
"availability": "",
"color-scheme": "",
"og:image:alt": "",
"og:site_name": "",
"page-subject": "",
"route-action": "",
"twitter:card": "",
"twitter:site": "",
"visitor-hmac": "",
"canonicalUrls": [],
"disable-turbo": "",
"og:determiner": "",
"og:image:type": "",
"priceCurrency": "",
"product:brand": "",
"route-pattern": "",
"twitter:image": "",
"twitter:title": "",
"minifetchCache": {
"hit": false,
"cachedAt": "",
"expiresAt": ""
},
"octolytics-url": "",
"og:description": "",
"og:image:width": "",
"twitter:player": "",
"x-pjax-version": "",
"html-safe-nonce": "",
"og:image:height": "",
"responseHeaders": {
"date": "",
"etag": "",
"vary": "",
"server": "",
"content-type": "",
"accept-ranges": "",
"cache-control": "",
"referrer-policy": "",
"x-frame-options": "",
"content-encoding": "",
"content-language": "",
"x-xss-protection": "",
"transfer-encoding": "",
"x-content-type-options": "",
"content-security-policy": "",
"strict-transport-security": ""
},
"twitter:creator": "",
"twitter:site:id": "",
"visitor-payload": "",
"apple-itunes-app": "",
"application-name": "",
"route-controller": "",
"browser-stats-url": "",
"expected-hostname": "",
"product:condition": "",
"twitter:image:alt": "",
"x-pjax-js-version": "",
"browser-errors-url": "",
"is_logged_out_page": "",
"responseStatusCode": 0,
"turbo-body-classes": "",
"twitter:account_id": "",
"twitter:creator:id": "",
"x-pjax-csp-version": "",
"x-pjax-css-version": "",
"og:image:secure_url": "",
"og:locale:alternate": "",
"turbo-cache-control": "",
"twitter:app:id:ipad": "",
"twitter:description": "",
"octolytics-page-type": "",
"product:availability": "",
"product:price:amount": "",
"twitter:app:url:ipad": "",
"twitter:player:width": "",
"product:item_group_id": "",
"twitter:app:id:iphone": "",
"twitter:app:name:ipad": "",
"twitter:player:height": "",
"twitter:player:stream": "",
"product:price:currency": "",
"twitter:app:url:iphone": "",
"octolytics-revenue-play": "",
"twitter:app:name:iphone": "",
"google-site-verification": "",
"product:retailer_item_id": "",
"github-keyboard-shortcuts": "",
"twitter:app:id:googleplay": "",
"twitter:app:url:googleplay": "",
"twitter:app:name:googleplay": "",
"current-catalog-service-hash": ""
}
}
],
"success": true,
"queryParameters": {
"omitEmpty": false,
"includeResponseBody": false
}
}
}
},
"schema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"type",
"method"
],
"properties": {
"type": {
"type": "string",
"const": "http"
},
"method": {
"enum": [
"GET"
],
"type": "string"
},
"queryParams": {
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"description": "The URL from which to extract metadata."
},
"fields": {
"type": "string",
"description": "Optional. Comma-separated selection to narrow the response to only the fields you need: comma-separated atomic field names (e.g. title, description), named groups (network, meta, og, twitter), and/or meta:<name> for a specific page meta tag. Returns all fields when omitted; an unknown field returns 400."
},
"omitEmpty": {
"type": "boolean",
"description": "Optional. If true, drops empty fields (empty string, [], {}) from the response for token efficiency."
},
"includeResponseBody": {
"type": "boolean",
"description": "Optional. If set to true, includes the full HTML response body as a string in the result."
}
}
}
},
"additionalProperties": false
},
"output": {
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"type": "string"
},
"example": {
"type": "object",
"properties": {
"results": {
"type": "array",
"description": "Array of result objects, each with a data property containing the extracted metadata: requestUrl, final url, response details, and comprehensive structured metadata (meta tags, open graph, twitter cards, json-ld, headings, images, etc.)"
},
"success": {
"type": "boolean"
},
"queryParameters": {
"type": "object"
}
}
}
}
}
}
}
}
},
"x402Version": 2
}
] OVER TIME
All charts use the 24h selector; each series spans only the dates it has data for. Every series is also served as JSON at /api/v1/services/minifetch/price, /scores, /volume and /buyers. On-chain volume and distinct buyers are measured over the service's settlement address and are a conservative undercount (only settlements that reach a measured facilitator are counted). The on-chain series roll up hourly, so the latest day can be up to about an hour behind; distinct buyers are counted per payout address, so a service that settles to more than one address is an upper bound.
checklist grew 11->14 on 2026-07-28; a step here is a metric change, not a regression
Measured site and economics pillars from the assessment history, so the latest value shown elsewhere on this page reads as a point on a trend rather than a permanent state.
COMPLIANCE
14/14 checks pass · grade Alast 402 captured 2026-08-12 · last up 2026-08-13
- 402 payload captured
- accepts[] array present
- payTo address recoverable
- payTo at accepts[0].payTo (conformant shape)
- payTo is a valid on-chain address
- atomic price declared
- atomic price in a sane range
- asset (token) address declared
- network resolves to CAIP-2
- payment scheme declared
- served over HTTPS
- declares the current x402 version (2)
- EIP-712 domain parameters present on every EVM entry
- x402 v2 envelope delivered in the payment-required header
SITE PILLARS
- homepage reachable
- openapi doc
- pricing page
- llms.txt
- robots.txt
- terms page
recent checks (18) live · click to expand
EMBED THIS BADGE
<a href="https://x402-list.com/services/minifetch?utm_source=badge&utm_medium=referral&utm_campaign=embed"> <img src="https://x402-list.com/badge/minifetch.svg" alt="Minifetch listed on x402-list" height="28"> </a>
[](https://x402-list.com/services/minifetch?utm_source=badge&utm_medium=referral&utm_campaign=embed)
<a href="https://x402-list.com/services/minifetch?utm_source=badge&utm_medium=referral&utm_campaign=embed"> <img src="https://x402-list.com/badge/minifetch.svg?data=uptime" alt="Minifetch uptime on x402-list" height="28"> </a>