Skip to main content
Built-in extractor names are a deprecated alias — collections are now created by picking features. This pipeline is selected with features: ["web_crawl"]. Existing feature_extractor configs keep working; see the migration guide.

View on GitHub

Runnable reference for this extractor — inputs, parameters, output fields, embedding models, and copy-paste examples. Auto-generated from the live registry.
Web scraper extractor pipeline showing crawling, content extraction, chunking, and multimodal embeddings
The web scraper extractor recursively crawls websites to extract multimodal content with semantic embeddings. Automatically discovers and extracts text, code blocks, images, and asset links from web pages. Each extracted document receives E5-Large text embeddings (1024D) for semantic search, Jina Code embeddings (768D) for code snippets, and optional SigLIP visual embeddings (768D) for images. Supports JavaScript-rendered SPAs, includes resilience features like retry logic, proxy rotation, and captcha detection.
View extractor details at api.mixpeek.com/v1/collections/features/extractors/web_scraper_v1 or fetch programmatically with GET /v1/collections/features/extractors/{feature_extractor_id}.

Pipeline Steps

  1. Filter Dataset (if collection_id provided)
    • Filter to specified collection
  2. Crawl Configuration & Setup
    • Parse seed URL and configure crawl parameters
    • Set up URL filtering rules, rendering strategy, resilience options
  3. Recursive Web Crawling
    • BFS-based link traversal with depth limit
    • JavaScript rendering support (auto-detect or explicit)
    • URL filtering (include/exclude patterns)
    • Resilience: retry logic, proxy rotation, captcha detection
  4. Content Extraction Per Page
    • Extract text content, title, metadata
    • Identify and extract code blocks with language detection
    • Discover images with alt text, dimensions
    • Find asset links (PDFs, documents, archives)
    • Optional: Structured extraction via LLM (response_shape)
  5. Content Chunking (optional)
    • Split page content by strategy: sentences, paragraphs, words, characters
    • Configurable chunk size and overlap
    • Track chunk metadata for joined results
  6. Document Expansion
    • Create separate documents for page content, each code block, each image
    • Preserve parent URL and crawl depth metadata
  7. Multi-Modal Embedding Generation
    • E5-Large (1024D) for page text content
    • Jina Code (768D) for code blocks
    • SigLIP (768D) for images (if generate_image_embeddings=true)
  8. Output
    • Documents with text content, code blocks, images
    • Asset links discovered but not crawled
    • Multiple embeddings per document for hybrid search

When to Use

When NOT to Use

Input Schema

Input Examples:

Output Schema

Each crawled page produces one or more documents depending on content extraction and expansion settings:

Parameters

Crawl Configuration Parameters

Rendering Parameters

URL Filtering Parameters

Content Chunking Parameters

Document Identity Parameters

Embedding Parameters

LLM Structured Extraction Parameters

Resilience: Retry Parameters

Resilience: Proxy Parameters

Resilience: Captcha Parameters

Resilience: Session Parameters

Politeness Parameters

Configuration Examples

Performance & Costs

Vector Indexes

All three embeddings are stored as MVS named vectors for hybrid search:

Comparison with Other Extractors

Resilience & Robustness

The web scraper includes enterprise-grade resilience features:

Retry Strategy

  • Exponential backoff with configurable base and max delays
  • Respects server Retry-After headers
  • Retries on network errors, timeouts, and temporary failures (5xx)

Proxy Rotation

  • Support for multiple proxies with automatic rotation
  • Rotate on error or periodic rotation every N requests
  • Helps avoid rate limiting and IP bans

Captcha Detection & Solving

  • Auto-detect common captcha types (reCAPTCHA, hCaptcha)
  • Integration with 2captcha, Anti-Captcha, CapSolver services
  • Fallback to manual review if solving fails

Session Management

  • Persistent cookies across requests within a single crawl
  • Custom HTTP headers for authentication
  • Support for API key and bearer token injection

URL Filtering

  • Include patterns (whitelist): Only crawl matching URLs
  • Exclude patterns (blacklist): Skip URLs matching patterns
  • Prevent crawling auth/admin pages, search results, etc.

Limitations

  • Content-only crawling: Does not execute custom JavaScript actions (clicking, form submission, scrolling)
  • Authentication: Limited to HTTP headers (Bearer tokens, API keys). No interactive login flows.
  • Dynamic content: JavaScript-rendering adds 2-3x latency per page
  • Large sites: 10K+ page sites may require high max_pages and long timeouts
  • Robots.txt: Does not parse robots.txt; respect via delay_between_requests and max_pages
  • Rate limiting: May be blocked by aggressive rate limiting; use proxies and delays