{"provider":{"host":"api.pay-forge.online","name":"Machine Shop","score":2,"live":false,"checkedAt":"2026-11-02T04:00:49.324Z","uptime72h":0,"lastCheck":{"httpStatus":0,"ms":0,"note":"getaddrinfo ENOTFOUND api.pay-forge.online"},"endpoints":27,"networks":["eip155:8453"],"cheapestUsd":"0.004","income7dUsd":"0.004","payers7d":1,"transfers7d":1,"payoutAddressShared":false,"claimed":false,"page":"https://logicnodes.io/observatory/p/api.pay-forge.online"},"endpoints":[{"url":"https://api.pay-forge.online/v1/chunk-text","method":"POST","priceMicroUsd":4000,"networks":["eip155:8453"],"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."},{"url":"https://api.pay-forge.online/v1/clean-text","method":"POST","priceMicroUsd":4000,"networks":["eip155:8453"],"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 compari"},{"url":"https://api.pay-forge.online/v1/compare-text","method":"POST","priceMicroUsd":4000,"networks":["eip155:8453"],"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 "},{"url":"https://api.pay-forge.online/v1/extract-entities","method":"POST","priceMicroUsd":4000,"networks":["eip155:8453"],"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 followe"},{"url":"https://api.pay-forge.online/v1/extract-json-fields","method":"POST","priceMicroUsd":4000,"networks":["eip155:8453"],"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."},{"url":"https://api.pay-forge.online/v1/extract-patterns","method":"POST","priceMicroUsd":4000,"networks":["eip155:8453"],"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."},{"url":"https://api.pay-forge.online/v1/html-links","method":"POST","priceMicroUsd":4000,"networks":["eip155:8453"],"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."},{"url":"https://api.pay-forge.online/v1/html-metadata","method":"POST","priceMicroUsd":4000,"networks":["eip155:8453"],"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."},{"url":"https://api.pay-forge.online/v1/html-structured-data","method":"POST","priceMicroUsd":4000,"networks":["eip155:8453"],"description":"Extract JSON-LD script blocks as parsed JSON with validity flags. No microdata, inference or schema validation. 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."},{"url":"https://api.pay-forge.online/v1/html-to-markdown","method":"POST","priceMicroUsd":4000,"networks":["eip155:8453"],"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."},{"url":"https://api.pay-forge.online/v1/html-to-text","method":"POST","priceMicroUsd":4000,"networks":["eip155:8453"],"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."},{"url":"https://api.pay-forge.online/v1/normalize-json","method":"POST","priceMicroUsd":4000,"networks":["eip155:8453"],"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."},{"url":"https://api.pay-forge.online/v1/normalize-text","method":"POST","priceMicroUsd":4000,"networks":["eip155:8453"],"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."},{"url":"https://api.pay-forge.online/v1/normalize-url","method":"POST","priceMicroUsd":4000,"networks":["eip155:8453"],"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,"},{"url":"https://api.pay-forge.online/v1/repair-json","method":"POST","priceMicroUsd":4000,"networks":["eip155:8453"],"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."},{"url":"https://api.pay-forge.online/v1/csv-to-json","method":"POST","priceMicroUsd":5000,"networks":["eip155:8453"],"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."},{"url":"https://api.pay-forge.online/v1/deduplicate-documents","method":"POST","priceMicroUsd":5000,"networks":["eip155:8453"],"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."},{"url":"https://api.pay-forge.online/v1/deduplicate-urls","method":"POST","priceMicroUsd":5000,"networks":["eip155:8453"],"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."},{"url":"https://api.pay-forge.online/v1/batch-normalize-text","method":"POST","priceMicroUsd":6000,"networks":["eip155:8453"],"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."},{"url":"https://api.pay-forge.online/v1/url-to-markdown","method":"POST","priceMicroUsd":6000,"networks":["eip155:8453"],"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."},{"url":"https://api.pay-forge.online/v1/url-to-text","method":"POST","priceMicroUsd":6000,"networks":["eip155:8453"],"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."},{"url":"https://api.pay-forge.online/v1/webpage-metadata","method":"POST","priceMicroUsd":6000,"networks":["eip155:8453"],"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."},{"url":"https://api.pay-forge.online/v1/html-prepare-document","method":"POST","priceMicroUsd":10000,"networks":["eip155:8453"],"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."},{"url":"https://api.pay-forge.online/v1/prepare-document","method":"POST","priceMicroUsd":10000,"networks":["eip155:8453"],"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."},{"url":"https://api.pay-forge.online/v1/webpage-prepare-document","method":"POST","priceMicroUsd":15000,"networks":["eip155:8453"],"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 befo"},{"url":"https://api.pay-forge.online/v2/api-migration-pack","method":"POST","priceMicroUsd":20000,"networks":["eip155:8453"],"description":"Consumer-specific OpenAPI impact and tests; unsupported => REVIEW. POST baseline/candidate/consumer JSON. Idempotency-Key required; 202: reuse authorization/key/input, never pay again. Full schemas: https://api.pay-forge.online/v2/api-migration-pack/schema"},{"url":"https://api.pay-forge.online/v2/catalog-update-gate","method":"POST","priceMicroUsd":50000,"networks":["eip155:8453"],"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."}]}