Web Extract & Clean
Fetch a web page, convert it to clean markdown, and strip PII automatically. Ready for your RAG pipeline.
web-extract-clean What it runs
- URL to Markdown
Source: HTTP fetch + HTML-to-markdown conversion
- PII Redaction
Source: Algorithmic (regex pattern matching + NLP entity recognition)
The answer returns every step’s result, so your agent can show or check each one.
Inputs
| Field | Type | Required | What it is |
|---|---|---|---|
url | string | Yes | — |
How to call it
# Needs an API key. The whole check is charged once, at the listed price.
curl -X POST https://api.strale.io/v1/solutions/web-extract-clean/execute \
-H "Authorization: Bearer $STRALE_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"inputs": {
"url": "https://example.com"
},
"max_price_cents": 30
}' # No account. The first request answers 402 with the price in USDC;
# an x402 client pays it from your wallet and repeats the request.
curl -i -X POST https://api.strale.io/x402/v2/solutions/web-extract-clean \
-H 'Content-Type: application/json' \
-d '{
"url": "https://example.com"
}' The bundle’s published example input.
Limitations
Trustpilot, Glassdoor, LinkedIn, Google Search, Google Patents, Reddit and the major social platforms (Facebook, Instagram, X) are not supported and return a policy error before the page is read. Repeating the same request does not return content.
From step: URL to Markdown
JavaScript-heavy single-page applications may not render completely
From step: URL to Markdown
What to do instead: Inspect the rendered page in a browser to confirm whether any content is missing.
Login-protected or paywalled content cannot be extracted
From step: URL to Markdown
What to do instead: Use an accessible public page containing the information you need.
Pages with more than 16 MiB of HTML are refused with a caller_input error naming the input field. The call is not charged, and the page is not retried through another fetch or rendering route.
From step: URL to Markdown
Context-dependent PII (e.g., names without surrounding context) may occasionally be missed
From step: PII Redaction
What to do instead: Run a second pass with an explicit entity list of known names from your dataset to catch context-free occurrences
Optimised for English and Nordic languages — other languages may have lower detection accuracy
From step: PII Redaction
What to do instead: For non-supported languages, pre-tag known PII patterns (e.g., national ID formats) with regex before calling pii-redact
Submitted text, including any sensitive identifiers it contains, is stored unredacted in the transaction record for 90 days before clearing. Processing sends the text to no third party, and the returned output is redacted; the stored input remains unchanged during retention.
From step: PII Redaction
What to do instead: Submit the smallest span that needs redacting rather than a whole document, or run redaction in your own environment where the input is never transmitted.