One Google scraper for 12 search types

CrustAPI is a Google scraper with one endpoint and 12 search types: web, Maps, news, shopping, images, videos, reviews, and more. Clean JSON back in about a second, and a query that returns nothing costs nothing.

3,000 free / month, no card 12 Google search types Credits never expire
THE MENU

Every Google surface, one parameter

The whole API is GET /v1/search?type= plus your query. Change the type, get a different Google surface. Same key, same credits, same JSON habits across all twelve.

type=What comes backWorth knowing
webOrganic results with positions, knowledge graph, people-also-ask, related searchesp50 ~1.2s
mapsBusiness records: name, address, phone, website, rating, review count, categories, hours~1s
placesA leaner place-result shape when you want less per row
reviewsThe actual Google reviews for a place: rating, text, author, date~0.3s responses
newsHeadlines with source, date, link, and image
shoppingProduct listings with prices
imagesImage results~97 images per credit (serper returns 10)
videosVideo results with titles and thumbnails
scholarResults from Google Scholar
patentsResults from Google Patents
autocompleteGoogle's suggestions for a query prefix
webpageThe content of a URL, fetched and parsed

Deeper pages exist for the big ones: the Google Search API, the Google Maps scraper API, the Google Reviews API, and the Google Images API.

PULLED LIVE FROM THE API, JULY 17, 2026

One request, real response

One maps query, the first business shown two ways: as CSV for a spreadsheet, then the full JSON. Same call, same values.

# a maps search; each business returned costs 1 credit, zero results cost nothing curl "https://crustapi.com/v1/search?type=maps&q=plumbers%20in%20Denver,%20CO&limit=3" -H "x-api-key: YOUR_KEY"
# CSV view: one row per business, drops straight into a spreadsheet title,placeId,address,phone,website,categoryName,totalScore,reviewsCount,lat,lng "Time Plumbing, Heating & Electric Denver",ChIJXQdbzlF5bIcRisJQL72gJFI,"2525 W 6th Ave, Denver, CO 80204",(303) 7••-••37,https://www.303plumber.com/,Plumber,4.6,786,39.7259254,-105.0182919
// JSON view of the same record. took about a second, phone masked here, full in the API: { "query": "plumbers in Denver, CO", "count": 3, "tookMs": 702, "places": [{ "title": "Time Plumbing, Heating & Electric Denver", "placeId": "ChIJXQdbzlF5bIcRisJQL72gJFI", "address": "2525 W 6th Ave, Denver, CO 80204", "phone": "(303) 7••-••37", "website": "https://www.303plumber.com/", "categoryName": "Plumber", "totalScore": 4.6, "reviewsCount": 786, "openingHours": { "Monday": "Open 24 hours", ... }, "location": { "lat": 39.7259254, "lng": -105.0182919 } }, ...2 more] }

That about a second is from the tookMs field in the response itself, on a real query, the day this page was written. No demo environment, no cached answer.

SWAP ONE PARAMETER

Code for each type

Every surface works the same way. Here are the ones people reach for first:

# web search: organic results, knowledgeGraph, peopleAlsoAsk, relatedSearches curl "https://crustapi.com/v1/search?type=web&q=best%20crm%20software" -H "x-api-key: YOUR_KEY" # news: headlines with source, date, and image curl "https://crustapi.com/v1/search?type=news&q=tesla" -H "x-api-key: YOUR_KEY" # images: ~97 images back for 1 credit curl "https://crustapi.com/v1/search?type=images&q=mid%20century%20desk" -H "x-api-key: YOUR_KEY" # reviews: the actual Google reviews for a place, ~0.3s curl "https://crustapi.com/v1/search?type=reviews&q=Blue%20Bottle%20Coffee&sortBy=newest" -H "x-api-key: YOUR_KEY" # autocomplete: what Google suggests as people type curl "https://crustapi.com/v1/search?type=autocomplete&q=how%20to%20start%20a" -H "x-api-key: YOUR_KEY"

Swap type= for shopping, videos, scholar, patents, places, or webpage and the same request keeps working. You can also try any of them without code in the playground, and the full parameter list is in the docs.

Run your real queries free
3,000 credits a month. No card, no contract.
Get started →
PRICING

You pay when it works

Billing follows one rule: a query that returns results costs credits, and a query that fails or comes back empty costs nothing. Prepaid packs: 25k for $49 · 100k for $149 · 500k for $549 · 2.5M for $1,999. Credits never expire, so a pack you buy for one project waits for the next one. The free tier is 3,000 queries a month with no card.

WHERE WE STAND

Public data only

Everything CrustAPI collects is on public, logged-out Google pages that anyone can open in a browser. We don't use fake accounts, we don't scrape behind logins, and we don't defeat CAPTCHAs. US courts have repeatedly sided with scraping public pages, while Google's own terms restrict automated access, so both sides of that picture are worth knowing before you build. Our position, in plain words, is in our terms.

FAIR PLAY

When something else is the better pick: if you need Google's SLA and a Google-billed invoice, use the official APIs; they're built for apps and they're good at that. If you enjoy running your own proxies and headless browsers, open-source scrapers work and cost only your time. And serper.dev is a well-known, solid product in this space; we wrote a side-by-side comparison at serper alternative instead of pretending it's bad.

WHERE WE FALL SHORT

A Google scraper won't get you emails

Maps records include a phone and a website for most businesses. They do not include email addresses, because Google Maps doesn't show them. Any tool that promises emails from Maps is getting them somewhere else, usually by crawling the business website and guessing.

If verified emails are the point of your list, that data lives on our LinkedIn side: people search, profiles, companies, jobs, and posts, with a verified email attached to people results. Start with the LinkedIn people search API.

BEFORE YOU ASK

Common questions

WORKS WITH YOUR STACK

Point it at Google

3,000 free credits covers real work across all 12 types. Run one query and read the JSON that comes back.

Get 3,000 free credits
No credit card required