From serpapi-pack
Diagnoses and fixes SerpApi errors: invalid keys, exhausted credits, blocked searches, empty results. Provides curl diagnostics, error reference, and handling tips.
How this skill is triggered — by the user, by Claude, or both
Slash command
/serpapi-pack:serpapi-common-errorsThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Quick reference for SerpApi errors. Check `search_metadata.status` first -- it will be `Success` or `Error`. Error details are in `search_metadata.error` or `error` at the top level.
Quick reference for SerpApi errors. Check search_metadata.status first -- it will be Success or Error. Error details are in search_metadata.error or error at the top level.
{ "error": "Invalid API key. Your API key should be here: https://serpapi.com/manage-api-key" }
Fix: Verify key at serpapi.com/manage-api-key. Check env var is loaded.
{ "error": "Your searches for the month have run out. You can upgrade your plan at https://serpapi.com/pricing" }
Fix: Check usage: curl "https://serpapi.com/account.json?api_key=$SERPAPI_API_KEY". Upgrade plan or wait for monthly reset.
{ "error": "Missing parameter: q. Please provide a search query." }
Fix: Each engine has different query params. Google/Bing use q, YouTube uses search_query.
{ "search_metadata": { "status": "Error" }, "error": "Google hasn't returned any results for this query." }
Fix: SerpApi handles CAPTCHAs automatically, but unusual queries or very high volume may trigger blocks. Try different location or wait.
result = client.search(engine="google", q="xyzzy123nonexistent")
if not result.get("organic_results"):
# Not an error -- query just has no results
# Check for answer_box, knowledge_graph, etc.
print("No organic results, checking other components...")
print(f"Answer box: {result.get('answer_box')}")
print(f"Related searches: {result.get('related_searches')}")
# 1. Check API key and account status
curl -s "https://serpapi.com/account.json?api_key=$SERPAPI_API_KEY" | jq '{
plan: .plan_name, used: .this_month_usage, remaining: .plan_searches_left
}'
# 2. Test basic search
curl -s "https://serpapi.com/search.json?q=test&engine=google&api_key=$SERPAPI_API_KEY" \
| jq '.search_metadata.status'
# 3. Check search archive (last 10 searches)
curl -s "https://serpapi.com/searches.json?api_key=$SERPAPI_API_KEY" \
| jq '.[0:3] | .[] | {id: .id, status: .status, query: .search_parameters.q}'
| Error | Retryable | Action |
|---|---|---|
| Invalid API key | No | Fix key |
| Searches exhausted | No | Upgrade plan |
| CAPTCHA/blocked | Sometimes | Change location, wait |
| Timeout | Yes | Retry with backoff |
| Missing parameter | No | Fix request params |
| 500 server error | Yes | Retry 2-3 times |
For comprehensive debugging, see serpapi-debug-bundle.
5plugins reuse this skill
First indexed Jul 10, 2026
npx claudepluginhub ia23a-lachnita/claude-code-plugins-plus-fix-skills --plugin serpapi-packDiagnose and fix SerpApi errors: invalid keys, exhausted credits, blocked searches. Use when SerpApi returns errors, empty results, or unexpected status codes. Trigger: "serpapi error", "fix serpapi", "serpapi not working", "serpapi empty results".
Diagnoses and fixes common Apify Actor and API errors including run failures, auth errors, proxy drops, build breaks, and anti-bot blocks with copy-paste fixes.
Diagnoses and fixes Perplexity Sonar API errors (401, 429, 400) with curl diagnostics and retry logic. Useful when debugging failed requests or integration issues. Triggered by phrases like "perplexity error" or "fix perplexity".