Home
# General Scraper Engine
A modular, policy-aware Python engine for discovering, acquiring, extracting, validating, and storing structured leads from the public web.
### Python Package
Install directly with pip and integrate the engine into your Python workflows.
### Current Release
Version **1.0.3** with release notes available in the documentation.
### Public Web
Built around public-web acquisition and explicit access boundaries.
01
### Discovery
Find relevant pages using pluggable discovery providers such as Brave Search and SearXNG.
02
### HTTP-first acquisition
Use inexpensive HTTP fetching by default, with browser and external-provider fallback when required.
03
### Structured extraction
Extract leads from JSON-LD, Schema.org, metadata, contact information, and visible page content.
04
### Policy-aware
Respect public-web boundaries, robots.txt rules, crawl delays, request limits, and access restrictions.
05
### Quality and deduplication
Validate, normalize, merge, and deduplicate extracted leads before output.
06
### Multiple outputs
Write results to terminal, JSON, CSV, or DuckDB with optional run-level metrics.
Pipeline¶
The engine separates discovery, acquisition, extraction, validation, and persistence into independent stages.
HTTP remains the cheapest default acquisition method. Browser and external-provider strategies are introduced only when content or workload requires them.
Quick Start¶
Install the package:
Then run a basic scrape:
See the complete setup in the Quick Start guide.
What it supports¶
| Area | Capabilities |
|---|---|
| Discovery | Brave Search, SearXNG, provider protocol, caching |
| Acquisition | HTTP, Playwright browser, external providers, Google Maps, Justdial |
| Crawling | Same-site crawling, depth/page limits, domain controls |
| Extraction | JSON-LD, Schema.org, metadata, contacts, addresses |
| Relevance | Keyword, location, category, requirements |
| Quality | Content quality, lead quality, location validation |
| Data processing | Normalization, deduplication, merging |
| Persistence | Terminal, JSON, CSV, DuckDB |
| Reliability | Retries, throttling, bounded concurrency, caching |
Documentation¶
### Getting Started
Install the engine and run your first scrape.
[Installation](getting-started/installation.md)
[Quick Start](getting-started/quickstart.md)
### Guides
Learn CLI usage, output formats, providers, crawling examples, and public-web policy.
[Explore Guides](guides/cli.md)
### Reference
Understand the architecture, lead schema, programmatic API, and error model.
[Open Reference](reference/architecture.md)
Public-Web Boundary¶
General Scraper Engine is designed for public-web acquisition.
It does not provide:
- Login bypass
- CAPTCHA bypass
- Private-page access
- Authentication bypass
- Access-control circumvention
Robots.txt and crawl-policy controls are part of the acquisition boundary.
See Public-Web and Robots Policy for details.
Project¶
**General Scraper Engine**
Modular - Policy-aware - HTTP-first - Extensible