Agent skill

Serpapi

by borski in borski/travel-hacking-toolkit

Google Flights cash prices, Google Hotels, and Google Travel Explore via SerpAPI.

MITAuto-check: notes

Install Serpapi

skills CLI
$ npx skills add borski/travel-hacking-toolkit --skill serpapi -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install borski/travel-hacking-toolkit serpapi --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/borski/travel-hacking-toolkit.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/travel-hacking-toolkit/skills/serpapi .claude/skills/serpapi && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
serpapi
GitHub stars
689
Token cost
~1.9k tokens
SKILL.md length
666 words
Files
1
Skills in repo
46
Repo updated
First seen
Licence
MIT

At a glance

Google Flights cash prices, Google Hotels, and Google Travel Explore via SerpAPI.

  • Works in 4 steps: Search cash prices on Google Flights via… → Estimate portal cost. Chase uses dynamic… → Compare with award price from Seats.aero → …
  • Award-vs-cash comparison
  • SKILL.md covers Authentication, API Base, Google Flights (Cash Prices) and Google Hotels, plus 3 more sections
  • Calls curl and jq; reaches serpapi.com; needs SERPAPI_API_KEY

What it does

Serpapi is an agent skill from borski/travel-hacking-toolkit. Google Flights cash prices, Google Hotels, and Google Travel Explore via SerpAPI. Use for award-vs-cash comparison, hotel search, and destination discovery.

Its SKILL.md is about 1.9k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It works with SerpApi. The repository describes itself as: AI-powered travel hacking and search with cash, points, miles, and award flights. Drop-in skills and MCP servers for Claude, Codex, and OpenCode. The licence is MIT.

When your agent uses it

  • Award-vs-cash comparison
  • Destination discovery

Example prompts

  • “/serpapi”

Requirements

  • A credential in SERPAPI_API_KEY

Workflow steps

4 steps, taken from the first numbered list in SKILL.md.

  1. Search cash prices on Google Flights via SerpAPI
  2. Estimate portal cost. Chase uses dynamic "Points Boost" pricing (~1.5-2.0cpp on select bookings, not a flat rate). Amex/Capital One…
  3. Compare with award price from Seats.aero
  4. Lower number wins (accounting for the value you place on each currency)

What it can do on your machine

Read from SKILL.md and the folder at commit db82131. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • curl
    • jq

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • serpapi.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • SERPAPI_API_KEY

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Serpapi loads about 1.9k tokens when it runs. Until then it costs about 41 tokens; SKILL.md has 666 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~41
When it runs · the whole SKILL.md, loaded when a task matches
~1.9k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NoteMentions a .env fileSKILL.md:18
    `SERPAPI_API_KEY` is set in `.env`. All requests use `api_key` query parameter.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from borski/travel-hacking-toolkit at commit db82131, republished under its MIT licence (© borski). 666 words, ~1,923 tokens.

