Machine Shop
api.pay-forge.online · 27 paid endpoints · listed 2026-10-27
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 equa
Paid endpoints
| Method | Endpoint | Price | Networks |
|---|---|---|---|
| POST | api.pay-forge.online/v1/chunk-text Split text into fixed Unicode-character windows with configurable overlap and exact [start,end) offsets. No token counting or semantic boundaries. Maximum 2000 | $0.004 | Base |
| POST | api.pay-forge.online/v1/clean-text Clean whitespace in scraped text, OCR output or pasted documents before indexing, entity extraction, text comparison or LLM input. Deterministic text cleanup: n | $0.004 | Base |
| POST | api.pay-forge.online/v1/compare-text Compare text using deterministic, case-insensitive bag-of-words token-overlap similarity for lexical duplicate screening. Lowercase each input and tokenize with | $0.004 | Base |
| POST | api.pay-forge.online/v1/extract-entities Deterministic regex entity extraction and email extraction from caller-supplied text. Returns exactly emails, urls and money arrays, each sorted and deduplicate | $0.004 | Base |
| POST | api.pay-forge.online/v1/extract-json-fields Extract caller-selected RFC6901 JSON pointers. Missing paths return 422. Empty pointer selects the root. Limit: 50000 combined input string characters; batch ma | $0.004 | Base |
| POST | api.pay-forge.online/v1/extract-patterns Return sorted unique email, URL, money, ISO-date-shaped and EVM-address-shaped matches. Pattern matching only; dates, checksums and deliverability are unvalidat | $0.004 | Base |
| POST | api.pay-forge.online/v1/html-links Extract closed HTML anchors and their text; resolve relative URLs against optional base_url. Destinations are untrusted and never fetched. Limit: 50000 combined | $0.004 | Base |
| POST | api.pay-forge.online/v1/html-metadata Extract title, description, language, canonical URL and named/property meta tags from supplied HTML. Limit: 50000 combined input string characters; batch maximu | $0.004 | Base |
| POST | api.pay-forge.online/v1/html-structured-data Extract JSON-LD script blocks as parsed JSON with validity flags. No microdata, inference or schema validation. Limit: 50000 combined input string characters; b | $0.004 | Base |
| POST | api.pay-forge.online/v1/html-to-markdown Convert static HTML headings, paragraphs, lists and anchors to Markdown. Tables, CSS and JavaScript are unsupported. Limit: 50000 combined input string characte | $0.004 | Base |
| POST | api.pay-forge.online/v1/html-to-text Remove scripts, styles, templates and markup from static HTML; return visible text with line breaks. Limit: 50000 combined input string characters; batch maximu | $0.004 | Base |
| POST | api.pay-forge.online/v1/normalize-json Parse JSON and emit compact recursively key-sorted JSON. Python numeric precision applies; not cryptographic JSON canonicalization. Duplicate keys use last valu | $0.004 | Base |
| POST | api.pay-forge.online/v1/normalize-text Apply Unicode NFKC then normalize whitespace and remove blank lines; preserve letter case. NFKC can change character meaning. Limit: 50000 combined input string | $0.004 | Base |
| POST | api.pay-forge.online/v1/normalize-url Normalize URL strings for link deduplication and stable hashing without network access. Deterministic URL normalization using Python urllib.parse: strip surroun | $0.004 | Base |
| POST | api.pay-forge.online/v1/repair-json Repair code-fenced JSON or JSON-compatible Python literals including single quotes and trailing commas. Unsupported repairs return 422; no invented fields. Limi | $0.004 | Base |
| POST | api.pay-forge.online/v1/csv-to-json 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 | $0.005 | Base |
| POST | api.pay-forge.online/v1/deduplicate-documents Normalize up to 100 documents with NFKC and whitespace cleanup, deduplicate by exact resulting text, return unique text and original duplicate indices. No seman | $0.005 | Base |
| POST | api.pay-forge.online/v1/deduplicate-urls Normalize and deduplicate up to 100 URLs using existing normalize-url rules; return unique URLs and duplicate indices. No requests or redirects. Limit: 50000 co | $0.005 | Base |
| POST | api.pay-forge.online/v1/batch-normalize-text 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 i | $0.006 | Base |
| POST | api.pay-forge.online/v1/url-to-markdown 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, | $0.006 | Base |
| POST | api.pay-forge.online/v1/url-to-text 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, 1 | $0.006 | Base |
| POST | api.pay-forge.online/v1/webpage-metadata 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 on | $0.006 | Base |
| POST | api.pay-forge.online/v1/html-prepare-document Convert supplied static HTML to text and basic Markdown, extract metadata, links and JSON-LD, then normalize, deduplicate lines, extract patterns and chunk the | $0.01 | Base |
| POST | api.pay-forge.online/v1/prepare-document Produce a RAG document: NFKC and whitespace normalization, exact repeated-line removal, SHA256, pattern entities and overlapping character chunks. Repeated line | $0.01 | Base |
| POST | api.pay-forge.online/v1/webpage-prepare-document Fetch one public static page and return text, basic Markdown, metadata, links, JSON-LD plus normalized, line-deduplicated, hashed, entity-extracted and chunked | $0.015 | Base |
| POST | api.pay-forge.online/v2/api-migration-pack Consumer-specific OpenAPI impact and tests; unsupported => REVIEW. POST baseline/candidate/consumer JSON. Idempotency-Key required; 202: reuse authorization/key | $0.02 | Base |
| POST | api.pay-forge.online/v2/catalog-update-gate Reconcile an Apify-style product dataset against a previous accepted catalog and explicit flat field contract. Return ingestion-ready inserts/updates, unchanged | $0.05 | Base |
Latest checks
| When | Endpoint | HTTP | ms | Result |
|---|---|---|---|---|
| 2 days ago | api.pay-forge.online/v1/chunk-text | – | – | getaddrinfo ENOTFOUND api.pay-forge.online |
| 8 days ago | api.pay-forge.online/v1/batch-normalize-text | 402 | 228 | valid x402 v2 terms |
Income on Base (7 days)
| Day | Transfers | USDC | |
|---|---|---|---|
| 2026-10-29 | 1 | $0.004 |
Is this your API?
<a href="https://logicnodes.io/observatory/p/api.pay-forge.online"><img src="https://logicnodes.io/observatory/badge/api.pay-forge.online.svg" alt="x402 status"></a>
Claim it for free with
x402_provider_claim (sign with your payout address), and get an alert within minutes when it stops answering with x402_monitor_create ($5 for 30 days). Both work over MCP (https://logicnodes.io/mcp/v2) or POST https://logicnodes.io/v1/tools/<tool>.Income is all USDC received by the provider's payout address on Base, whatever the source. Score: 0-100: 50 x share of checks in the last 72 h that returned valid x402 payment terms + 30 x min(1, log10(1 + USDC received in 7 days) / 4) + 20 x min(1, log10(1 + distinct payers in 7 days) / 3). A provider never checked scores on income only; income is all USDC received by its payout address on Base, whatever the source. JSON: /v1/observatory/providers/api.pay-forge.online