Skip to main content
AI/MLjeremylongshore

serpapi-upgrade-migration

'Migrate between SerpApi client versions and handle package changes.

Stars
2,267
Source
jeremylongshore/claude-code-plugins-plus-skills
Updated
2026-05-31
Slug
jeremylongshore--claude-code-plugins-plus-skills--serpapi-upgrade-migration
View on GitHubRaw SKILL.md

// install — copy + paste into any project

mkdir -p .claude/skills && curl -fsSL https://raw.githubusercontent.com/jeremylongshore/claude-code-plugins-plus-skills/HEAD/plugins/saas-packs/serpapi-pack/skills/serpapi-upgrade-migration/SKILL.md -o .claude/skills/serpapi-upgrade-migration.md

Drops the SKILL.md into .claude/skills/serpapi-upgrade-migration.md. Works with Claude Code, Cursor, and any agent that loads SKILL.md files from .claude/skills/.

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

# 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

Node.js: google-search-results-nodejs to 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

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.