From serpapi-pack
Collects SerpApi diagnostics including account status, recent searches, test results, and environment info into a bundle for troubleshooting or support tickets.
npx claudepluginhub jeremylongshore/claude-code-plugins-plus-skills --plugin serpapi-packThis skill is limited to using the following tools:
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.
Diagnoses and fixes SerpApi errors: invalid keys, exhausted credits, blocked searches, empty results. Provides curl diagnostics, error reference, and handling tips.
Generates Firecrawl debug bundle with SDK versions, environment info, API connectivity tests, and credits for support tickets and troubleshooting.
Collects Exa API diagnostics: Node/exa-js versions, API key status, curl connectivity tests, and TypeScript debug searches with timings/errors for support tickets.
Share bugs, ideas, or general feedback.
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.
#!/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"
# 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']}")
| 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 |
For rate limit issues, see serpapi-rate-limits.