Atlas / Skills / borski / Serpapi

SerpapiCAUTION

skills/borski/serpapi

AI-powered travel hacking and search with cash, points, miles, and award flights. Drop-in skills and MCP servers for Claude, Codex, and OpenCode.

Verdict
CAUTION
Grade
B
Trust score
89 /100
Version
—
Hosts
—
License
MIT
Stars
693
01

Overview

AI-powered travel hacking and search with cash, points, miles, and award flights. Drop-in skills and MCP servers for Claude, Codex, and OpenCode.

Read from source at commit fda58ab480fdOBSERVED · 2026-10-14
Advertisement
02

What it tells the agent

The instruction file, verbatim from the audited commit — this is the text the model reads, and the surface the audit's instruction layer examines. Quoted here so you can judge it without cloning anything.

---
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](https://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.)

### One-Way Search

```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

| Param | Required | Description |
|-------|----------|-------------|
| `engine` | Yes | `google_flights` |
| `departure_id` | Yes | Airport code(s), comma-separated: `SFO,PDX` |
| `arrival_id` | Yes | Airport code(s), comma-separated: `NRT,HND` |
| `outbound_date` | Yes | `YYYY-MM-DD` |
| `return_date` | Round trip | `YYYY-MM-DD` (required if type=1) |
| `type` | No | `1` = round trip (default), `2` = one way, `3` = multi-city |
| `adults` | No | Default 1 |
| `children` | No | Default 0 |
| `travel_class` | No | `1` = economy, `2` = premium economy, `3` = business, `4` = first |
| `stops` | No | `0` = any, `1` = nonstop, `2` = 1 stop or fewer, `3` = 2 stops or fewer |
| `sort_by` | No | `1` = top flights, `2` = price, `3` = departure, `4` = arrival, `5` = duration |
| `include_airlines` | No | IATA codes: `SK,KL,UA` or alliances: `STAR_ALLIANCE,SKYTEAM,ONEWORLD` |
| `max_price` | No | Maximum ticket price in USD |
| `max_duration` | No | Maximum flight duration in minutes |
| `bags` | No | Number of carry-on bags |
| `deep_search` | No | `true` for browser-identical results (slower) |
| `currency` | No | Default `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[]`:

| Field | Description |
|-------|-------------|
| `price` | Cash price in USD |
| `total_duration` | Total minutes |
| `flights[]` | Array of legs with airline, flight number, times, airplane, legroom |
| `layovers[]` | Array with duration and airport for each connection |
| `departure_token` | Token to get return flight options (round trip) |
| `booking_token` | Token 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]'
```

### Parameters

| Param | Required | Description |
|-------|----------|-------------|
| `engine` | Yes | `google_hotels` |
| `q` | Yes | Search query: `hotels Tokyo Japan` |
| `check_in_date` | Yes | `YYYY-MM-DD` |
| `check_out_date` | Yes | `YYYY-MM-DD` |
| `adults` | No | Default 2 |
| `children` | No | Default 0 |
| `sort_by` | No | `3` = lowest price, `8` = highest rating, `13` = most reviewed |
| `min_price` / `max_price` | No | Price range filter |
| `hotel_class` | No | `2,3,4,5` (comma-separated) |
| `rating` | No | `7` = 3.5+, `8` = 4.0+, `9` = 4.5+ |
| `vacation_rentals` | No | Set to `true` for Airbnb-style results |
| `property_token` | No | Get 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[
03

Trust audit

CAUTIONgrade B · trust 89/100 Install with care. The audit found things worth knowing before you trust its output.

LayerWhat it checksResult
L0Provenance & inventoryWARN
L1Static analysis of the codeNA
L2Instruction surface (what it tells the agent)PASS
L3Class-specific surfacePASS
L4Behavioural (sandbox)SKIPPED

What the source does

Filesystem
none-observed
Network
none-observed
Shell
none-observed
Dependencies
pinned
Secrets in source
none-found

Findings (5)

MEDIUMInventory / provenance · inv.symlink · CWE-1104
.agents/skills
.agents/skills
Why it matters. link not followed
MEDIUMInventory / provenance · inv.symlink · CWE-1104
.claude/skills
.claude/skills
Why it matters. link not followed
MEDIUMInventory / provenance · inv.symlink · CWE-1104
.opencode/skills
.opencode/skills
Why it matters. link not followed
MEDIUMInventory / provenance · inv.symlink · CWE-1104
skills
skills
Why it matters. link not followed
LOWInventory / provenance · inv.symlink · CWE-1104
AGENTS.md
AGENTS.md
Why it matters. link not followed

Gates applied: no_behavioural_pass.

Audited 2026-10-14 · audit v0.4.1 · source sha fda58ab480fdfull audit observations/trust-audit/skill/borski__serpapi.json · Report an issue / request a re-scan
04

Audit history

Every audit this skill has had.

DateSourceVerdictGradeScoreChange
2026-10-14fda58ab480fdCAUTIONB89first audit
05

Questions

What does the Serpapi skill do?

AI-powered travel hacking and search with cash, points, miles, and award flights. Drop-in skills and MCP servers for Claude, Codex, and OpenCode.

Is Serpapi safe to install?

With care. The audit graded it B (89/100) and found 5 things worth knowing before you trust this skill, listed below with the exact line each was found on.

What can Serpapi access on my machine?

The audit observed no filesystem, network or shell use at all in its source.

How current is this page?

The grade is for one exact copy of the source (fda58ab480fd), read on 2026-10-14. The repository is watched, and a new audit runs when it changes — this is the first audit.

Advertisement