Google scraper

ExtractHub extractors are versioned web scrapers: each one is a saved scraper for one kind of page that returns structured JSON through an API. For Google (google.com and play.google.com) there are 5 public extractors: Google Search - results page (SERP), Google Maps - place details, Google Play - app page and Google local results (places list) and more. Together they return fields such as organicResults, peopleAlsoAsk, relatedSearches, nextPageUrl, name, category, hotelClass, rating and 32 more fields. Call one with your API key and a pinned extractor_id, from the REST API, the Batch API or an AI agent over MCP.

Google scrapers on ExtractHub

  • google.com · @extracthub1/google-serp@2 (v2.0.0)

    Organic web results incl. video result cards (title, Google redirect URL, direct URL for videos, displayed URL / video meta, source, snippet), People also ask questions, related searches and next-page URL of a Google web search results page (www.google.com/search?q=...). Fetched through the proxy without JavaScript.

    Fields: organicResults , peopleAlsoAsk , relatedSearches , nextPageUrl

    Google Search - results page (SERP) scraper: fields, versions and examples →
  • google.com · @extracthub1/google-maps-place@1 (v1.0.0)

    Details of a Google Maps place page (www.google.com/maps/place/...): name, category, rating, review count, full address, phone, website, Plus Code, opening status and weekly hours, description, place ID, coordinates and the top reviews shown on the page. Renders the page in a browser (JavaScript tier). Pairs with @extracthub1/google-maps-search: feed its placeUrl here.

    Fields: name , category , hotelClass , rating , reviewCount , address , phone , phoneInternational , website , plusCode and 9 more

    Google Maps - place details scraper: fields, versions and examples →
  • play.google.com · @extracthub1/google-play-app@1 (v1.0.0)

    Details of a Google Play app page (play.google.com/store/apps/details?id=...): app id, name, developer, category, rating, exact rating count, downloads, content rating, price, ads / in-app purchase notices, last update date, short and full description, icon and screenshots. Fetched through the proxy, no JavaScript.

    Fields: appId , name , developer , developerWebsite , developerUrl , category , categoryId , rating , ratingCount , downloads and 10 more

    Google Play - app page scraper: fields, versions and examples →
  • google.com · @extracthub1/google-local-results@1 (v1.0.0)

    Places from Google's local results page (google.com/search?q=<query>&tbm=lcl): name, rating, review count, category, price range, address or service area, years in business, opening-hours status, phone and Google knowledge-graph ID, with their position, plus the next-page URL (20 places per page). No JavaScript rendering needed.

    Fields: places , nextPageUrl

    Google local results (places list) scraper: fields, versions and examples →
  • google.com · @extracthub1/google-maps-search@1 (v1.1.0)

    Places from a Google Maps search (www.google.com/maps/search/<query>): name, Google Maps place URL, place ID, coordinates, rating, review count, category, address, opening-hours status, phone, website and hotel price, with their position in the results. Renders the page in a browser (JavaScript tier); returns the first batch of results Google Maps loads (about 20).

    Fields: places

    Google Maps - places search scraper: fields, versions and examples →

How to call the Google scraper API

Every call needs your API key (X-API-Key) and a pinned extractor_id. This example uses @extracthub1/google-serp@2 (Google Search - results page (SERP)); open an extractor's page for its batch, Python and Node examples.

REST: realtime extract
curl -X POST "https://api.extracthub.io/api/extractor/extract" \
  -H "X-API-Key: $EXTRACTHUB_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "extractor_id": "@extracthub1/google-serp@2",
    "target": { "url": "https://google.com/..." }
  }'
MCP: ask your agent (server https://api.extracthub.io/mcp), which calls the extract tool
Use ExtractHub to extract https://google.com/... with @extracthub1/google-serp@2
{
  "tool": "extract",
  "arguments": {
    "extractor_id": "@extracthub1/google-serp@2",
    "url": "https://google.com/..."
  }
}

See the web scraping API reference and the web scraping MCP server setup.

Need another Google page type?

Build your own Google scraper with an AI agent and the extractor builder skill, or in ExtractHub Studio. It stays private until you release it.

Google scraper: frequently asked questions

Is there a ready-made Google scraper?

Yes. ExtractHub lists 5 public extractors for google.com and play.google.com. An extractor is a versioned web scraper for one kind of page: its owner released it as an immutable version with an output schema, and you call that version with your own API key.

What data can I scrape from Google?

Google Search - results page (SERP) returns organicResults, peopleAlsoAsk, relatedSearches and nextPageUrl. Google Maps - place details returns name, category, hotelClass, rating, reviewCount, address and 13 more. Google Play - app page returns appId, name, developer, developerWebsite, developerUrl, category and 14 more. Google local results (places list) returns places and nextPageUrl. Google Maps - places search returns places. Every field is listed on the extractor's page with a sample response.

How do I call the Google scraper API?

Send GET or POST https://api.extracthub.io/api/extractor/extract with your API key in the X-API-Key header, extractor_id=@extracthub1/google-serp@2 and the URL of a google.com page as the target. For many URLs use POST https://api.extracthub.io/api/extractor/batch. AI agents call the same extractor through the extract tool of the ExtractHub MCP server at https://api.extracthub.io/mcp.

Can I build my own Google scraper?

Yes. Build an extractor for any Google page type in ExtractHub Studio, or let an AI agent such as Claude Code build, test and release it with the open-source extractor builder skill. New extractors are private until you release them.