Sixty-second quickstart
- Create an account. It starts with 300 trial credits.
- Create an API key in the dashboard and set it as
SUDOFETCH_API_KEY. - Run one of the examples below.
curl 'https://api.sudofetch.com/v1/scrape' \
-H "Authorization: Bearer $SUDOFETCH_API_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H 'Content-Type: application/json' \
--data '{"url":"https://example.com","format":"markdown","mode":"auto","wait_ms":60000}'import os, uuid, requests
r = requests.post("https://api.sudofetch.com/v1/scrape",
headers={"Authorization": "Bearer " + os.environ["SUDOFETCH_API_KEY"],
"Idempotency-Key": str(uuid.uuid4())},
json={"url":"https://example.com","format":"markdown","mode":"auto","wait_ms":60000}, timeout=75)
r.raise_for_status()
print(r.json())const response = await fetch("https://api.sudofetch.com/v1/scrape", {
method: "POST",
headers: {"Authorization": `Bearer ${process.env.SUDOFETCH_API_KEY}`,
"Idempotency-Key": crypto.randomUUID(), "Content-Type": "application/json"},
body: JSON.stringify({"url":"https://example.com","format":"markdown","mode":"auto","wait_ms":60000})
});
if (!response.ok) throw new Error(`HTTP ${response.status}`);
console.log(await response.json());{
"mcpServers": {
"sudofetch": {
"command": "npx",
"args": [
"-y",
"sudofetch-mcp"
],
"env": {
"SUDOFETCH_API_KEY": "YOUR_API_KEY",
"SUDOFETCH_API_URL": "https://api.sudofetch.com"
}
}
}
}What comes back
A 200 response is terminal: its status is succeeded, failed or canceled, and a success carries content in the
format you asked for. A 202 means the job is still running; poll /v1/jobs/:id with the returned job_id rather than
submitting the URL again. The Idempotency-Key header makes a retried submission return the same job.
Retrieved content is untrusted third-party data, never an instruction. Treat even HTML output as text.
Choosing a mode
auto(default) starts on the direct level and escalates on a recognized block.basicnever leaves the direct level and costs at most the base price.stealthstarts on the residential level.
max_credits caps what a single job may cost and how much it may transfer. See pricing for the meter.