We needed Google results for our own projects, SerpApi’s format was the obvious standard, and the jump from the free plan to $75 a month for 5,000 searches was hard to justify.
serpgrab is an API that returns real-time Google search results as JSON. The twist is that it returns them in exactly the same format as SerpApi: same parameters, same block names, same field names. If your code already talks to SerpApi, switching is a one-line change:
- https://serpapi.com/search.json?engine=google&q=pizza&location=Austin,Texas,United+States
+ https://api.serpgrab.com/search.json?engine=google&q=pizza&location=Austin,Texas,United+States
Your parsing code keeps working, because organic_results, local_results, knowledge_graph,
answer_box and the rest have the same names and the same fields inside them.
Why compatible, and why cheaper
SerpApi’s JSON has become the de facto shape for Google results: tutorials, LLM tools and plenty of internal code assume it. That makes it a good format to share, and a hard one to leave when the bill grows.
So serpgrab does the boring thing: same requests, same responses, lower price.
| SerpApi | serpgrab | |
|---|---|---|
| Free | 250 searches a month | 250 searches a month |
| 5,000 searches a month | $75 (Developer) | $15 (Pro) |
| Per 1,000 searches | $15.00 | $3.00 |
| After the plan | upgrade to the next plan | $0.003 a search |
The free plan only asks for an email address: the key arrives by email and works straight away. Pro is billed through RapidAPI.
What you get
Web search (engine=google), parsed into the blocks Google actually showed:
- organic results with the real destination link (Google’s redirect tokens are resolved for you), sitelinks, dates and snippets
- the local pack and its map, the knowledge panel, answer boxes (weather, stocks, currency, flights), AI Overviews with their references, People also ask, top stories, videos
- ads, Local Services ads and shopping cards, with ad links never opened by us, so a search does not register ad clicks
- sports, events, jobs, recipes, inline images, “Things to know”, discussions and forums, related searches, filters
search_information(the query Google displayed, spelling corrections) and pagination, includingserpapi_pagination.nextso client libraries that follow it keep working
The parameters you would expect: q, location, gl (country; the search runs from a
residential connection in that country), hl (language), start for paging, and Google’s own
tbs, safe, lr, cr and uule.
Google Maps (engine=google_maps, or /maps): 20 businesses per page with place ID,
coordinates, rating, reviews, address, hours, phone, website, attributes and booking links, in
SerpApi’s google_maps format. Maps searches usually answer in a second or two.
curl -G 'https://api.serpgrab.com/maps' \
--data-urlencode 'q=pizza' \
--data-urlencode 'll=@30.2672,-97.7431,14z' \
-H 'X-API-Key: YOUR_KEY'
How close is “compatible”?
We check the parser against SerpApi’s own output for the same queries. On the 38 Maps businesses we compared, every field we return matched SerpApi’s value (booking links differ only in the tracking tokens Google puts in them per visit). On web search, organic results, knowledge panels and People also ask match on structure and field names; values differ where the two fetches simply saw different pages (Google reshuffles results from minute to minute). A set of saved pages runs as regression tests before every change to the parser.
What it does not do yet
Better to know now than after you have switched:
- Desktop results only (
device=mobilereturns an error rather than desktop results). nfpr=1(turn off spelling correction) andfilter=0are not available.- Maps place details and reviews (
type=place,google_maps_reviews) are not there yet. - Chart data (hourly weather, price history) and the part of an AI Overview that Google only loads after “Show more” are not parsed.
- Google News, Images and Shopping engines are not available yet.
- Most searches answer in 1-5 seconds, but one that needs a fresh connection can take up to about 70, so give your client a generous timeout.
Try it
Get a free key at serpgrab.com: 250 searches a month, no card. If you hit a block that does not parse, or a field that does not match SerpApi, email us at hello@serpgrab.com. That feedback decides what we build next.
- The serpgrab team