Download SKILL.mdSave it as .claude/skills/serpapi/SKILL.md (or your agent's skills folder).
name
serpapi
description
Google Flights cash prices, Google Hotels, and Google Travel Explore via SerpAPI. Use for award-vs-cash comparison, hotel search, and destination discovery.
category
hotels
summary
Google Hotels search and destination discovery.
api_key
SerpAPI
license
MIT

SerpAPI Skill

Scrape Google Flights, Google Hotels, and Google Travel Explore via SerpAPI. Provides cash flight prices (for Chase/Amex portal comparison), hotel pricing, and destination discovery.

Source: serpapi.com — Free tier available, paid plans for higher volume.

Authentication

SERPAPI_API_KEY is set in .env. All requests use api_key query parameter.

API Base

https://serpapi.com/search

Google Flights (Cash Prices)

Search for flight prices and schedules. Essential for comparing: "Is 88,000 United miles better than paying $900 cash through the Chase portal?" (Chase portal pricing is now dynamic via Points Boost, ~1.5-2.0 cpp on select bookings; verify the actual quote.)

bash
curl -s "https://serpapi.com/search?engine=google_flights&departure_id=SFO&arrival_id=NRT&outbound_date=2026-08-10&type=2&adults=2&travel_class=1&currency=USD&stops=2&sort_by=2&api_key=$SERPAPI_API_KEY" | jq '{best: [.best_flights[]? | {price: .price, duration: .total_duration, stops: (.layovers | length), flights: [.flights[] | {from: .departure_airport.id, to: .arrival_airport.id, airline: .airline, flight: .flight_number, depart: .departure_airport.time, arrive: .arrival_airport.time}]}], price_insights: .price_insights}'
Parameters
ParamRequiredDescription
engineYesgoogle_flights
departure_idYesAirport code(s), comma-separated: SFO,PDX
arrival_idYesAirport code(s), comma-separated: NRT,HND
outbound_dateYesYYYY-MM-DD
return_dateRound tripYYYY-MM-DD (required if type=1)
typeNo1 = round trip (default), 2 = one way, 3 = multi-city
adultsNoDefault 1
childrenNoDefault 0
travel_classNo1 = economy, 2 = premium economy, 3 = business, 4 = first
stopsNo0 = any, 1 = nonstop, 2 = 1 stop or fewer, 3 = 2 stops or fewer
sort_byNo1 = top flights, 2 = price, 3 = departure, 4 = arrival, 5 = duration
include_airlinesNoIATA codes: SK,KL,UA or alliances: STAR_ALLIANCE,SKYTEAM,ONEWORLD
max_priceNoMaximum ticket price in USD
max_durationNoMaximum flight duration in minutes
bagsNoNumber of carry-on bags
deep_searchNotrue for browser-identical results (slower)
currencyNoDefault USD
Multi-City (Open Jaw)

Use type=3 with multi_city_json:

bash
curl -s "https://serpapi.com/search?engine=google_flights&type=3&multi_city_json=%5B%7B%22departure_id%22%3A%22SFO%22%2C%22arrival_id%22%3A%22NRT%22%2C%22date%22%3A%222026-08-05%22%7D%2C%7B%22departure_id%22%3A%22ICN%22%2C%22arrival_id%22%3A%22SFO%22%2C%22date%22%3A%222026-08-26%22%7D%5D&adults=2&travel_class=1&currency=USD&api_key=$SERPAPI_API_KEY" | jq '.'

The JSON value for multi_city_json is URL-encoded. Decoded:

json
[{"departure_id":"SFO","arrival_id":"NRT","date":"2026-08-05"},{"departure_id":"ICN","arrival_id":"SFO","date":"2026-08-26"}]
Response Fields

Each flight in best_flights[] and other_flights[]:

FieldDescription
priceCash price in USD
total_durationTotal minutes
flights[]Array of legs with airline, flight number, times, airplane, legroom
layovers[]Array with duration and airport for each connection
departure_tokenToken to get return flight options (round trip)
booking_tokenToken to get booking options

price_insights includes lowest_price, price_level (low/typical/high), and typical_price_range.

Portal Comparison Math

Chase Sapphire Reserve: dynamic Points Boost pricing, typically 1.5-2.0 cpp on select bookings (not a fixed floor). Verify actual portal price for the specific booking. If cash price is $900, portal cost = 60,000 UR points. If award price is 88,000 United miles, cash via portal is better value.

Amex: typically 1 cpp via portal (worse value, use transfers instead).

Capital One Venture X: 1 cpp via portal, but transfer partners can be better.

Google Hotels

Search hotels and vacation rentals with pricing from multiple OTAs.

bash
curl -s "https://serpapi.com/search?engine=google_hotels&q=hotels+Tokyo+Japan&check_in_date=2026-08-10&check_out_date=2026-08-13&adults=2&currency=USD&sort_by=3&api_key=$SERPAPI_API_KEY" | jq '[.properties[]? | {name: .name, type: .type, rating: .overall_rating, reviews: .reviews, price: .rate_per_night.extracted_lowest, class: .extracted_hotel_class, amenities: .amenities}] | .[0:10]'
Show full SKILL.md (280 more words)Show less
Parameters
ParamRequiredDescription
engineYesgoogle_hotels
qYesSearch query: hotels Tokyo Japan
check_in_dateYesYYYY-MM-DD
check_out_dateYesYYYY-MM-DD
adultsNoDefault 2
childrenNoDefault 0
sort_byNo3 = lowest price, 8 = highest rating, 13 = most reviewed
min_price / max_priceNoPrice range filter
hotel_classNo2,3,4,5 (comma-separated)
ratingNo7 = 3.5+, 8 = 4.0+, 9 = 4.5+
vacation_rentalsNoSet to true for Airbnb-style results
property_tokenNoGet details for a specific property

Google Travel Explore

Discover destinations and cheapest flights from an origin. Great for "where can I fly cheaply in August?"

bash
curl -s "https://serpapi.com/search?engine=google_travel_explore&departure_id=SFO&outbound_date=2026-08-05&return_date=2026-08-26&adults=2&travel_class=1&currency=USD&api_key=$SERPAPI_API_KEY" | jq '[.destinations[]? | {name: .name, country: .country, airport: .destination_airport.code, price: .flight_price, duration: .flight_duration, stops: .number_of_stops, airline: .airline}] | .[0:15]'
Parameters
ParamRequiredDescription
engineYesgoogle_travel_explore
departure_idYesAirport code or kgmid
arrival_idNoSpecific destination
arrival_area_idNoRegion kgmid (e.g., /m/02j9z for Europe)
outbound_dateNoYYYY-MM-DD
return_dateNoYYYY-MM-DD
monthNo1-12 for flexible dates
travel_durationNo1 = weekend, 2 = 1 week, 3 = 2 weeks
interestNo/g/11bc58l13w = Outdoors, /m/0b3yr = Beaches
include_airlinesNoFilter by airline or alliance
max_priceNoMaximum price
stopsNoSame as Google Flights

Workflow: Compare Award vs Cash

  1. Search cash prices on Google Flights via SerpAPI
  2. Estimate portal cost. Chase uses dynamic "Points Boost" pricing (~1.5-2.0cpp on select bookings, not a flat rate). Amex/Capital One ~1.0cpp. For rough math, run the actual portal quote against the cash price; do not assume a flat cpp on Chase.
  3. Compare with award price from Seats.aero
  4. Lower number wins (accounting for the value you place on each currency)

Notes

  • Cached results are free (1hr cache). Set no_cache=true to force fresh.
  • deep_search=true gives browser-identical results but is slower.
  • Results include price_insights with historical price data and trend.
  • Multi-city supports open jaw itineraries natively.
  • Hotels support vacation rentals mode for Airbnb-style results.

© borski, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in plugins/travel-hacking-toolkit/skills/serpapi of borski/travel-hacking-toolkit.

Open the folder on GitHubat commit db82131

Compare with similar skills

Serpapi next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Serpapi compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Serpapi this skillborski/travel-hacking-toolkit689—~1.9kAutomated safety check: NotesMIT
SEO and GEO Auditdageno-agents/seo-geo-audit176—~2kAutomated safety check: PassMIT
Stock Analysisliusai0820/Stock-Analysis-Skill142—~904Automated safety check: NotesNone
Caption Writerstevenflanagan1/social-ai-team239—~2.9kAutomated safety check: PassNone
Image Search UsageOtoDock/oto-dock190—~1.1kAutomated safety check: PassCustom licence
Serpapi AutomationComposioHQ/awesome-claude-skills77k3 repos~730Automated safety check: PassNone

Similar skills

  • SEO and GEO Audit

    dageno-agents/seo-geo-audit

    Runs one prioritized audit that combines technical SEO, content quality, trust signals, entity clarity and AI search readiness for a page, site or domain.

    176 GitHub stars~2k tokensUpdated 1 mo ago
    Marketing & SEOAuto-check passed
  • Stock Analysis

    liusai0820/Stock-Analysis-Skill

    股票智能分析技能。输入股票代码(A股/港股/美股),自动完成: 1. An agent skill from liusai0820/Stock-Analysis-Skill.

    142 GitHub stars~904 tokensUpdated 7 mo ago
    Business, Finance & HRAuto-check: notes
  • Caption Writer

    stevenflanagan1/social-ai-team

    Writes on-brand social media captions for SMBs. An agent skill from stevenflanagan1/social-ai-team.

    239 GitHub stars~2.9k tokensUpdated today
    Writing & ContentAuto-check passed
  • Image Search Usage

    OtoDock/oto-dock

    Search the web for images with filters and download them. An agent skill from OtoDock/oto-dock.

    190 GitHub stars~1.1k tokensUpdated 8 days ago
    Productivity & AutomationAuto-check passed
  • Serpapi Automation

    ComposioHQ/awesome-claude-skills

    Automate Serpapi tasks via Rube MCP (Composio). An agent skill from ComposioHQ/awesome-claude-skills.

    77k GitHub starsUsed in 3 repos~730 tokens
    Productivity & AutomationAuto-check passed
  • Build production-ready Bright Data integrations with best practices baked in.

    264 GitHub starsUsed in 1 repo~3.6k tokens
    Data & AnalyticsAuto-check passed

More from borski/travel-hacking-toolkit

All 46 skills in this repo
  • Amex Travel

    borski/travel-hacking-toolkit

    Search Amex travel portal for cash prices, MR points pricing, IAP discounts, and FHR/THC hotel benefits via Patchright.

    689 GitHub stars~3.1k tokensUpdated 2 days ago
    Auto-check passed
  • Chase Travel

    borski/travel-hacking-toolkit

    Search Chase UR travel portal via Patchright for cash prices, points pricing, Points Boost offers, and Chase Edit hotel benefits.

    689 GitHub stars~2.8k tokensUpdated 2 days ago
    Auto-check passed
  • Deutsche Bahn

    borski/travel-hacking-toolkit

    Deutsche Bahn train schedules, journey planning, and departures across Germany and into neighboring countries (Austria, Switzerland, Netherlands, France, Belgium).

    689 GitHub stars~1.5k tokensUpdated 2 days ago
    Auto-check passed
  • Sutochno

    borski/travel-hacking-toolkit

    Search Sutochno.ru (СУТОЧНО.РУ), a Russian short-term apartment-rental platform where you book directly from owners and pay in rubles (Mir card / bank transfer).

    689 GitHub stars~2.1k tokensUpdated 2 days ago
    Auto-check passed
  • Ticketsatwork

    borski/travel-hacking-toolkit

    Search TicketsAtWork (EBG corporate perks) for hotels, theme park tickets, attractions, and rental cars via Patchright.

    689 GitHub stars~4.2k tokensUpdated 2 days ago
    Auto-check passed
  • Vrbo

    borski/travel-hacking-toolkit

    Search VRBO (Vrbo / Expedia Group) vacation rentals including entire homes, condos, and cabins via Patchright browser automation.

    689 GitHub stars~1.7k tokensUpdated 2 days ago
    Auto-check passed

Works with

Questions about Serpapi

What does Serpapi do?

Google Flights cash prices, Google Hotels, and Google Travel Explore via SerpAPI. Serpapi is an agent skill from borski/travel-hacking-toolkit. Google Flights cash prices, Google Hotels, and Google Travel Explore via SerpAPI.

When should I use Serpapi?

Serpapi fits situations like: award-vs-cash comparison; destination discovery.

How do I install Serpapi in Claude Code?

Run `npx skills add borski/travel-hacking-toolkit --skill serpapi -a claude-code`. Or copy the skill folder (plugins/travel-hacking-toolkit/skills/serpapi in borski/travel-hacking-toolkit) into .claude/skills/serpapi in your project. Claude Code loads it when a task matches its description.

How do I install Serpapi in Codex?

Run `npx skills add borski/travel-hacking-toolkit --skill serpapi -a codex`. Or copy the skill folder (plugins/travel-hacking-toolkit/skills/serpapi in borski/travel-hacking-toolkit) into .agents/skills/serpapi in your project. Codex loads it when a task matches its description.

Can I use Serpapi in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add borski/travel-hacking-toolkit --skill serpapi -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/serpapi, .gemini/skills/serpapi, .github/skills/serpapi and .opencode/skills/serpapi in your project.

What does Serpapi need to run?

Going by SKILL.md and its folder, Serpapi needs the command-line tools its instructions call (curl and jq) and credentials named SERPAPI_API_KEY. Our summary lists: A credential in SERPAPI_API_KEY.

Does Serpapi access the network?

SKILL.md names 1 domain. In commands or code: serpapi.com; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.

Is Serpapi safe to install?

Our automated static check of SKILL.md found notes only (mentions a .env file), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.

What licence does Serpapi use?

Serpapi is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Serpapi use?

About 1.9k tokens (SKILL.md is roughly 7.7k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Serpapi?

Skills that share tags, products or a category with Serpapi: SEO and GEO Audit (dageno-agents/seo-geo-audit, 176 stars), Stock Analysis (liusai0820/Stock-Analysis-Skill, 142 stars), Caption Writer (stevenflanagan1/social-ai-team, 239 stars) and Image Search Usage (OtoDock/oto-dock, 190 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Serpapi?

borski (a GitHub user) maintains it in borski/travel-hacking-toolkit, which has 689 GitHub stars. The repository holds 46 skills in this directory. The repository was last updated on October 5, 2026.

Source: borski/travel-hacking-toolkit on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.