From serpapi-pack
Migrate between SerpApi client versions and handle package changes. Use when upgrading from google-search-results to serpapi package, or handling API response schema changes. Trigger: "upgrade serpapi", "serpapi migration", "serpapi new package".
npx claudepluginhub flight505/skill-forge --plugin serpapi-packThis skill is limited to using the following tools:
The main migration path: `google-search-results` (legacy) to `serpapi` (current official package). The API itself is stable -- changes are in client library interfaces, not the REST API.
Guides Next.js Cache Components and Partial Prerendering (PPR): 'use cache' directives, cacheLife(), cacheTag(), revalidateTag() for caching, invalidation, static/dynamic optimization. Auto-activates on cacheComponents: true.
Guides building MCP servers enabling LLMs to interact with external services via tools. Covers best practices, TypeScript/Node (MCP SDK), Python (FastMCP).
Share bugs, ideas, or general feedback.
The main migration path: google-search-results (legacy) to serpapi (current official package). The API itself is stable -- changes are in client library interfaces, not the REST API.
# BEFORE: Legacy package
from serpapi import GoogleSearch
search = GoogleSearch({"q": "test", "api_key": key})
result = search.get_dict()
# AFTER: New official package
import serpapi
client = serpapi.Client(api_key=key)
result = client.search(engine="google", q="test")
# Result is already a dict -- no get_dict() needed
# Migration steps
pip uninstall google-search-results
pip install serpapi
# Update imports across codebase
# OLD: from serpapi import GoogleSearch
# NEW: import serpapi
// BEFORE: Legacy
import { GoogleSearch } from 'google-search-results-nodejs';
const search = new GoogleSearch('api_key');
search.json({ q: 'test', engine: 'google' }, (result) => { ... });
// AFTER: Current (Promise-based)
import { getJson } from 'serpapi';
const result = await getJson({ engine: 'google', q: 'test', api_key: key });
// No callbacks -- uses Promises natively
| Aspect | Legacy | Current |
|---|---|---|
| Python import | from serpapi import GoogleSearch | import serpapi |
| Python init | GoogleSearch(params_dict) | serpapi.Client(api_key=key) |
| Python search | search.get_dict() | client.search(engine="google", q=...) |
| Node import | google-search-results-nodejs | serpapi |
| Node pattern | Callback-based | Promise/async-await |
| Engine param | Via class name (GoogleSearch, BingSearch) | Via engine parameter |
pip install serpapi / npm install serpapiengine parameter.get_dict() calls (Python -- result is already dict)For CI integration, see serpapi-ci-integration.