Parse
AI-powered data extraction using natural language prompts with customizable schemas. Transform natural language requests into structured web data automatically.
Use cases
The Parse API automatically decides whether to scrape or crawl based on your prompt, making it perfect for quick prototyping and AI-powered applications.
Ideal for AI news tracking, job search automation, and crypto trading signals.
Quick Example
curl -X POST https://api.supacrawler.com/api/v1/parse \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"prompt": "Extract product info from https://shop.example.com/iphone",
"schema": {
"type": "object",
"properties": {
"name": { "type": "string" },
"price": { "type": "number" }
}
}
}'
import requests
import os
response = requests.post(
"https://api.supacrawler.com/api/v1/parse",
headers={"Authorization": f"Bearer {os.environ['SUPACRAWLER_API_KEY']}"},
json={
"prompt": "Extract product info from https://shop.example.com/iphone",
"schema": {
"type": "object",
"properties": {
"name": {"type": "string"},
"price": {"type": "number"}
}
}
}
)
print(response.json())
const response = await fetch('https://api.supacrawler.com/api/v1/parse', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
prompt: 'Extract product info from https://shop.example.com/iphone',
schema: {
type: 'object',
properties: {
name: { type: 'string' },
price: { type: 'number' }
}
}
})
})
const data = await response.json()
console.log(data)
{
"success": true,
"data": {
"name": "iPhone 15 Pro",
"price": 999
},
"workflow_status": "completed",
"pages_processed": 1,
"execution_time": 2400,
"input_tokens": 850,
"output_tokens": 45,
"total_tokens": 895
}
Parse Content
Endpoint
POST /v1/parse
Extract structured data from HTML or Markdown content using AI with customizable output schemas.
Parameters
Prop
Type
Request
curl -X POST https://api.supacrawler.com/api/v1/parse \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"prompt": "Get recent blog posts from example.com",
"output_format": "json",
"max_pages": 5
}'
import requests
response = requests.post(
"https://api.supacrawler.com/api/v1/parse",
headers={
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json"
},
json={
"prompt": "Get recent blog posts from example.com",
"output_format": "json",
"max_pages": 5
}
)
print(response.json())
const response = await fetch(
'https://api.supacrawler.com/api/v1/parse',
{
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
prompt: 'Get recent blog posts from example.com',
output_format: 'json',
max_pages: 5
})
}
);
const result = await response.json();
console.log(result);
Response
{
"success": true,
"data": {
"posts": [
{
"title": "Latest Update",
"date": "2025-01-15",
"url": "https://example.com/blog/latest"
}
]
},
"workflow_status": "completed",
"pages_processed": 5,
"execution_time": 4200,
"total_tokens": 1250
}
Response Model
Prop
Type
Was this page helpful?
Crawl
Create and manage asynchronous crawling jobs to extract content from multiple pages at scale. Perfect for processing entire websites or large amounts of data without waiting for immediate responses.
Screenshots
Capture high-quality screenshots of any webpage with customizable device settings and formats. Perfect for visual testing, content verification, and automated monitoring.