executing-plans
executing-plans
Use when executing an implementation plan in the current session as the implementer yourself — your human partner chose inline execution, or no subagent tool is available
serpapi-install-authInstall an official SerpAPI client, configure the private API key for server-side use, and verify account access without leaking credentials. Use when starting or repairing a SerpAPI integration. Trigger with "configure SerpAPI access".
Independent GitHub snapshot · Automated classification · Original documentation governs
Select an official client, keep the private key server-side, and prove access with the free Account API before spending a search.
Use Read, Glob, and Grep to inspect dependency and configuration files, WebFetch to re-check official client and Account API documentation, Write or Edit for secretless configuration, and Bash(python3:*), Bash(npm:*), or Bash(curl:*) only after the operator approves installation or a live check.
SerpAPI's current official packages are serpapi for Python and serpapi for JavaScript. Search and Account APIs authenticate with the private api_key. The Account API reports current quota and throughput fields and does not count against the monthly search allowance.
Store the key as SERPAPI_KEY in a server-side secret manager. Never commit it, expose it to browser code, print it, place it in a fixture, or persist a command containing it in shell history. Do not assume OAuth, scopes, or multiple independently scoped keys unless current account documentation confirms them.
.gitignore, secret-loading convention, and deployment environment.python3 -m pip install serpapi or npm install serpapi after approval.SERPAPI_KEY to the approved local and deployment secret stores; add only variable names and redacted examples to tracked files.Return the selected client and pinned version, changed files, secret-store location, redacted Account API receipt, live-search decision, and rotation/revocation owner.
| Condition | Response |
|---|---|
401 Unauthorized | Confirm that the correct secret is loaded; never echo the value. |
403 Forbidden | Treat the account as unauthorized or disabled and stop. |
429 Too Many Requests | Query Account API to distinguish hourly throughput from exhausted searches. |
| Package collision | Remove legacy packages only through a reviewed migration plan. |
import os
import serpapi
client = serpapi.Client(api_key=os.environ["SERPAPI_KEY"], timeout=10)
account = client.account()
print({key: account.get(key) for key in (
"account_status", "plan_name", "plan_searches_left",
"account_rate_limit_per_hour",
)})
Run the hello-world workflow with a harmless query and record its search ID without recording the key.