SerpApi Debug Bundle
Overview
Collect diagnostic data for SerpApi issues using the Account API and Searches Archive API. SerpApi stores all search results for retrieval without additional credit charges.
Instructions
Step 1: Collect Diagnostics
#!/bin/bash
BUNDLE="serpapi-debug-$(date +%Y%m%d-%H%M%S)"
mkdir -p "$BUNDLE"
KEY="${SERPAPI_API_KEY:?Set SERPAPI_API_KEY}"
# Account status
curl -s "https://serpapi.com/account.json?api_key=$KEY" \
| jq '{plan: .plan_name, used: .this_month_usage, remaining: .plan_searches_left, rate_limit: .searches_per_month}' \
> "$BUNDLE/account.json"
# Recent searches (last 10)
curl -s "https://serpapi.com/searches.json?api_key=$KEY" \
| jq '.[0:10] | .[] | {id: .id, status: .status, engine: .search_parameters.engine, query: .search_parameters.q, created: .created_at}' \
> "$BUNDLE/recent-searches.json"
# Test search
curl -s "https://serpapi.com/search.json?q=test&engine=google&num=1&api_key=$KEY" \
| jq '.search_metadata' > "$BUNDLE/test-search.json"
# Environment
echo "Node: $(node --version 2>/dev/null || echo N/A)" > "$BUNDLE/env.txt"
echo "Python: $(python3 --version 2>/dev/null || echo N/A)" >> "$BUNDLE/env.txt"
pip show serpapi 2>/dev/null >> "$BUNDLE/env.txt" || true
npm list serpapi 2>/dev/null >> "$BUNDLE/env.txt" || true
tar -czf "$BUNDLE.tar.gz" "$BUNDLE"
echo "Bundle: $BUNDLE.tar.gz"
Step 2: Retrieve Failed Search Details
# Use the Searches Archive API to get details of any past search
import serpapi, os
client = serpapi.Client(api_key=os.environ["SERPAPI_API_KEY"])
# Get a specific search by ID (no credit charge)
result = client.search(engine="google", search_id="YOUR_SEARCH_ID")
print(f"Status: {result['search_metadata']['status']}")
if "error" in result:
print(f"Error: {result['error']}")
Error Handling
| Finding | Likely Issue | Action |
|---------|-------------|--------|
| remaining: 0 | Credits exhausted | Upgrade plan or wait for monthly reset |
| Test search fails | API key issue | Re-check key at serpapi.com |
| Recent searches show errors | Bad parameters | Check engine-specific param requirements |
Resources
Next Steps
For rate limit issues, see serpapi-rate-limits.