now live
One API for scraping, extraction & crawling any website.
Turn any URL into clean markdown, structured JSON, or AI-extracted data. Built for developers and AI agents.
flags
Six flags, one request. Every capability maps to a single endpoint, no dashboards to configure.
--scrape url
Scrape to markdown
Convert any webpage to clean, LLM-ready markdown in milliseconds.
--extract url,schema
AI extraction
Define a JSON schema, get structured data back, powered by AI.
--crawl url,depth
Site crawling
Crawl entire websites with configurable depth and page limits.
--brand domain
Brand data
Extract logos, colors, socials, and company metadata from any domain.
--sitemap url
Sitemap parser
Discover every URL on a site via sitemap.xml instantly.
--images url
Image extraction
Pull all images and OG images from any webpage.
api reference
6 endpoints, one API key
| status | endpoint | description | params |
|---|---|---|---|
| 200 | POST /api/scrape.php | Scrape any URL → markdown, HTML, text, or JSON | url, format |
| 200 | POST /api/extract.php | AI-powered structured data extraction with custom JSON schemas | url, schema, instructions |
| 200 | POST /api/crawl.php | Crawl entire websites with depth & page limits | url, max_pages, depth |
| 200 | POST /api/brand.php | Get logos, colors, fonts & company metadata | domain / url |
| 200 | POST /api/sitemap.php | Parse sitemap.xml & discover all page URLs | url |
| 200 | POST /api/images.php | Extract all images from any webpage | url |
quick start
Up and running in 30 seconds
# scrape a page
curl -X POST "https://carlostkd.ch/context/api/scrape.php" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_KEY" \
-d '{"url":"https://example.com","user_agent":"Custom Bot/1.0"}'
# AI extraction
curl -X POST "https://carlostkd.ch/context/api/extract.php" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_KEY" \
-d '{"url":"https://example.com","schema":{},"user_agent":"Custom Bot/1.0"}'
<?php
$ch = curl_init("https://carlostkd.ch/context/api/scrape.php");
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => json_encode([
"url" => "https://example.com",
"user_agent" => "Custom Bot/1.0"
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"Authorization: Bearer YOUR_KEY"
],
CURLOPT_RETURNTRANSFER => true
]);
$result = json_decode(curl_exec($ch), true);
echo $result["markdown"];
import requests
r = requests.post(
"https://carlostkd.ch/context/api/scrape.php",
headers={"Authorization": "Bearer YOUR_KEY"},
json={"url": "https://example.com", "user_agent": "Custom Bot/1.0"}
)
print(r.json()["markdown"])
const r = await fetch("https://carlostkd.ch/context/api/scrape.php", {
method: "POST",
headers: {
"Content-Type": "application/json",
"Authorization": "Bearer YOUR_KEY"
},
body: JSON.stringify({
url: "https://example.com",
user_agent: "Custom Bot/1.0"
})
});
const data = await r.json();
console.log(data.markdown);
01 get your api key
02 make your first request
curl -X POST ".../api/scrape.php" ...
03 or just use it live
playground
Try it live. Just hit a URL and see the response.
// response will appear here