{"data":{"slug":"machine-shop-catalog-update-gate-and-data-tools","name":"Machine Shop — Catalog Update Gate and data tools","description":"Turn existing Apify product dataset exports into safe catalog updates. Reconcile against a previous accepted snapshot and explicit flat contract; quarantine duplicate conflicts, invalid prices and schema drift. Catalog Gate costs 0.050000 USDC per batch on Base, with free schema, example and HTTP/MCP previews. Additional text, document and structured-data tools have separate published prices. No source fetching or inferred deletions.","base_url":"https://api.pay-forge.online","website_url":"https://api.pay-forge.online/v2/buyer-guide","category":"Data","endpoint_count":30,"min_price_usd":0.004,"uptime_24h":100,"source":"submitted","status":"online","verified":false,"verified_until":null,"payment_ready":true,"payment_ready_until":"2026-11-03T14:29:06.976Z","last_success_at":"2026-10-27T14:29:06.976Z","consecutive_failures":0,"check_interval_minutes":15,"last_checked_at":"2026-10-27T14:29:06.976Z","created_at":"2026-10-27T11:31:09.208Z","uptime":{"24h":100,"7d":100,"30d":100,"90d":100,"coverage":{"24h":{"daysCovered":1,"checkCount":10},"7d":{"daysCovered":1,"checkCount":10},"30d":{"daysCovered":1,"checkCount":10},"90d":{"daysCovered":1,"checkCount":10}}},"avg_response_time_ms":100,"total_checks":12,"networks":["BSE"],"networks_caip2":["eip155:8453"],"asset":"USDC","endpoints":[{"id":"0d66a246-be3e-4742-9700-30171068beaa","method":"POST","path":"/v1/batch-normalize-text","description":"Normalize up to 100 texts with NFKC and whitespace cleanup in one payment. Preserve input order; fail the entire batch on invalid input. Limit: 50000 combined input string characters; batch maximum 100. JSON POST; invalid input returns 422, size limit 413. Unpaid production requests return x402 402 before input validation.","mime_type":"application/json","is_active":true,"first_seen_at":"2026-10-27T11:31:09.208Z","last_seen_at":"2026-10-27T14:29:06.932Z","variable_amount":false,"min_price_usd":0.006,"networks":["BSE"],"pricing":[{"scheme":"exact","network":"eip155:8453","network_caip2":"eip155:8453","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","asset_address_norm":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","asset_name":"USDC","price":"6000","price_usd":"0.0060000000","pay_to":"0xd8dd9fc8c143207ddbe84e1e9237f11a69814cb5","max_timeout_seconds":300}],"pay_to_divergence":null},{"id":"7e31ca20-bb18-4599-9afb-262f6565afe9","method":"POST","path":"/v1/chunk-text","description":"Split text into fixed Unicode-character windows with configurable overlap and exact [start,end) offsets. No token counting or semantic boundaries. Maximum 2000 chunks. Limit: 50000 combined input string characters; batch maximum 100. JSON POST; invalid input returns 422, size limit 413. Unpaid production requests return x402 402 before input validation.","mime_type":"application/json","is_active":true,"first_seen_at":"2026-10-27T11:31:09.208Z","last_seen_at":"2026-10-27T14:29:06.801Z","variable_amount":false,"min_price_usd":0.004,"networks":["BSE"],"pricing":[{"scheme":"exact","network":"eip155:8453","network_caip2":"eip155:8453","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","asset_address_norm":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","asset_name":"USDC","price":"4000","price_usd":"0.0040000000","pay_to":"0xd8dd9fc8c143207ddbe84e1e9237f11a69814cb5","max_timeout_seconds":300}],"pay_to_divergence":null},{"id":"904d419a-a1c1-4744-9344-2943c4571408","method":"POST","path":"/v1/clean-text","description":"Clean whitespace in scraped text, OCR output or pasted documents before indexing, entity extraction, text comparison or LLM input. Deterministic text cleanup: normalize CRLF/CR to LF, collapse runs of ASCII spaces/tabs within each line, trim each line using Unicode whitespace rules, remove empty lines, preserve nonempty line breaks and letter case. Returns text, chars_before (after newline normalization), and chars_after. This is whitespace cleanup, not OCR, HTML parsing, spelling correction or PII redaction. POST application/json. Limit: 50000 input Unicode characters per request; for comparison, the lengths of a and b are added. Empty strings are accepted. Extra JSON properties are ignored. Errors after payment verification: 413 for the character limit; 422 for missing/non-string fields or malformed JSON, and for URL parsing errors. Unpaid calls return 402 with a base64 JSON PAYMENT-REQUIRED header before input validation. Handler error responses are not settled.","mime_type":"application/json","is_active":true,"first_seen_at":"2026-10-27T11:31:09.208Z","last_seen_at":"2026-10-27T14:29:06.766Z","variable_amount":false,"min_price_usd":0.004,"networks":["BSE"],"pricing":[{"scheme":"exact","network":"eip155:8453","network_caip2":"eip155:8453","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","asset_address_norm":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","asset_name":"USDC","price":"4000","price_usd":"0.0040000000","pay_to":"0xd8dd9fc8c143207ddbe84e1e9237f11a69814cb5","max_timeout_seconds":300}],"pay_to_divergence":null},{"id":"2a43ae81-f6f9-4ef8-a269-7555f138e9e3","method":"POST","path":"/v1/compare-text","description":"Compare text using deterministic, case-insensitive bag-of-words token-overlap similarity for lexical duplicate screening. Lowercase each input and tokenize with Python Unicode regex \\w+ (letters, digits and underscores). Count repeated tokens. Similarity = sum(min(count_a(token),count_b(token))) / max(words_a,words_b,1), rounded to four decimal places. Returns exactly similarity in [0,1], words_a and words_b. Word order and punctuation are ignored; both token-empty inputs score 0, even when equal. Does not measure semantic similarity, Levenshtein edit distance, cosine similarity, or produce a text diff. POST application/json with a and b. Limit: 50000 input Unicode characters per request; for comparison, the lengths of a and b are added. Empty strings are accepted. Extra JSON properties are ignored. Errors after payment verification: 413 for the character limit; 422 for missing/non-string fields or malformed JSON, and for URL parsing errors. Unpaid calls return 402 with a base64 JSON PAYMENT-REQUIRED header before input validation. Handler error responses are not settled.","mime_type":"application/json","is_active":true,"first_seen_at":"2026-10-27T11:31:09.208Z","last_seen_at":"2026-10-27T14:29:06.760Z","variable_amount":false,"min_price_usd":0.004,"networks":["BSE"],"pricing":[{"scheme":"exact","network":"eip155:8453","network_caip2":"eip155:8453","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","asset_address_norm":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","asset_name":"USDC","price":"4000","price_usd":"0.0040000000","pay_to":"0xd8dd9fc8c143207ddbe84e1e9237f11a69814cb5","max_timeout_seconds":300}],"pay_to_divergence":null},{"id":"71b41d78-db8e-4c90-9bce-735b8d9c2018","method":"POST","path":"/v1/csv-to-json","description":"Convert comma-separated CSV with a unique header row into JSON rows. All cell values stay strings. Unequal row width returns 422; no type guessing. Limit: 50000 combined input string characters; batch maximum 100. JSON POST; invalid input returns 422, size limit 413. Unpaid production requests return x402 402 before input validation.","mime_type":"application/json","is_active":true,"first_seen_at":"2026-10-27T11:31:09.208Z","last_seen_at":"2026-10-27T14:29:06.871Z","variable_amount":false,"min_price_usd":0.005,"networks":["BSE"],"pricing":[{"scheme":"exact","network":"eip155:8453","network_caip2":"eip155:8453","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","asset_address_norm":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","asset_name":"USDC","price":"5000","price_usd":"0.0050000000","pay_to":"0xd8dd9fc8c143207ddbe84e1e9237f11a69814cb5","max_timeout_seconds":300}],"pay_to_divergence":null},{"id":"b8a28d46-ce5b-45e8-8888-fefdd2c2b146","method":"POST","path":"/v1/deduplicate-documents","description":"Normalize up to 100 documents with NFKC and whitespace cleanup, deduplicate by exact resulting text, return unique text and original duplicate indices. No semantic matching. Limit: 50000 combined input string characters; batch maximum 100. JSON POST; invalid input returns 422, size limit 413. Unpaid production requests return x402 402 before input validation.","mime_type":"application/json","is_active":true,"first_seen_at":"2026-10-27T11:31:09.208Z","last_seen_at":"2026-10-27T14:29:06.924Z","variable_amount":false,"min_price_usd":0.005,"networks":["BSE"],"pricing":[{"scheme":"exact","network":"eip155:8453","network_caip2":"eip155:8453","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","asset_address_norm":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","asset_name":"USDC","price":"5000","price_usd":"0.0050000000","pay_to":"0xd8dd9fc8c143207ddbe84e1e9237f11a69814cb5","max_timeout_seconds":300}],"pay_to_divergence":null},{"id":"6300e233-f5b4-472f-b38a-b8c13a724403","method":"POST","path":"/v1/deduplicate-urls","description":"Normalize and deduplicate up to 100 URLs using existing normalize-url rules; return unique URLs and duplicate indices. No requests or redirects. Limit: 50000 combined input string characters; batch maximum 100. JSON POST; invalid input returns 422, size limit 413. Unpaid production requests return x402 402 before input validation.","mime_type":"application/json","is_active":true,"first_seen_at":"2026-10-27T11:31:09.208Z","last_seen_at":"2026-10-27T14:29:06.790Z","variable_amount":false,"min_price_usd":0.005,"networks":["BSE"],"pricing":[{"scheme":"exact","network":"eip155:8453","network_caip2":"eip155:8453","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","asset_address_norm":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","asset_name":"USDC","price":"5000","price_usd":"0.0050000000","pay_to":"0xd8dd9fc8c143207ddbe84e1e9237f11a69814cb5","max_timeout_seconds":300}],"pay_to_divergence":null},{"id":"d23e9532-95af-4062-b67e-a9f515169632","method":"POST","path":"/v1/extract-entities","description":"Deterministic regex entity extraction and email extraction from caller-supplied text. Returns exactly emails, urls and money arrays, each sorted and deduplicated by exact case-sensitive string equality, preserving matched case. Email patterns use Python case-insensitive [A-Z], digits and common email punctuation with a letter TLD of length >=2, case-insensitive matching. URL patterns start with lowercase http:// or https:// and end at whitespace, angle brackets or quotes; trailing punctuation can remain. Money patterns match $/€/£ followed by a digit and digits/commas/dots, or a number followed by USD/EUR/GBP, with one optional whitespace separator and case-insensitive currency codes. Money is returned as strings, not validated numeric amounts. Currency-code patterns have no trailing word boundary: 5 USDC can yield the partial match 5 USD; USDC is not recognized as a distinct currency. Does not extract people, organizations, locations, dates or standalone crypto addresses; not semantic named-entity recognition. No URL fetch or email verification. POST application/json with text. Limit: 50000 input Unicode characters per request; for comparison, the lengths of a and b are added. Empty strings are accepted. Extra JSON properties are ignored. Errors after payment verification: 413 for the character limit; 422 for missing/non-string fields or malformed JSON, and for URL parsing errors. Unpaid calls return 402 with a base64 JSON PAYMENT-REQUIRED header before input validation. Handler error responses are not settled.","mime_type":"application/json","is_active":true,"first_seen_at":"2026-10-27T11:31:09.208Z","last_seen_at":"2026-10-27T14:29:06.724Z","variable_amount":false,"min_price_usd":0.004,"networks":["BSE"],"pricing":[{"scheme":"exact","network":"eip155:8453","network_caip2":"eip155:8453","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","asset_address_norm":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","asset_name":"USDC","price":"4000","price_usd":"0.0040000000","pay_to":"0xd8dd9fc8c143207ddbe84e1e9237f11a69814cb5","max_timeout_seconds":300}],"pay_to_divergence":null},{"id":"973a01a2-2e7c-46f6-b331-b5ee9eb98629","method":"POST","path":"/v1/extract-json-fields","description":"Extract caller-selected RFC6901 JSON pointers. Missing paths return 422. Empty pointer selects the root. Limit: 50000 combined input string characters; batch maximum 100. JSON POST; invalid input returns 422, size limit 413. Unpaid production requests return x402 402 before input validation.","mime_type":"application/json","is_active":true,"first_seen_at":"2026-10-27T11:31:09.208Z","last_seen_at":"2026-10-27T14:29:06.747Z","variable_amount":false,"min_price_usd":0.004,"networks":["BSE"],"pricing":[{"scheme":"exact","network":"eip155:8453","network_caip2":"eip155:8453","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","asset_address_norm":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","asset_name":"USDC","price":"4000","price_usd":"0.0040000000","pay_to":"0xd8dd9fc8c143207ddbe84e1e9237f11a69814cb5","max_timeout_seconds":300}],"pay_to_divergence":null},{"id":"7063a26c-1cbe-488f-bd13-22a0fabbac02","method":"POST","path":"/v1/extract-patterns","description":"Return sorted unique email, URL, money, ISO-date-shaped and EVM-address-shaped matches. Pattern matching only; dates, checksums and deliverability are unvalidated. Money uses legacy USD/EUR/GBP patterns; 5 USDC can produce a partial 5 USD match. Limit: 50000 combined input string characters; batch maximum 100. JSON POST; invalid input returns 422, size limit 413. Unpaid production requests return x402 402 before input validation.","mime_type":"application/json","is_active":true,"first_seen_at":"2026-10-27T11:31:09.208Z","last_seen_at":"2026-10-27T14:29:06.895Z","variable_amount":false,"min_price_usd":0.004,"networks":["BSE"],"pricing":[{"scheme":"exact","network":"eip155:8453","network_caip2":"eip155:8453","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","asset_address_norm":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","asset_name":"USDC","price":"4000","price_usd":"0.0040000000","pay_to":"0xd8dd9fc8c143207ddbe84e1e9237f11a69814cb5","max_timeout_seconds":300}],"pay_to_divergence":null},{"id":"0e1e4585-a9ae-4366-8bd8-ebf7d9917558","method":"POST","path":"/v1/html-links","description":"Extract closed HTML anchors and their text; resolve relative URLs against optional base_url. Destinations are untrusted and never fetched. Limit: 50000 combined input string characters; batch maximum 100. JSON POST; invalid input returns 422, size limit 413. Unpaid production requests return x402 402 before input validation.","mime_type":"application/json","is_active":true,"first_seen_at":"2026-10-27T11:31:09.208Z","last_seen_at":"2026-10-27T14:29:06.813Z","variable_amount":false,"min_price_usd":0.004,"networks":["BSE"],"pricing":[{"scheme":"exact","network":"eip155:8453","network_caip2":"eip155:8453","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","asset_address_norm":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","asset_name":"USDC","price":"4000","price_usd":"0.0040000000","pay_to":"0xd8dd9fc8c143207ddbe84e1e9237f11a69814cb5","max_timeout_seconds":300}],"pay_to_divergence":null},{"id":"68ed4317-1b7d-42a5-acad-a441b3951999","method":"POST","path":"/v1/html-metadata","description":"Extract title, description, language, canonical URL and named/property meta tags from supplied HTML. Limit: 50000 combined input string characters; batch maximum 100. JSON POST; invalid input returns 422, size limit 413. Unpaid production requests return x402 402 before input validation.","mime_type":"application/json","is_active":true,"first_seen_at":"2026-10-27T11:31:09.208Z","last_seen_at":"2026-10-27T14:29:06.845Z","variable_amount":false,"min_price_usd":0.004,"networks":["BSE"],"pricing":[{"scheme":"exact","network":"eip155:8453","network_caip2":"eip155:8453","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","asset_address_norm":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","asset_name":"USDC","price":"4000","price_usd":"0.0040000000","pay_to":"0xd8dd9fc8c143207ddbe84e1e9237f11a69814cb5","max_timeout_seconds":300}],"pay_to_divergence":null},{"id":"ecf3cd36-b24b-4fd4-ab93-c5de47821ce5","method":"POST","path":"/v1/html-prepare-document","description":"Convert supplied static HTML to text and basic Markdown, extract metadata, links and JSON-LD, then normalize, deduplicate lines, extract patterns and chunk the text into a RAG document. Limit: 50000 combined input string characters; batch maximum 100. JSON POST; invalid input returns 422, size limit 413. Unpaid production requests return x402 402 before input validation.","mime_type":"application/json","is_active":true,"first_seen_at":"2026-10-27T11:31:09.208Z","last_seen_at":"2026-10-27T14:29:06.855Z","variable_amount":false,"min_price_usd":0.01,"networks":["BSE"],"pricing":[{"scheme":"exact","network":"eip155:8453","network_caip2":"eip155:8453","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","asset_address_norm":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","asset_name":"USDC","price":"10000","price_usd":"0.0100000000","pay_to":"0xd8dd9fc8c143207ddbe84e1e9237f11a69814cb5","max_timeout_seconds":300}],"pay_to_divergence":null},{"id":"f68a0643-aa5c-4263-87a6-c5ddd89465d0","method":"POST","path":"/v1/html-to-markdown","description":"Convert static HTML headings, paragraphs, lists and anchors to Markdown. Tables, CSS and JavaScript are unsupported. Limit: 50000 combined input string characters; batch maximum 100. JSON POST; invalid input returns 422, size limit 413. Unpaid production requests return x402 402 before input validation.","mime_type":"application/json","is_active":true,"first_seen_at":"2026-10-27T11:31:09.208Z","last_seen_at":"2026-10-27T14:29:06.753Z","variable_amount":false,"min_price_usd":0.004,"networks":["BSE"],"pricing":[{"scheme":"exact","network":"eip155:8453","network_caip2":"eip155:8453","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","asset_address_norm":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","asset_name":"USDC","price":"4000","price_usd":"0.0040000000","pay_to":"0xd8dd9fc8c143207ddbe84e1e9237f11a69814cb5","max_timeout_seconds":300}],"pay_to_divergence":null},{"id":"c83aec08-b63a-4363-961e-81f61eb5157e","method":"POST","path":"/v1/html-to-text","description":"Remove scripts, styles, templates and markup from static HTML; return visible text with line breaks. Limit: 50000 combined input string characters; batch maximum 100. JSON POST; invalid input returns 422, size limit 413. Unpaid production requests return x402 402 before input validation.","mime_type":"application/json","is_active":true,"first_seen_at":"2026-10-27T11:31:09.208Z","last_seen_at":"2026-10-27T14:29:06.887Z","variable_amount":false,"min_price_usd":0.004,"networks":["BSE"],"pricing":[{"scheme":"exact","network":"eip155:8453","network_caip2":"eip155:8453","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","asset_address_norm":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","asset_name":"USDC","price":"4000","price_usd":"0.0040000000","pay_to":"0xd8dd9fc8c143207ddbe84e1e9237f11a69814cb5","max_timeout_seconds":300}],"pay_to_divergence":null},{"id":"a629346b-2e21-4a3f-9d1d-0ffeb46e236d","method":"POST","path":"/v1/normalize-json","description":"Parse JSON and emit compact recursively key-sorted JSON. Python numeric precision applies; not cryptographic JSON canonicalization. Duplicate keys use last value. Limit: 50000 combined input string characters; batch maximum 100. JSON POST; invalid input returns 422, size limit 413. Unpaid production requests return x402 402 before input validation.","mime_type":"application/json","is_active":true,"first_seen_at":"2026-10-27T11:31:09.208Z","last_seen_at":"2026-10-27T14:29:06.733Z","variable_amount":false,"min_price_usd":0.004,"networks":["BSE"],"pricing":[{"scheme":"exact","network":"eip155:8453","network_caip2":"eip155:8453","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","asset_address_norm":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","asset_name":"USDC","price":"4000","price_usd":"0.0040000000","pay_to":"0xd8dd9fc8c143207ddbe84e1e9237f11a69814cb5","max_timeout_seconds":300}],"pay_to_divergence":null},{"id":"1b9517fe-bb26-43bd-b6be-e0b7e3045e6f","method":"POST","path":"/v1/normalize-text","description":"Apply Unicode NFKC then normalize whitespace and remove blank lines; preserve letter case. NFKC can change character meaning. Limit: 50000 combined input string characters; batch maximum 100. JSON POST; invalid input returns 422, size limit 413. Unpaid production requests return x402 402 before input validation.","mime_type":"application/json","is_active":true,"first_seen_at":"2026-10-27T11:31:09.208Z","last_seen_at":"2026-10-27T14:29:06.864Z","variable_amount":false,"min_price_usd":0.004,"networks":["BSE"],"pricing":[{"scheme":"exact","network":"eip155:8453","network_caip2":"eip155:8453","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","asset_address_norm":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","asset_name":"USDC","price":"4000","price_usd":"0.0040000000","pay_to":"0xd8dd9fc8c143207ddbe84e1e9237f11a69814cb5","max_timeout_seconds":300}],"pay_to_divergence":null},{"id":"8e91aee6-a523-490a-a0ac-340f0265d280","method":"POST","path":"/v1/normalize-url","description":"Normalize URL strings for link deduplication and stable hashing without network access. Deterministic URL normalization using Python urllib.parse: strip surrounding whitespace, require parsed http/https scheme and nonempty authority, lowercase scheme and the entire authority (including any userinfo), use / for an empty path, remove the final path-parameter component and fragment. Decode/re-encode query pairs with urllib.parse.parse_qsl/urlencode, preserving order, duplicate keys and blank values; remove keys beginning with utm_, fbclid, gclid or yclid case-insensitively. Does not sort queries, resolve dot segments, remove default ports or validate port numbers/hosts; ports remain in the lowercased authority. Not a fetch, redirect resolver, security validator or universal canonical URL equivalence test. Returns exactly url and sha256 (SHA-256 of its UTF-8 bytes). Non-http(s), missing authority and parser errors return 422. POST application/json with url. Limit: 50000 input Unicode characters per request; for comparison, the lengths of a and b are added. Empty strings are accepted. Extra JSON properties are ignored. Errors after payment verification: 413 for the character limit; 422 for missing/non-string fields or malformed JSON, and for URL parsing errors. Unpaid calls return 402 with a base64 JSON PAYMENT-REQUIRED header before input validation. Handler error responses are not settled.","mime_type":"application/json","is_active":true,"first_seen_at":"2026-10-27T11:31:09.208Z","last_seen_at":"2026-10-27T14:29:06.877Z","variable_amount":false,"min_price_usd":0.004,"networks":["BSE"],"pricing":[{"scheme":"exact","network":"eip155:8453","network_caip2":"eip155:8453","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","asset_address_norm":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","asset_name":"USDC","price":"4000","price_usd":"0.0040000000","pay_to":"0xd8dd9fc8c143207ddbe84e1e9237f11a69814cb5","max_timeout_seconds":300}],"pay_to_divergence":null},{"id":"4f2aa771-c715-4580-9d55-f19a791b0265","method":"POST","path":"/v1/prepare-document","description":"Produce a RAG document: NFKC and whitespace normalization, exact repeated-line removal, SHA256, pattern entities and overlapping character chunks. Repeated lines are intentionally removed; no semantic analysis. Limit: 50000 combined input string characters; batch maximum 100. JSON POST; invalid input returns 422, size limit 413. Unpaid production requests return x402 402 before input validation.","mime_type":"application/json","is_active":true,"first_seen_at":"2026-10-27T11:31:09.208Z","last_seen_at":"2026-10-27T14:29:06.904Z","variable_amount":false,"min_price_usd":0.01,"networks":["BSE"],"pricing":[{"scheme":"exact","network":"eip155:8453","network_caip2":"eip155:8453","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","asset_address_norm":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","asset_name":"USDC","price":"10000","price_usd":"0.0100000000","pay_to":"0xd8dd9fc8c143207ddbe84e1e9237f11a69814cb5","max_timeout_seconds":300}],"pay_to_divergence":null},{"id":"fb2f36ff-bd89-43db-8ad6-74e7da201d50","method":"POST","path":"/v1/repair-json","description":"Repair code-fenced JSON or JSON-compatible Python literals including single quotes and trailing commas. Unsupported repairs return 422; no invented fields. Limit: 50000 combined input string characters; batch maximum 100. JSON POST; invalid input returns 422, size limit 413. Unpaid production requests return x402 402 before input validation.","mime_type":"application/json","is_active":true,"first_seen_at":"2026-10-27T11:31:09.208Z","last_seen_at":"2026-10-27T14:29:06.825Z","variable_amount":false,"min_price_usd":0.004,"networks":["BSE"],"pricing":[{"scheme":"exact","network":"eip155:8453","network_caip2":"eip155:8453","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","asset_address_norm":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","asset_name":"USDC","price":"4000","price_usd":"0.0040000000","pay_to":"0xd8dd9fc8c143207ddbe84e1e9237f11a69814cb5","max_timeout_seconds":300}],"pay_to_divergence":null},{"id":"8f6d3a41-fbbe-4bfb-b8ab-147da093f5cc","method":"POST","path":"/v1/url-to-markdown","description":"Fetch one public static HTML/text page and return basic Markdown and final URL. Static fetch: default ports only; public DNS/IPs only; maximum 3 redirects, 1MB, 15s body deadline plus DNS/connect time. No JavaScript, cookies, auth, paywall bypass, browser or paid upstream. Upstream, safety or parsing errors return 422 without settlement. Limit: 50000 combined input string characters; batch maximum 100. JSON POST; invalid input returns 422, size limit 413. Unpaid production requests return x402 402 before input validation.","mime_type":"application/json","is_active":true,"first_seen_at":"2026-10-27T11:31:09.208Z","last_seen_at":"2026-10-27T14:29:06.950Z","variable_amount":false,"min_price_usd":0.006,"networks":["BSE"],"pricing":[{"scheme":"exact","network":"eip155:8453","network_caip2":"eip155:8453","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","asset_address_norm":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","asset_name":"USDC","price":"6000","price_usd":"0.0060000000","pay_to":"0xd8dd9fc8c143207ddbe84e1e9237f11a69814cb5","max_timeout_seconds":300}],"pay_to_divergence":null},{"id":"c9e6977d-1db4-4900-b160-864e55b5f848","method":"POST","path":"/v1/url-to-text","description":"Fetch one public static HTML/text page and return cleaned text and final URL. Static fetch: default ports only; public DNS/IPs only; maximum 3 redirects, 1MB, 15s body deadline plus DNS/connect time. No JavaScript, cookies, auth, paywall bypass, browser or paid upstream. Upstream, safety or parsing errors return 422 without settlement. Limit: 50000 combined input string characters; batch maximum 100. JSON POST; invalid input returns 422, size limit 413. Unpaid production requests return x402 402 before input validation.","mime_type":"application/json","is_active":true,"first_seen_at":"2026-10-27T11:31:09.208Z","last_seen_at":"2026-10-27T14:29:06.819Z","variable_amount":false,"min_price_usd":0.006,"networks":["BSE"],"pricing":[{"scheme":"exact","network":"eip155:8453","network_caip2":"eip155:8453","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","asset_address_norm":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","asset_name":"USDC","price":"6000","price_usd":"0.0060000000","pay_to":"0xd8dd9fc8c143207ddbe84e1e9237f11a69814cb5","max_timeout_seconds":300}],"pay_to_divergence":null},{"id":"124f2e83-781e-4468-8590-c25c6e409b82","method":"POST","path":"/v1/webpage-metadata","description":"Fetch one public static HTML/text page and return title, description, canonical URL, language and meta tags. Static fetch: default ports only; public DNS/IPs only; maximum 3 redirects, 1MB, 15s body deadline plus DNS/connect time. No JavaScript, cookies, auth, paywall bypass, browser or paid upstream. Upstream, safety or parsing errors return 422 without settlement. Limit: 50000 combined input string characters; batch maximum 100. JSON POST; invalid input returns 422, size limit 413. Unpaid production requests return x402 402 before input validation.","mime_type":"application/json","is_active":true,"first_seen_at":"2026-10-27T11:31:09.208Z","last_seen_at":"2026-10-27T14:29:06.832Z","variable_amount":false,"min_price_usd":0.006,"networks":["BSE"],"pricing":[{"scheme":"exact","network":"eip155:8453","network_caip2":"eip155:8453","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","asset_address_norm":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","asset_name":"USDC","price":"6000","price_usd":"0.0060000000","pay_to":"0xd8dd9fc8c143207ddbe84e1e9237f11a69814cb5","max_timeout_seconds":300}],"pay_to_divergence":null},{"id":"7b4775c4-c516-470e-bbb2-7227562fbba3","method":"POST","path":"/v1/webpage-prepare-document","description":"Fetch one public static page and return text, basic Markdown, metadata, links, JSON-LD plus normalized, line-deduplicated, hashed, entity-extracted and chunked RAG content. Static fetch: default ports only; public DNS/IPs only; maximum 3 redirects, 1MB, 15s body deadline plus DNS/connect time. No JavaScript, cookies, auth, paywall bypass, browser or paid upstream. Upstream, safety or parsing errors return 422 without settlement. Limit: 50000 combined input string characters; batch maximum 100. JSON POST; invalid input returns 422, size limit 413. Unpaid production requests return x402 402 before input validation.","mime_type":"application/json","is_active":true,"first_seen_at":"2026-10-27T11:31:09.208Z","last_seen_at":"2026-10-27T14:29:06.957Z","variable_amount":false,"min_price_usd":0.015,"networks":["BSE"],"pricing":[{"scheme":"exact","network":"eip155:8453","network_caip2":"eip155:8453","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","asset_address_norm":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","asset_name":"USDC","price":"15000","price_usd":"0.0150000000","pay_to":"0xd8dd9fc8c143207ddbe84e1e9237f11a69814cb5","max_timeout_seconds":300}],"pay_to_divergence":null},{"id":"1f9c3c62-5a8d-46ba-958a-78c5daea825b","method":"POST","path":"/v2/api-migration-pack","description":"Compare two OpenAPI versions against the API operations you actually use. Return breaking changes, affected calls, prioritized migration actions and regression-test vectors with specification evidence. POST baseline/candidate/consumer JSON; optional policy. Idempotency-Key required for paid requests. Unknown/unsupported => REVIEW. 202: reuse original authorization/key/input; never pay again. Schema: https://api.pay-forge.online/v2/api-migration-pack/schema Free example: https://api.pay-forge.online/v2/api-migration-pack/example","mime_type":"application/json","is_active":true,"first_seen_at":"2026-10-27T11:31:09.208Z","last_seen_at":"2026-10-27T14:29:06.807Z","variable_amount":false,"min_price_usd":0.02,"networks":["BSE"],"pricing":[{"scheme":"exact","network":"eip155:8453","network_caip2":"eip155:8453","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","asset_address_norm":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","asset_name":"USDC","price":"20000","price_usd":"0.0200000000","pay_to":"0xd8dd9fc8c143207ddbe84e1e9237f11a69814cb5","max_timeout_seconds":300}],"pay_to_divergence":null},{"id":"eaa7cdd5-df9a-4f7f-9a92-47f91e22d018","method":"POST","path":"/v2/catalog-update-gate","description":"Reconcile an Apify-style product dataset against a previous accepted catalog and explicit flat field contract. Return ingestion-ready inserts/updates, unchanged records, quarantines, duplicate resolution, money/unit checks, schema drift and field source pointers. Upsert only; no inferred deletion, fetching or external purchases. Maximum 50 current and 50 previous records, 16 scalar fields, 100000 input bytes. Fixed 0.050000 USDC per batch.","mime_type":"application/json","is_active":true,"first_seen_at":"2026-10-27T11:31:09.208Z","last_seen_at":"2026-10-27T14:29:06.942Z","variable_amount":false,"min_price_usd":0.05,"networks":["BSE"],"pricing":[{"scheme":"exact","network":"eip155:8453","network_caip2":"eip155:8453","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","asset_address_norm":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","asset_name":"USDC","price":"50000","price_usd":"0.0500000000","pay_to":"0xd8dd9fc8c143207ddbe84e1e9237f11a69814cb5","max_timeout_seconds":300}],"pay_to_divergence":null},{"id":"197ec578-8a24-4acd-ae08-f5b8e4608735","method":"POST","path":"/v2/change-impact-report","description":"Compare two supplied text snapshots. Return added, removed and replaced line ranges, before/after evidence and review actions. No scheduled monitoring or inferred business impact.","mime_type":"application/json","is_active":true,"first_seen_at":"2026-10-27T11:31:09.208Z","last_seen_at":"2026-10-27T14:29:06.912Z","variable_amount":false,"min_price_usd":0.025,"networks":["BSE"],"pricing":[{"scheme":"exact","network":"eip155:8453","network_caip2":"eip155:8453","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","asset_address_norm":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","asset_name":"USDC","price":"25000","price_usd":"0.0250000000","pay_to":"0xd8dd9fc8c143207ddbe84e1e9237f11a69814cb5","max_timeout_seconds":300}],"pay_to_divergence":null},{"id":"23a7fa2c-7bfa-41c5-8fbd-fec6906fbf63","method":"POST","path":"/v2/evidence-search-pack","description":"Search up to eight supplied text documents. Return ranked matching excerpts, exact offsets and source hashes. No web search or external retrieval.","mime_type":"application/json","is_active":true,"first_seen_at":"2026-10-27T11:31:09.208Z","last_seen_at":"2026-10-27T14:29:06.783Z","variable_amount":false,"min_price_usd":0.02,"networks":["BSE"],"pricing":[{"scheme":"exact","network":"eip155:8453","network_caip2":"eip155:8453","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","asset_address_norm":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","asset_name":"USDC","price":"20000","price_usd":"0.0200000000","pay_to":"0xd8dd9fc8c143207ddbe84e1e9237f11a69814cb5","max_timeout_seconds":300}],"pay_to_divergence":null},{"id":"1b9c3dd0-c3c6-4110-b093-1d1519fe5844","method":"POST","path":"/v2/provider-preflight","description":"Analyze a supplied x402 v2 challenge against native Base USDC and an optional amount cap. Return check-by-check evidence and integration guidance. No provider contact, purchase, uptime or delivery certification.","mime_type":"application/json","is_active":true,"first_seen_at":"2026-10-27T11:31:09.208Z","last_seen_at":"2026-10-27T14:29:06.772Z","variable_amount":false,"min_price_usd":0.01,"networks":["BSE"],"pricing":[{"scheme":"exact","network":"eip155:8453","network_caip2":"eip155:8453","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","asset_address_norm":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","asset_name":"USDC","price":"10000","price_usd":"0.0100000000","pay_to":"0xd8dd9fc8c143207ddbe84e1e9237f11a69814cb5","max_timeout_seconds":300}],"pay_to_divergence":null},{"id":"52b29c85-9dc3-4651-9d77-8feab14f4ffb","method":"POST","path":"/v2/schema-extract","description":"Map up to 30 JSON Pointers to named typed fields in your supplied JSON. Return values, missing/type errors and pointer evidence. No coercion, OCR, scraping or generated fields.","mime_type":"application/json","is_active":true,"first_seen_at":"2026-10-27T11:31:09.208Z","last_seen_at":"2026-10-27T14:29:06.741Z","variable_amount":false,"min_price_usd":0.015,"networks":["BSE"],"pricing":[{"scheme":"exact","network":"eip155:8453","network_caip2":"eip155:8453","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","asset_address_norm":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","asset_name":"USDC","price":"15000","price_usd":"0.0150000000","pay_to":"0xd8dd9fc8c143207ddbe84e1e9237f11a69814cb5","max_timeout_seconds":300}],"pay_to_divergence":null}],"pay_to_changes":[],"assessment":{"updated_at":"2026-10-27T11:33:38.880Z","input_hash":"758512374c42a533b22b555dfaf2bcbabd0d7bb2714e5f58fad861bc66e0366d","model_id":null,"prompt_version":null,"reliability":{"uptime":{"24h":null,"7d":null,"30d":null,"90d":null},"response_p95_ms":48,"avg_response_ms":48,"last_checked_at":"2026-10-27T11:32:05.624Z","consecutive_failures":-1,"total_checks":1},"compliance":{"grade":"A","passed":14,"total":14,"checks":[{"id":"payload_captured","label":"402 payload captured","pass":true},{"id":"accepts_present","label":"accepts[] array present","pass":true},{"id":"payto_recoverable","label":"payTo address recoverable","pass":true},{"id":"payto_conformant","label":"payTo at accepts[0].payTo (conformant shape)","pass":true},{"id":"payto_shape","label":"payTo is a valid on-chain address","pass":true},{"id":"price_present","label":"atomic price declared","pass":true},{"id":"price_sane","label":"atomic price in a sane range","pass":true},{"id":"asset_declared","label":"asset (token) address declared","pass":true},{"id":"network_caip2","label":"network resolves to CAIP-2","pass":true},{"id":"scheme_declared","label":"payment scheme declared","pass":true},{"id":"transport_https","label":"served over HTTPS","pass":true},{"id":"x402_version_current","label":"declares the current x402 version (2)","pass":true},{"id":"eip712_domain_extra","label":"EIP-712 domain parameters present on every EVM entry","pass":true},{"id":"version_channel_coherent","label":"x402 v2 envelope delivered in the payment-required header","pass":true}],"pay_to_source":"payTo","pay_to_location":"accept","staleness":{"probe_failing":false,"last_success_at":"2026-10-27T14:29:06.976Z","envelope_captured_at":"2026-10-27T11:32:05.624Z"}},"site":{"homepage":true,"openapi":true,"pricing":false,"llms_txt":true,"robots":true,"terms":false,"checked_at":"2026-10-27T11:33:37.750Z"},"domain":{"age_days":9,"registrar":"Registrar of Domain Names REG.RU LLC","free_host":false,"created_date":"2026-10-17T17:23:59.286Z","checked_at":"2026-10-27T11:33:38.409Z"},"economics":{"price_usd":0.004,"price_atomic":"4000","model":"tiered","category_percentile":34,"stability":1,"price_max_usd":0.05,"category_percentile_max":59,"endpoint_count":30,"distinct_price_count":8},"risk":{"level":"clean","flags":[]},"synthesis":null,"traction":{"status":"measured","volume_usd_30d":0,"tx_count_30d":0,"unique_buyers_30d":0,"last_settlement_at":null,"top_buyer_share_30d":null,"top_3_buyers_share_30d":null,"concentrated_volume":false,"trend_7d_vs_30d":null,"shared_payout":false,"shared_with":0,"measured_networks":["eip155:8453"],"first_settlement_at":null,"volume_usd_all_time":0,"tx_count_all_time":0,"median_settlement_usd_30d":null,"max_settlement_usd_30d":null,"settled_via":[],"settled_via_detail":[],"shared_with_services":[],"pro_quota_share":1,"caveat":"Conservative undercount: only USDC settlements via facilitators we measure are counted. A measured floor, not an estimate.","all_time_caveat":"All-time is floored at the start of our harvest window, not the service full history."}}},"provenance":{"license":"CC-BY-4.0","attribution_required":true,"attribution":"Data: x402-list.com (CC BY 4.0)","cite_as":"https://x402-list.com/services/machine-shop-catalog-update-gate-and-data-tools","source":"https://x402-list.com"}}