Skip to main content
Legacy v1 service. Use Crawl instead — it is the canonical v2 API. The equivalent MCP tools are crawl_start, crawl_get_status, crawl_stop, and crawl_resume. This page is kept for reference.

Overview

SmartCrawler is our advanced web crawling service that offers two modes:
  1. AI-Powered Extraction: LLM-powered web crawling with intelligent data extraction (10 credits per page)
  2. Markdown Conversion: Cost-effective HTML to markdown conversion without AI/LLM processing (2 credits per page - 80% savings!)
Unlike SmartScraper, which extracts data from a single page, SmartCrawler can traverse multiple pages, follow links, and either extract structured data or convert content to clean markdown from entire websites or sections.
Try SmartCrawler instantly in our interactive playground

Getting Started

Quick Start

Required Headers

Parameters

Get your API key from the dashboard

Markdown Conversion Mode

For cost-effective content archival and when you only need clean markdown without AI processing, use the markdown conversion mode. This mode offers significant cost savings and is perfect for documentation, content migration, and simple data collection.

Benefits

  • 80% Cost Savings: Only 2 credits per page vs 10 credits for AI mode
  • No AI/LLM Processing: Pure HTML to markdown conversion
  • Clean Output: Well-formatted markdown with metadata extraction
  • Fast Processing: No AI inference delays
  • Perfect for: Documentation, content archival, site migration

Quick Start - Markdown Mode

Markdown Mode Response

Crawl Rules

You can control the crawl behavior with the rules object:
Python
Both include_paths and exclude_paths are optional. If include_paths is not specified or empty, all paths are included. If exclude_paths is not specified or empty, no paths are excluded. The exclude_paths patterns take precedence over include_paths patterns.

Example Response

  • llm_result: Structured extraction based on your prompt/schema
  • crawled_urls: List of all URLs visited
  • pages: List of objects with url and extracted markdown content

Retrieve a Previous Crawl

You can retrieve the result of a crawl job by its task ID:

Parameters

Custom Schema Example

Define exactly what data you want to extract from every page:

Async Support

SmartCrawler supports async execution for large crawls:

Validation & Error Handling

SmartCrawler performs advanced validation:
  • Ensures either url or website_html is provided
  • Validates HTML size (max 2MB)
  • Checks for valid URLs and HTML structure
  • Handles empty or invalid prompts
  • Returns clear error messages for all validation failures

Endpoint Details

Required Headers

Request Body

Response Format

Key Features

Multi-Page Extraction

Crawl and extract from entire sites, not just single pages

AI Understanding

Contextual extraction across multiple pages

Markdown Conversion

Cost-effective HTML to markdown conversion (80% savings!)

Crawl Rules

Fine-tune what gets crawled and extracted

Schema Support

Define custom output schemas for structured results

Webhook Notifications

Get notified when crawl jobs complete with signed webhooks

Use Cases

AI Extraction Mode

  • Site-wide data extraction with smart understanding
  • Product catalog crawling with structured output
  • Legal/Privacy/Terms aggregation with AI parsing
  • Research and competitive analysis with insights
  • Multi-page blog/news scraping with content analysis

Markdown Conversion Mode

  • Website documentation archival and migration
  • Content backup and preservation (80% cheaper!)
  • Blog/article collection in markdown format
  • Site content analysis without AI overhead
  • Fast bulk content conversion for CMS migration

Best Practices

AI Extraction Mode

  • Be specific in your prompts for better results
  • Use schemas for structured output validation
  • Test prompts on single pages first
  • Include examples in your schema descriptions

Markdown Conversion Mode

  • Perfect for content archival and documentation
  • No prompt required - set extraction_mode: false
  • 80% cheaper than AI mode (2 credits vs 10 per page)
  • Ideal for bulk content migration

General

  • Set reasonable max_pages and depth limits
  • Use rules with include_paths and exclude_paths to precisely control which pages to crawl
  • Use exclude for full URL regex patterns when needed
  • exclude_paths takes precedence over include_paths
  • Always handle errors and poll for results
  • Monitor your credit usage and rate limits

Webhooks

SmartCrawler supports webhook notifications for job completion. When you provide a webhook_url, you’ll receive a POST request when the crawl finishes.

Setting Up Webhooks

  1. Configure your webhook secret in the dashboard
  2. Provide a webhook_url in your crawl request
  3. Verify incoming webhooks using the X-Webhook-Signature header
Python
Each webhook request includes an X-Webhook-Signature header for verification. See the API Reference for detailed verification examples.

API Reference

For detailed API documentation, see:

Support & Resources

Documentation

Comprehensive guides and tutorials

API Reference

Detailed API documentation

Community

Join our Discord community

GitHub

Check out our open-source projects

Ready to Start Crawling?

Sign up now and get your API key to begin extracting data with SmartCrawler!