Troubleshooting Superhighway

Superhighway guides

Empty results (results array is [])

The most common cause is that SearXNG's upstream search engines temporarily blocked our datacenter IP. This happens with no warning and resolves itself within minutes as we rotate engines.

Quick check:

curl "https://superhighway.walls.sh/search?q=test&key=YOUR_KEY"
# Healthy: {"results":[...], "count":10}
# Blocked: {"results":[], "count":0}

What to do:

Persistent empty results for common queries? Email pat@walls.sh — we track these and rotate engines manually when needed.

401 Unauthorized

The API couldn't verify your key.

HTTP 401
{"error":"unauthorized","message":"Invalid or missing API key"}

Common causes:

# Correct header form
curl -H "Authorization: Bearer shwy_your_key_here" "https://superhighway.walls.sh/search?q=ai+news"

# Correct query-param form
curl "https://superhighway.walls.sh/search?q=ai+news&key=shwy_your_key_here"

402 Payment Required (x402 flow)

You're hitting the pay-per-call lane without a funded wallet, or your wallet is on the wrong network.

HTTP 402
{"x402Version":1,"error":"Payment required","accepts":[...]}

Common causes:

See the full wallet setup in the x402 pay-per-call guide. To avoid wallet management entirely, get a free API key instead — free tier covers 1,000 calls/month.

429 Rate Limited

HTTP 429
{"error":"rate_limit_exceeded","message":"Free tier: 1000 calls/month. Upgrade at /pricing."}

Free API keys are capped at 1,000 calls per calendar month. Options:

/research is slow

/research is intentionally a multi-step operation: it searches, fetches the top result pages, and synthesises them into a single answer. Expect 5–15 seconds — this is normal. If you need a lower-latency response, use /search and process results yourself.

# Fast — raw results, you do the reading
GET /search?q=your+question

# Thorough — Superhighway reads the pages for you (5–15 s)
GET /research?q=your+question

Timeout your HTTP client at 30 seconds minimum for /research calls. The default 5 s timeout in many HTTP libraries will fire before the response arrives.

CORS errors (browser requests)

Superhighway is a server-to-server API. Calling it directly from a browser fetch() will hit CORS restrictions. Call it from your backend (Node, Python, etc.) and proxy the result to your frontend. Do not embed API keys in client-side code.

Still stuck?

Email pat@walls.sh with the request ID from the response headers (X-Request-Id) and we'll trace it. Include the endpoint, the error body, and the approximate UTC time.