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?