Supacrawler Docs

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)
Response
{
  "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?