Files

1.4 KiB

SearXNG — Self-Hosted Search Engine

Deployed on Core (/root/docker/searxng/) via Docker Compose. Used as a local search engine when Firecrawl's API key is not configured.

Connection details

  • URL: http://127.0.0.1:8888
  • JSON API: http://127.0.0.1:8888/search?q=QUERY&format=json
  • Container: searxng
  • Auto-start: Docker restart policy
  • Settings: /root/docker/searxng/searxng-data/settings.yml

Configuration

The settings.yml file enables both HTML and JSON formats:

search:
  formats:
    - html
    - json

Usage from agent

curl -s "http://127.0.0.1:8888/search?q=QUERY&format=json" | python3 -c "
import sys, json
d = json.load(sys.stdin)
for r in d.get('results',[])[:N]:
    print(f'{r.get(\"title\",\"?\")} - {r.get(\"url\",\"?\")}')
"

Limitations

  • No extraction. SearXNG returns search results (title + URL + snippet) but does not extract full page content. For full page extraction, use Firecrawl or curl + HTML stripping.
  • Local only. Bound to 127.0.0.1 — not accessible from the network. Access via terminal on Core.
  • Rate limited. Default rate limit is 120 requests/hour from a single IP.

Relationship to Firecrawl

Capability SearXNG Firecrawl
Search (find links) Unlimited ⚠️ 500/mo free
Extract (get page content) Clean markdown
API key needed No Yes
Self-hosted Yes No (cloud)