Google Events Scraper avatar

Google Events Scraper

Deprecated

Pricing

from $1.99 / 1,000 search results

Go to Apify Store
Google Events Scraper

Google Events Scraper

Deprecated

Scrapes native Google Events results for any keyword and location, including exact Google document IDs, titles, calendar dates, displayed times, venues, addresses, event links, search context, and retrieval provenance. Uses source-page JSON-LD as an explicitly identified fallback.

Pricing

from $1.99 / 1,000 search results

Rating

0.0

(0)

Developer

Search API

Search API

Maintained by Community

Actor stats

0

Bookmarked

6

Total users

2

Monthly active users

12 days ago

Last modified

Security

Limited permissions

Share

Search Google Events using the same values a visitor would enter on the site: event keywords, location, and date filter. The Actor supports one query or a deduplicated list of queries and enforces one global maxItems limit.

Google retired its dedicated events vertical: ibp=htl;events now answers "Oops, your browser, device, and/or location is not yet supported." and the Events tab is gone from the SERP. Current event listings are the Events pack — the carousel headed Events inside the ordinary Google Search page — which Google renders for event-intent queries such as tech conferences in New York.

What it returns

Records use a stable schema with event identity, rank, title, displayed and ISO dates when available, venue and address, coordinates, organizer, performers, price, ticket and event links, images, search context, extraction method, and timestamps. Optional fields are omitted when Google does not expose them; the Actor does not fill missing facts with null, empty strings, or guessed values.

The complete dataset output schema, including types and requiredness, is in .actor/dataset_schema.json.

Extraction uses only the requested Google Search page:

  • The Events pack cards are the primary source.
  • Event JSON-LD embedded directly in that same Google page may enrich a matching record.
  • No third-party search engine or unrelated indexed snippet is used as fallback data.

Transport

The server-rendered Events pack is served to the GOOGLE_SERP proxy group, which forwards a plain HTTP absolute-URI request (the same transport the sibling google-search-scraper and google-forums-scraper use). A direct HTTPS request from a datacenter exit, or an HTTPS CONNECT tunnel, receives only a ~93 KB JavaScript bootstrap page with no results.

When GOOGLE_SERP is not configured the Actor falls back to the Playwright browser transport, which Google often refuses with a CAPTCHA or the unsupported page. Prefer the GOOGLE_SERP default.

Fields the current pack does not expose

The current Events pack card opens Google's asynchronous event viewer, so it carries no anchor and only deferred data: image placeholders in the static HTML. url, link, domain, thumbnail, and ticketUrl are therefore absent unless the page exposes them, and startAt is set only when the displayed date text contains a four-digit year (for example Nov 4, 8:00 AM has no year, so it stays in dateTime/startAtRaw). Nothing is guessed to fill those fields.

Inputs

FieldPurposeDefault
queryPrimary event searchtech conferences
queriesAdditional event searches[]
locationCity, region, or countryNew York
dateFilterany, today, tomorrow, weekend, week, next_week, or monthany
searchModeauto (query as written, then add the word "events"), events, or webauto
maxItemsGlobal maximum unique records50
maxPagesKept for saved inputs; the Events pack is a single carousel3
gl, hlGoogle country and languageus, en
maxConcurrencyParallel searches2
maxRequestRetriesBounded temporary-failure retries2
proxyConfigurationApify or user-provided proxy configurationGOOGLE_SERP

Example:

{
"query": "concerts",
"queries": ["music festivals", "jazz shows"],
"location": "New York",
"dateFilter": "weekend",
"searchMode": "auto",
"maxItems": 30,
"maxConcurrency": 2,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["GOOGLE_SERP"]
}
}

The input field contract, defaults, and constraints are defined in .actor/input_schema.json.

Reliability and blocking

A challenge verdict requires no parsed event cards, so ordinary result text that mentions verification can never discard a healthy page. The fetched document is classified as one of:

  • results — the Events pack rendered and its cards were parsed.
  • captcha / unsupported — Google refused the session; classified as TARGET_BLOCKED and never stored.
  • no_results — a normal web SERP without an Events pack; a valid empty answer for that query.
  • stub — Google's card-less JavaScript bootstrap, treated as a transport problem rather than an empty result.

The Actor does not solve or bypass interactive challenges. Sessions are short-lived and temporary network failures receive bounded retries.

How to use

Enter an event query, location, and date filter in the Apify Input tab, then start the Actor. Inspect event records in the Output dataset. The GOOGLE_SERP proxy is the recommended transport for the current Events pack.