Google Events Scraper
Pricing
from $3.00 / 1,000 results
Google Events Scraper
Scrape Google Events search results - concerts, conferences, festivals, meetups, and more from Google's event listings.
Pricing
from $3.00 / 1,000 results
Rating
0.0
(0)
Developer
Coding Frontned
Maintained by CommunityActor stats
0
Bookmarked
43
Total users
8
Monthly active users
10 days ago
Last modified
Categories
Share
What this Actor does
This Actor collects public event listings from Google’s Events search vertical, including concerts, conferences, festivals, meetups, and classes. It normalizes visible event-card fields, removes common Google redirect/tracking parameters, deduplicates listings, and follows bounded pagination.
An explicit “can’t find events” page is a valid empty result. Challenges, exhausted requests, and unknown markup fail closed rather than being published as an empty success.
Features
- Event name, date, time, category, location, venue, description, link, source, image, query, page, and scrape timestamp.
- Google country/language localization and Apify/custom proxy support.
- Bounded retries, request timeout, and optional request delay.
- Stable URL normalization and URL/field-based de-duplication.
- Dataset whitelist and run summary in
OUTPUT.
Input
| Field | Type | Default | Description |
|---|---|---|---|
query | string | tech conferences | Event search term, up to 150 characters. |
location | string | New York | City, region, or country, up to 120 characters. |
maxItems | integer | 50 | Maximum unique events, from 1 to 500. |
gl | string | us | Two- or three-letter Google country code. |
hl | string | en | Google interface language code. |
proxyConfiguration | object | Google SERP proxy | Standard Apify proxy settings. |
maxRequestRetries | integer | 2 | Request retries, from 0 to 3. |
requestTimeoutSecs | integer | 60 | Page timeout, from 15 to 120 seconds. |
requestDelayMs | integer | 0 | Optional delay before each page, from 0 to 5,000 milliseconds. |
Example
{"query": "music festivals","location": "London","maxItems": 20,"gl": "gb","hl": "en","proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["GOOGLE_SERP"]}}
For a local direct attempt, use proxyConfiguration: { "useApifyProxy": false }.
Output
{"position": 1,"eventName": "London Tech Summit","date": "Sat, Jun 14","time": "9:00 AM","location": "London","venue": "ExCeL London","link": "https://example.org/events/london-tech-summit","eventDescription": "A technology conference with talks and workshops.","source": "example.org","query": "tech conferences","searchLocation": "London","page": 1,"scrapedAt": "2026-01-01T00:00:00.000Z"}
The OUTPUT key-value record reports success, found, item count, handled pages, failed pages, query/location, and elapsed time. The Actor never emits placeholder event rows.
You can download the dataset in various formats such as JSON, HTML, CSV, or Excel.
Limitations and responsible use
Google controls event inventory, ranking, localization, markup, and availability. Events can change or disappear between runs. The Actor does not solve CAPTCHAs, spoof browser fingerprints, or bypass access controls. It uses bounded public requests and fails closed on challenge pages.
Local development
npm installnpm testnpm run lintnpm run validatenpx --no-install apify validate-schemanpx --no-install apify run --purge --input-file ./qa-inputs/local-direct.json