Extract
Extract API
Read any URL and get the page back as raw HTML, readability Markdown, or plain text - the read-a-page primitive an agent needs when the answer is behind a link rather than in a search result. Tier-priced by mode: normal and advanced cost 1 credit, ultra costs 2. Only a successful extraction is billed, so a dead link, a bot wall or a timeout costs nothing.
Authorizations
AuthorizationstringheaderrequiredBearer authentication header of the form Bearer <token>, where <token> is your Scavio API key (e.g. Bearer sk_live_your_key).
Body
application/jsonurlstringrequiredThe page to read, 1-2048 characters. http and https only; a bare host like example.com is upgraded to https. Loopback, private, link-local and cloud-metadata hosts are rejected with a 400 before anything is fetched, so they cost nothing.
Example: https://en.wikipedia.org/wiki/Web_scraping
formatenum<string>default:markdownHow to return the page. Whatever you pick, the shape is the same: content is a single string and content_length is its length in characters.
html— The raw page exactly as served, chrome and scripts included.markdown— A readability extraction: the main content as Markdown, most of the page furniture removed. The default.text— That same Markdown flattened to plain text. The flattener is deliberately conservative, so snake_case identifiers and inline code survive intact.
modeenum<string>default:normalFetch tier, and the price-bearing parameter - this is what makes the call cost 1 credit or 2. Start at normal and step up only when a site refuses it.
normal— Plain datacenter fetch. 1 credit. Right for static pages, docs, articles and most blogs.advanced— Full headless-browser render, for pages whose content is built by JavaScript. Also 1 credit.ultra— The hardest-target tier, for pages behind serious anti-bot walls. 2 credits.
Request
from scavio import ScavioClient
client = ScavioClient(api_key="sk_live_your_key")
# extract is a TOP-LEVEL method, not a namespace.
page = client.extract("https://en.wikipedia.org/wiki/Web_scraping")
print(page["data"]["content"])Response