Skip to main content
Glama
README.md
# πŸ”₯ Freecrawl

> Open-source web scraping API with anti-bot bypass. Drop-in Firecrawl alternative.
> **AI-first**: MCP server, OpenAI tool definitions, REST API β€” any AI model can use it.
> No API keys, no credits, no limits.

## Quick Start

```bash
pip install -r requirements.txt
patchright install chromium
python -m freecrawl serve  # REST API on :9100
```

## AI Integration

### MCP Server (Claude, Cursor, any MCP client)
```json
{"mcpServers":{"freecrawl":{"command":"python","args":["-m","freecrawl.mcp_server"]}}}
```

### OpenAI Tool Definitions
```python
from freecrawl.ai_tools import get_tools
tools = get_tools()  # 9 tool definitions, pass to any LLM
```

### REST API
```bash
curl -X POST http://localhost:9100/v1/scrape \
  -H "Content-Type: application/json" \
  -d '{"url":"https://example.com","formats":["markdown"]}'
```

## Features

| Feature | Status |
|---------|:------:|
| Scrape (URLβ†’Markdown/HTML/text) | βœ… |
| Anti-bot bypass (Cloudflare, DataDome) | βœ… |
| Auto-escalation engine chain | βœ… |
| Crawl (BFS + sitemap) | βœ… |
| Search (DuckDuckGo/SearXNG) | βœ… |
| Map (fast URL discovery) | βœ… |
| Batch scrape (parallel) | βœ… |
| LLM extraction (structured JSON) | βœ… |
| Change tracking (diff) | βœ… |
| PDF parsing | βœ… |
| CSS extraction | βœ… |
| Screenshots | βœ… |
| JS actions (click/scroll/type) | βœ… |
| Product/Menu/Branding extractors | βœ… |
| Summary (LLM) | βœ… |
| Proxy rotation | βœ… |
| MCP server | βœ… |
| OpenAI tool definitions | βœ… |
| Docker deployment | βœ… |
| CLI tool | βœ… |

## Architecture

```
Engine Chain (auto-escalation):
  httpx (fast) β†’ flaresolverr (Cloudflare) β†’ patchright (DataDome/Akamai)
```

## License

MIT