Google Events Search Scraper avatar

Google Events Search Scraper

Pricing

from $3.99 / 1,000 results

Go to Apify Store
Google Events Search Scraper

Google Events Search Scraper

Extract public Google Search event cards, event titles, dates, start times, venues, addresses, and ticket vendor links.

Pricing

from $3.99 / 1,000 results

Rating

0.0

(0)

Developer

Google API

Google API

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Categories

Share

What does Google Events Search Scraper do?

This Actor searches the public Google Events results surface and turns source-visible event facts into one clean dataset record per event. It reads Google-hosted search pages only; event, venue, organizer, and ticket links found on those pages are retained as business data but are not fetched.

What data can it extract?

The dataset supports 60 event fields, with eventName required. Other values are included when the public page provides them.

GroupFieldsNotes
Identity and contenteventId, eventName, eventDescription, eventUrl, eventType, eventCategory, eventStatus, eventAttendanceModeEvent IDs and URLs come from source event markup or structured data; descriptions are whitespace-normalized.
SchedulestartDate, startDateText, startTimeText, endDate, endDateText, endTimeText, datePrecision, timezone, doorTime, eventDurationRaw date text is retained. Calendar dates remain dates; timestamps are normalized only when the source provides a timezone or offset. Relative or yearless dates are not assigned an invented year.
VenuevenueName, venueUrl, venueType, venueAddress, streetAddress, city, region, postalCode, country, latitude, longitude, coordinatesAddress components and coordinates are included only when the source supplies them.
Organizer and participantsorganizerName, organizerUrl, organizerType, performers, performerCount, genre, language, ageRangeUp to 100 performers and 50 distinct genres are retained per event.
MediaimageUrl, imageAltThe first source-listed event image is used when available.
Tickets and offersticketOptions, ticketUrl, ticketVendor, priceMin, priceMax, priceCurrency, isFree, calendarUrlUp to 50 source offers or visible ticket links are retained. Top-level price ranges are omitted when currencies cannot be compared, and currency is set only when priced offers agree. isFree is omitted when the source does not establish it; a mixed paid/free offer set is not labeled a free event.

Structured Schema.org Event data and visible event cards are both considered. If the event-specific search page has no event records, the Actor may check the ordinary Google results page for the same query. It does not fetch event, venue, organizer, or ticket pages. Empty or blocked results are reported in the run summary and logs.

Input

The search URL is generated from query or queries. Custom startUrls may be combined with searches; they must be HTTPS /search pages on google.com or www.google.com with a non-empty q parameter. External links found in results are not followed.

InputType and defaultBehavior
queryString, optional; up to 256 charactersOne event search phrase.
queriesString array, optional; up to 20 entries, each up to 256 charactersAdds multiple event searches. Duplicate generated URLs are fetched once.
startUrlsArray of { "url": "https://www.google.com/search?q=..." }, optional; up to 20Fetches HTTPS /search URLs on google.com or www.google.com when they contain a non-empty q parameter. Other Google paths and redirects outside Google Search are rejected. Invalid URLs are ignored.
pageInteger, default 1, range 1–100First generated results page. The Actor advances the Google start offset for later pages.
maxPagesInteger, default 1, range 1–100Maximum generated pages per query. Custom start URLs are each fetched once.
maxItemsInteger, default 100, range 1–500Global maximum number of valid event records across all inputs. This limits records, not the number of requested query pages.
Request pacing and timeoutInternal fixed safeguardsRequests are processed sequentially with bounded retry spacing and per-attempt timeout; these runtime controls are not public inputs.
proxyConfigurationObject, optionalRoutes all requests in a fresh primary browser context when supplied. Initialization failures never silently fall back to direct HTTP.
includeDetailsBoolean, default falseOpens matching public Google event dialogs, preserving full About text and clean HTML, explicit local calendar start/end/timezone, venue phone/category/rating and ticket providers. No external pages are fetched.
maxDetailItemsInteger 1–10, default 2Global cap on attempted dialog expansions; an 8-second title wait plus bounded clicks applies per dialog.

Only event results are included; nearby businesses and generic web snippets are excluded. Rounded venue review counts remain text, and an absent ticket-seller label remains unknown. Calendar values use startLocalDateTime and endLocalDateTime with their source timezone, rather than invented UTC timestamps. Detail-page text is retained in full when available.

Example inputs

Minimal search:

{
"query": "concerts in New York, NY",
"maxItems": 50
}

Multiple searches and pagination:

{
"queries": ["jazz concerts in Chicago", "theater events in Boston"],
"page": 1,
"maxPages": 3,
"maxItems": 100
}

Google start URL:

{
"startUrls": [
{ "url": "https://www.google.com/search?ibp=htl%3Bevents&q=concerts%20in%20Seattle" }
],
"maxItems": 25
}

How to run it

  1. Open the Actor’s Input tab and enter a search phrase, query list, or Google start URL.
  2. Set page and result limits for the coverage you need.
  3. Start the run and inspect event records in Storage → Dataset.
  4. If no records appear, review the run summary and logs to distinguish an empty search from a blocked page.

Cost and request behavior

More queries, result pages, and optional detail enrichment can increase run time and compute use. Google may omit event results or limit access. An optional proxyConfiguration applies to public requests, but the Actor does not rotate proxies or bypass access boundaries.

Output

Each dataset row represents a public event. Optional values may be absent; ticket, performer, and genre arrays have per-event limits. If a page is empty or blocked, the run summary reports it without adding an event record.

You can download the dataset in various formats such as JSON, HTML, CSV, or Excel.

Troubleshooting and responsible use

  • No event rows: confirm the phrase has public event results, then check logs and the run summary for empty or blocked pages.
  • Missing optional fields: Google or the page’s structured data did not expose those facts to this HTTP request. This Actor does not infer venues, prices, organizers, or dates from unrelated pages.
  • Need an API or automation: use the Actor’s API tab for API examples and Apify scheduling or integrations; use Issues to report reproducible extraction problems.
  • Access boundaries: the Actor stops when Google presents an access boundary. It does not log in, solve CAPTCHAs, rotate proxies after a block, or bypass restrictions.

Use collected public data in accordance with applicable laws, Google’s terms, and the rights of event organizers and publishers. This independent Actor is not affiliated with or endorsed by Google.