About Portfolio Cases Services Blog Contact 🎙 Talk to AI
EN DE RU
🎙 Talk to AI
August 18, 2026 · 3 min read

No More Firecrawl or Tavily? How to Run Your Own Search/Scrape API 2.3x Faster with Just 6 MB RAM (Rust, Self-Hosted)

I'm Denis Shokhirev, Agentic AI Systems Architect in Freiburg im Breisgau, Germany, shipping for DACH B2B clients on Claude, Supabase, n8n, Doppler, and self-hosted Postgres. The latest production fire: external search/scrape APIs (Firecrawl, Tavily, SerpAPI) bottlenecked my agent chains at 2:30 AM CET, with 16% of requests timing out — all while burning $500+/month on credits. Where Public Search/Scrape APIs Fail in Production In three recent projects, I’ve seen Firecrawl and Tavily introduc

Denis Shokhirev
Denis Shokhirev
Agentic AI Systems Architect
Telegram LinkedIn

I'm Denis Shokhirev, Agentic AI Systems Architect in Freiburg im Breisgau, Germany, shipping for DACH B2B clients on Claude, Supabase, n8n, Doppler, and self-hosted Postgres. The latest production fire: external search/scrape APIs (Firecrawl, Tavily, SerpAPI) bottlenecked my agent chains at 2:30 AM CET, with 16% of requests timing out — all while burning $500+/month on credits.

Where Public Search/Scrape APIs Fail in Production

In three recent projects, I’ve seen Firecrawl and Tavily introduce latency spikes and timeouts just when you least expect them. Real data: in a May 2024 logistics deployment (metrics via Supabase logs), 16% of search/scrape requests hit timeouts or returned malformed data, breaking RAG pipelines mid-execution.

Key problems:

  • Stability — rate limits, 5xx flakiness, unpredictable delays.
  • Security — all content and queries leave your perimeter. Data residency and GDPR risk.
  • Cost — 10k reqs/month = $400+ (Tavily Pro, 2024), and a single agent bug can burn your quota in hours.
  • Compliance — no way to archive or audit full HTML legally (NDA, GDPR restrictions).

Self-Hosted API: What Worked, What Didn’t

I built and ran my own search/scrape API stack:

  • Rust (reqwest, scraper, tokio, serde) — fast, memory-efficient runtime.
  • n8n — orchestrates and monitors the agent flows.
  • Supabase/Postgres — logs, cache, audit trail.
  • Doppler — secrets/key vault.

Benchmarks on a 1000-request run (AWS EC2 t3.micro, June 2024):

MetricFirecrawlTavilyMy Rust API
Median latency1.7 s1.4 s0.61 s
RAM per worker22 MB17 MB6 MB
Timeouts (%)3.12.90.6
Monthly cost (10k reqs)$260$400$2 (server)

But the real win: data never leaves my infra. All content is stored and auditable in-house, which is non-negotiable when clients demand GDPR and NDA compliance.

Architecture: Minimal, Fast, Auditable

Rust: Runtime and Memory Efficiency

Why Rust? Only Rust gave me 6 MB RAM per worker, stable async, and no memory leaks under load. Core stack: reqwest (HTTP), scraper (HTML parsing), tokio (async runtime).


use reqwest::Client;
use scraper::{Html, Selector};
use tokio;

#[tokio::main]
async fn main() {
    let client = Client::new();
    let url = "https://example.com";
    let res = client.get(url).send().await.unwrap();
    let body = res.text().await.unwrap();
    let document = Html::parse_document(&body);
    let selector = Selector::parse("title").unwrap();
    for element in document.select(&selector) {
        println!("{}", element.inner_html());
    }
}

n8n + Supabase: Orchestration and Caching

n8n manages the agent pipeline, sends alerts (e.g. if a site fails 3x in a row, ping Mattermost), and logs every request. Supabase/Postgres caches results and provides searchable audit history.

Doppler: Secrets Management

Secrets/tokens are managed via Doppler. Even with gitleaks (recommended as per gitleaks docs, 2024), human error can expose secrets — Doppler’s key rotation matters in prod.

Deploy: Docker, Test, Audit

1. Docker Compose for Minimum-Footprint Deploy


version: '3.8'
services:
  search_scrape:
    image: myrustapi:latest
    mem_limit: 12m
    environment:
      - DOPPLER_TOKEN=...
    ports:
      - "8080:8080"
    restart: always
  postgres:
    image: postgres:15
    environment:
      POSTGRES_PASSWORD: secret
    volumes:
      - db-data:/var/lib/postgresql/data
volumes:
  db-data:

2. Code Audit and Security Checks

Before go-live: static analysis (semgrep for Rust/Python, bandit for Python proxy scripts, gitleaks for secrets). I check all scraping logic against OWASP Top 10 (2023) — no eval, no command injection, no unsafe HTML parsing.

3. Monitoring and Alerts

n8n integrates with Mattermost, Telegram, and email for live alerting (e.g. 95% of requests <1s, else owner gets notified).

FAQ

Why not Go or Python?

Go used more RAM per worker (8-12 MB) and offers less async control. Python is heavier and riskier in prod — needs sandboxing for scraping (to avoid RCE). Rust is leanest and safest for this use case.

What sites are off-limits?

I never scrape sites with explicit robots.txt disallow or license restrictions. For AI/RAG, source auditability is must-have — or you’ll hit GDPR/NDA issues fast.

How do you handle blocking?

I rotate User-Agent, backoff on 429s, sometimes use proxies. But for most prod workloads, rate limiting to <1 req/sec per domain is enough to avoid bans.

What’s actual SLA in production?

On 10k reqs/day: 98.7% <1s, 0.6% timeouts, 0% data leaks. All logs in Supabase, client-side audit on request.

How do you plug this into Claude/Supabase/n8n?

The API returns JSON (title, main_text, meta). n8n uses HTTP Request node, pipes to Claude RAG. Supabase stores full HTML/archive and enables fast lookups and audits.

Where did your search/scrape pipeline break down in prod — timeouts, bad cache, or data leaks? I’d really like to compare approaches. I run a free 30-min stack audit for DACH founders building AI in regulated markets. DM me on LinkedIn or write to @ger_dennis_ai.

Continue reading
AI Agents Attack Production: How OpenAI Agents Breached RubyGems and What It Means for Your Infra
Anthropic reveals 15 Claude AI breaches: How to defend your production systems from LLM-powered attacks
43 failures. Then 250,000 GitHub stars in 2 months: How business skills for AI agents save weeks of production work
OpenAI and Anthropic solve a Millennium Problem: How 10,000 AI agents cracked Navier–Stokes in 88 hours — what it means for your business
All articles →
Where this is applied
Services — what we build
Talk to the voice agent
Case studies
Ready to build?

Turn your process into an AI system

Production quality. DACH B2B focus.

Start a project → ← All articles