URL to Text
Get the text of a web page quickly, without rendering JavaScript. Suits most content sites.
url-to-text Example
{
"url": "https://strale.dev"
} {
"url": "https://strale.dev",
"text": "Strale — Trust and Quality Infrastructure for AI Agents",
"title": "Strale — Trust and Quality Infrastructure for AI Agents",
"language": "en",
"meta_description": "Company data, compliance checks, financial validation. Structured JSON with audit trails on every call."
} Inputs
| Field | Type | Required | What it is |
|---|---|---|---|
url | string | Yes | URL to extract text from |
Output fields
How reliably each field appears in a successful answer.
| Field | Type | Appears |
|---|---|---|
text | string | Always (present in every successful answer) |
title | string | Always (present in every successful answer) |
language | string | Always (present in every successful answer) |
meta_description | string | Always (present in every successful answer) |
How to call it
The same tool through each route. MCP clients reach it through Strale’s server at https://api.strale.io/mcp; the call below is what the agent sends.
# Needs an API key. max_price_cents caps what this call may cost.
curl -X POST https://api.strale.io/v1/do \
-H "Authorization: Bearer $STRALE_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"capability_slug": "url-to-text",
"inputs": {
"url": "https://strale.dev"
},
"max_price_cents": 2
}' {
"tool": "strale_execute",
"arguments": {
"slug": "url-to-text",
"inputs": {
"url": "https://strale.dev"
},
"max_price_cents": 2
}
} import { Strale } from "straleio";
const strale = new Strale({ apiKey: process.env.STRALE_API_KEY! });
const result = await strale.do({
capability_slug: "url-to-text",
inputs: {
"url": "https://strale.dev"
},
max_price_cents: 2,
}); import os
from straleio import Strale, DoRequest
strale = Strale(api_key=os.environ["STRALE_API_KEY"])
result = strale.do(DoRequest(
capability_slug="url-to-text",
inputs={
"url": "https://strale.dev",
},
max_price_cents=2,
)) # 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 'https://api.strale.io/x402/v2/url-to-text?url=https%3A%2F%2Fstrale.dev' Limitations
Text includes navigation and page boilerplate
Extracts text from the rendered page — navigation, footers, and boilerplate content are included alongside main content
What to do instead: Use url-to-markdown for cleaner output that better separates main content from page chrome
Pages are limited to 16 MiB of HTML
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.
Related tools
- Google Search €0.10
- Link Extraction €0.03
- Metadata Extraction €0.03
- Structured Page Extraction €0.20
- URL to Markdown Free
- Web Page Screenshot €0.05