The web scraper API for structured public data

CrustAPI is a web scraper API that turns Google searches and public LinkedIn pages into clean JSON. Twelve Google search types, five LinkedIn surfaces, one key. You only pay when a query returns results.

3,000 free / month, no card 12 Google types + LinkedIn Empty queries cost nothing
PICK THE RIGHT TOOL

Two kinds of web scraper API

The term covers two different products. A crawling API takes any URL you give it, handles the proxies and browser rendering, and returns the raw page. You still write the parsing, and you maintain it every time the page changes. Zyte, ScrapingBee, and Firecrawl are good tools in that lane.

A data API takes a query instead. It does the scraping, the parsing, and the schema work, and it returns structured JSON that looks the same every time. CrustAPI is a data API. We cover Google search and public LinkedIn pages, and we keep the parsers working so you never think about markup.

That focus is a real limit. If your job is pulling content from thousands of arbitrary websites, a crawling API is the better buy. If you need search results, business listings, reviews, or people data, keep reading.

WHAT IT COVERS

Twelve Google types, five LinkedIn surfaces

Everything runs through two GET endpoints with your key in the x-api-key header. You change the type parameter, never the endpoint.

SurfaceCallWhat comes back
Google Search/v1/search?type=webOrganic results with positions, knowledge graph, people-also-ask, related searches
Google Mapstype=maps · placesUp to 100 businesses per search: name, address, phone, website, rating, review count, categories, hours
Google Reviewstype=reviewsThe actual reviews for any place: rating, text, author, date, sorted and paginated, ~0.3s
Google verticalsnews · shopping · images · videos · scholar · patents · autocompleteEach vertical parsed to its own stable schema. Images returns ~97 images per credit
Any webpagetype=webpageOne URL in, clean page text, metadata, and JSON-LD out. Markdown on request
LinkedIn public/v1/linkedin?type= search · profile · company · jobs · postsPublic profiles, companies, jobs, and posts. People results carry a verified email when one can be found

The webpage type is the general-purpose one. Give it any URL and it fetches the page, strips the markup, and returns the text plus metadata and any JSON-LD on the page. Add includeMarkdown=true for a markdown version. It is a plain HTTP fetch with no JavaScript rendering, so pages that only render through JS come back thin. Good for articles, docs, and product pages feeding a RAG pipeline.

# one URL to clean text + metadata + JSON-LD curl "https://crustapi.com/v1/search?type=webpage&url=https://example.com/pricing" -H "x-api-key: YOUR_KEY"
PULLED LIVE FROM THE API, JULY 17, 2026

One request, real response

I ran this today. It returned 3 businesses in about a second of server time. Here is the request, the first record as CSV, then the same record as JSON.

curl "https://crustapi.com/v1/search?type=maps&q=coffee%20roasters%20in%20Portland,%20OR&limit=3" -H "x-api-key: YOUR_KEY"
# CSV view of the first record title,address,phone,website,categoryName,totalScore,reviewsCount,lat,lng "Portland Coffee Roasters","815 SE Oak St, Portland, OR 97214","(503) 3**-**85","https://www.portlandcoffeeroasters.com/","Coffee shop",4.5,334,45.5202142,-122.6574096 # 2 more rows
# JSON view of the same record { "query": "coffee roasters in Portland, OR", "count": 3, "tookMs": 684, "places": [ { "title": "Portland Coffee Roasters", "placeId": "ChIJxb0Sg6aglVQRT0mTJ8eiucE", "address": "815 SE Oak St, Portland, OR 97214", "phone": "(503) 3**-**85", "website": "https://www.portlandcoffeeroasters.com/", "categoryName": "Coffee shop", "categories": ["Coffee shop", "Coffee roastery", "Coffee store"], "totalScore": 4.5, "reviewsCount": 334, "openingHours": { "Monday": "6 AM-4 PM", "Tuesday": "6 AM-4 PM", ... }, "location": { "lat": 45.5202142, "lng": -122.6574096 } } // 2 more places ] }

That call cost 3 credits, one per business returned. Maps records carry name, address, phone, website, rating, review count, categories, and hours. They do not carry email addresses. Verified emails come from the LinkedIn people endpoints below.

Maps~1 second Web searchp50 ~1.2s Reviews~0.3s Images~97 images / credit
PEOPLE DATA

LinkedIn public pages, same key

The same key hits GET /v1/linkedin. Five types: search finds people by keywords, profile pulls a public profile by URL, and company, jobs, and posts do what they say. Everything comes from public, logged-out pages. People results carry a verified email when one can be found, which is the piece a lead list actually needs.

# find people by keywords curl "https://crustapi.com/v1/linkedin?type=search&keywords=head of growth fintech" -H "x-api-key: YOUR_KEY" # one public profile by URL curl "https://crustapi.com/v1/linkedin?type=profile&url=https://www.linkedin.com/in/USERNAME" -H "x-api-key: YOUR_KEY"

Full details with real responses: LinkedIn people search API · LinkedIn scraper API

PRICING

Billed only when it works

One flat credit per successful call, and Maps bills one credit per business returned. A query that returns nothing costs nothing, and a failed query costs nothing. Prepaid packs, and credits never expire: 25k for $49 · 100k for $149 · 500k for $549 · 2.5M for $1,999, all self-serve, ex-tax. The free tier is 3,000 queries a month with no card. Try any type in the playground or read the docs.

Run your first queries free
3,000 credits a month. No card, no contract.
Get started →
FAIR PLAY

When a crawling API is the better pick: you need raw HTML or content from arbitrary sites at scale, you need JavaScript rendering on pages outside our coverage, or you are building a general crawler with your own parsers. Zyte, ScrapingBee, Firecrawl, and tools like them are built for exactly that and do it well. We stay narrow on structured search and social data and go deep there instead.

Related: Google Search API · Google Maps scraper API · Google Reviews API

BEFORE YOU ASK

Common questions

WORKS WITH YOUR STACK

Run one real query

3,000 free credits covers a real project. Send one request and look at the JSON that comes back.

Get 3,000 free credits
No credit card required