Agent skill

serpapi-upgrade-migration

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".

Stars 1,803
Forks 241

Install this agent skill to your Project

npx add-skill https://github.com/jeremylongshore/claude-code-plugins-plus-skills/tree/main/plugins/saas-packs/serpapi-pack/skills/serpapi-upgrade-migration

SKILL.md

SerpApi Upgrade & Migration

Overview

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.

Instructions

Python: google-search-results to serpapi

python
# 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
bash
# Migration steps
pip uninstall google-search-results
pip install serpapi

# Update imports across codebase
# OLD: from serpapi import GoogleSearch
# NEW: import serpapi

Node.js: google-search-results-nodejs to serpapi

typescript
// 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

Key Changes

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

Migration Checklist

  • Replace package: pip install serpapi / npm install serpapi
  • Update all imports
  • Replace class-per-engine with engine parameter
  • Replace callbacks with async/await (Node.js)
  • Remove .get_dict() calls (Python -- result is already dict)
  • Test all search queries return expected structure
  • Update CI dependencies

Resources

Next Steps

For CI integration, see serpapi-ci-integration.

Expand your agent's capabilities with these related and highly-rated skills.

Didn't find tool you were looking for?

Be as detailed as possible for better results