Google Events | Scrape Google Events for AI Agents
Pricing
from $0.01 / 1,000 results
Google Events | Scrape Google Events for AI Agents
Google Events API for Claude, ChatGPT, Cursor & other MCP-ready AI agents. Scrape Google Events search results โ concerts, conferences, festivals, sports, theater, virtual events โ with dates, venues, ticket links & locations. Filter by date, event type, country, language. Pay per page.
Pricing
from $0.01 / 1,000 results
Rating
5.0
(4)
Developer
John
Maintained by CommunityActor stats
10
Bookmarked
267
Total users
47
Monthly active users
0.026 hours
Issues response
16 hours ago
Last modified
Categories
Share
๐ญ Google Events Scraper | API for Claude, ChatGPT & Cursor (MCP)
Scrape Google events with one API call, concerts, conferences, festivals, sports, and theater. Built as a drop-in Google Events API for Claude, ChatGPT, Cursor, and other MCP-ready AI agents, and as a standard scraper for developers.
Pass any event search query and get structured JSON back: event titles, event types, dates, start times, and venue addresses. Localize by country and language. Filter by date, from today through next month. Pay per event returned, no subscriptions.
๐ข August 2026 update. Google retired its dedicated events vertical. This Actor now reads the events block on Google's main search results page, which is where event listings still live. Everything below reflects what that surface actually returns today. See What changed for the full detail.
๐ค Use with Claude, ChatGPT, Cursor & other AI agents (MCP)
This Actor is a first-class tool on the Apify MCP Server. Any MCP-compatible AI agent, Claude (Desktop, Web, Code), ChatGPT (via custom GPT or MCP bridge), Cursor, VS Code, Cline, Windsurf, Kilo Code, Opencode, Glama, can discover and call this Actor in natural language.
What an AI agent does with this:
User: "What family-friendly events are happening in Brooklyn this month?"
Agent โ calls
search-actors("google events")on the Apify MCP server โ picks this Actor โ calls it with{"q": "family events brooklyn", "location": "Brooklyn, NY", "advanced": "date:month"}โ returns structured event JSON โ summarizes for the user.
Quick setup: Claude Desktop
Add this to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{"mcpServers": {"apify": {"command": "npx","args": ["-y", "@apify/actors-mcp-server"],"env": {"APIFY_TOKEN": "YOUR_APIFY_API_TOKEN"}}}}
Restart Claude Desktop. Then ask Claude something like "Search Google Events for tech meetups in San Francisco next week.", Claude will discover this Actor, ask permission to call it, and return structured results.
Quick setup: Cursor / VS Code / Cline / Windsurf
These editors support dynamic tool discovery, which means after the first call this Actor is registered as a named tool for the rest of the session, subsequent prompts skip the discovery step entirely.
Point your MCP client at:
https://mcp.apify.com
โฆwith header Authorization: Bearer YOUR_APIFY_API_TOKEN. Full setup instructions: Apify MCP integration docs.
Quick setup: ChatGPT (and other static MCP clients)
ChatGPT, Claude Desktop (without dynamic discovery), Gemini CLI, and Amazon Q connect through the same https://mcp.apify.com endpoint and call this Actor via the generic call-actor tool, same result, just no session-level tool registration.
Use cases for AI agents
- ๐ค Event-discovery assistants: "Find me what's happening this weekend near {city}."
- ๐ Calendar copilots: Auto-suggest events that match the user's interests and free slots.
- ๐๏ธ Event-monitoring agents: "Which concerts are at {venue} this month?"
- ๐ข Sales / lead-gen agents: Surface industry conferences and trade shows where prospects gather.
- ๐ Research agents: Aggregate event data across cities for market analysis or trend reports.
๐ธ Pay per run with crypto (x402)
The Google Events Actor supports agentic payments via the x402 protocol. AI agents and MCP clients can pay for runs in USDC (on Base) with no Apify account or API token needed: point your agent at the Apify MCP server and it can discover, pay for, and run this Actor autonomously. Read the Apify x402 announcement for details.
๐ก What this Actor does
A Google Events Scraper that takes a search query and pulls structured event data straight from Google's search results: titles, event types, dates, start times, and venue addresses, returned as clean JSON.
Whether you're powering an AI agent through MCP, building an event-discovery app, monitoring competitor events, or aggregating concert and conference data into a dataset, this scraper handles the platform-side complexity so you don't have to.
โ SEO benefit: Structured Google Events data lets businesses optimize event listing pages, monitor competition, and create data-rich content that boosts organic visibility.
๐ฆ What data you get
| Field | Description |
|---|---|
| ๐ญ Event title | Display title of the event |
| ๐ท๏ธ Event type | Short category or venue label, e.g. "Live music", "Festival", "TV history exhibition" |
| ๐ Date & time | Start date (Aug 14), start time (2:30 PM), and a combined when label |
| ๐ Location | Address lines, typically venue name followed by neighborhood |
| ๐ Link | Present on the minority of listings sourced from a single venue's calendar |
| ๐ Search metadata | Event count and the search parameters used |
Not available. Google stopped publishing these for event listings when it retired the events vertical: descriptions, ticket-provider links, venue ratings and review counts, and map previews. description and venue are still present in every row as empty values so that integrations built against earlier versions keep parsing without changes.
โ๏ธ Key features
โจ Every field Google still publishes: titles, event types, dates, start times, and venue addresses.
๐ Date filtering: today, tomorrow, this week, this weekend, next week, this month, or next month. Applied by rewriting the search query, and verified live to return in-window results. The one filter Google no longer supports at all is rejected before any charge, rather than quietly returning unfiltered results.
๐ Localization: Country (gl) and language (hl) parameters localize results to any of 240+ countries and 200+ languages.
๐ฆ One batch per run: Google returns up to 10 event listings per query. You are charged once per run regardless, so cost is predictable.
๐ฐ Transparent per-event pricing: from September 1, 2026, $0.0125 setup + $0.00165 per event returned, at most $0.029 per run ($0.0398 flat until then). No subscriptions, no minimums.
๐ก๏ธ Production-grade reliability: 99.9% success rate on live traffic, comprehensive error handling, schema-validated output.
๐ค MCP-ready: First-class tool on the Apify MCP Server for Claude, ChatGPT, Cursor, and any other MCP-compatible agent.
๐ Getting Started
Pulling your first batch of Google Events data takes about a minute:
- Click Try for free at the top of this page (or open the Actor in the Apify Console).
- Enter a search query in
q, for exampleconcerts in New Yorkortech conferences this week. That is the only required field. - Optionally set
location,gl,hl, theadvancedfilters, andmax_pages, then click Start. - Read the results in the Output tab, or export them as JSON, CSV, or Excel.
Prefer code or an AI agent? Call the Actor through the Apify API with the apify-client package, or add it as a tool to Claude, ChatGPT, or Cursor through the Apify MCP server. Both paths are covered in the sections below.
๐ Usage examples
Example 1: Basic search (events in New York)
{"q": "events in New York"}
Example 2: Search with location and localization
{"q": "concerts in Austin","location": "Austin, Texas, United States","gl": "us","hl": "en"}
๐ก Put the city in
qplainly and the precise place inlocation. A state in the query itself reliably returns nothing:"Festivals in Portland, OR"returns 0 results while"Festivals in Portland"withlocation: "Portland, Oregon, United States"returns a full batch.
Example 3: Today's events
{"q": "sports events in Los Angeles","location": "Los Angeles, California, United States","advanced": "date:today"}
Example 4: Next month, filter passed as an array
{"q": "music festivals in San Diego","location": "San Diego, California, United States","gl": "us","hl": "en","advanced": ["date:next_month"]}
Example 5: Every parameter
{"q": "theater shows in Chicago","location": "Chicago, Illinois, United States","gl": "us","hl": "en","advanced": "date:month","max_pages": 1}
Example 6: Covering a whole city
Google returns up to 10 listings per query, so cover a market by running several category queries rather than by asking for more pages:
{ "q": "concerts in Nashville", "location": "Nashville, Tennessee, United States" }{ "q": "festivals in Nashville", "location": "Nashville, Tennessee, United States" }{ "q": "theater in Nashville", "location": "Nashville, Tennessee, United States" }{ "q": "sports events in Nashville", "location": "Nashville, Tennessee, United States" }
๐ก For a neighborhood, query the parent city and pass the neighborhood as
location."events in Summerlin"returns far less than"events in Las Vegas"withlocation: "Summerlin".
๐ Input parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
q | string | โ Yes | None | Search query (e.g. "concerts in New York", "tech conferences in Chicago"). Name the city plainly; put the state or precise place in location. |
location | string | โ | None | Geographic location to bias results toward (e.g., "Austin, Texas, United States"). |
gl | string | โ | None | Country code (ISO 3166-1 alpha-2, lowercase). See country table below. |
hl | string | โ | None | Language code (ISO 639-1, lowercase). See language table below. |
advanced | string or array | โ | None | Date filter: date:today, date:tomorrow, date:week, date:weekend, date:next_week, date:month, date:next_month. See the date-filters section below. |
max_pages | integer | โ | 1 | Retained for compatibility. Event listings arrive in a single batch, so any value is treated as 1 and you are charged for one run. |
output_file | string | โ | auto-generated | Optional JSON filename for local runs (ignored when run on the Apify platform). |
๐ Country codes (gl parameter)
The gl parameter accepts ISO 3166-1 alpha-2 country codes (lowercase). Most common:
| Code | Country | Code | Country | Code | Country |
|---|---|---|---|---|---|
us | United States | uk / gb | United Kingdom | ca | Canada |
au | Australia | de | Germany | fr | France |
it | Italy | es | Spain | nl | Netherlands |
be | Belgium | at | Austria | ch | Switzerland |
se | Sweden | no | Norway | dk | Denmark |
fi | Finland | pl | Poland | cz | Czech Republic |
ie | Ireland | pt | Portugal | gr | Greece |
jp | Japan | kr | South Korea | cn | China |
tw | Taiwan | hk | Hong Kong | sg | Singapore |
my | Malaysia | th | Thailand | id | Indonesia |
ph | Philippines | vn | Vietnam | in | India |
nz | New Zealand | za | South Africa | br | Brazil |
mx | Mexico | ar | Argentina | cl | Chile |
co | Colombia | pe | Peru | ve | Venezuela |
240+ country codes are supported. Pick the closest from the dropdown in the input schema.
๐ Language codes (hl parameter)
The hl parameter accepts ISO 639-1 language codes (lowercase). Most common:
| Code | Language | Code | Language | Code | Language |
|---|---|---|---|---|---|
en | English | es | Spanish | fr | French |
de | German | it | Italian | pt | Portuguese |
ru | Russian | ja | Japanese | ko | Korean |
zh | Chinese | zh-cn | Chinese (Simplified) | zh-tw | Chinese (Traditional) |
ar | Arabic | hi | Hindi | th | Thai |
vi | Vietnamese | id | Indonesian | ms | Malay |
tl | Filipino | nl | Dutch | pl | Polish |
tr | Turkish | cs | Czech | sv | Swedish |
da | Danish | fi | Finnish | no | Norwegian |
hu | Hungarian | ro | Romanian | bg | Bulgarian |
200+ language codes are supported. Pick the closest from the dropdown.
๐ฏ Date filters
The advanced parameter accepts the same date tokens the old events vertical used. Each one is applied by naming the date window in the search query, which is the only date mechanism Google still honors for these listings. Verified live in multiple cities: every token below returned 100% in-window results.
| Token | Meaning |
|---|---|
date:today | Events today |
date:tomorrow | Events tomorrow |
date:week | Events this week |
date:weekend | Events this weekend |
date:next_week | Events next week (Google's weeks run Sunday to Saturday) |
date:month | Events this month |
date:next_month | Events next month |
{ "advanced": "date:weekend" }{ "advanced": ["date:next_month"] }
One date filter takes effect per run; if several are passed, the first is applied. If your query already names the window ("concerts in Austin today"), your text wins and nothing is appended.
An empty result inside a narrow window is honest, not broken: a small market can genuinely have nothing on for "today", and in that case the results fee is not charged.
โ ๏ธ The token for "this month" is
date:month, notdate:thismonth. An unrecognized token exits the run at start, before any charge, with a clear error.
The one filter that stayed retired
event_type:Virtual-Event is still rejected at run start. We measured it: queries shaped for virtual events return overwhelmingly in-person listings, so accepting the token would hand back misleading results. If you want online events, add "online" or "webinar" to the query text and treat the results as best-effort.
๐ Output format
In the Apify console the dataset opens on an Events table, one row per event with its title, type, when, venue, and area; the Search summary view shows one row per run. Exports (JSON, CSV, Excel) carry the full structure below.
One dataset item is pushed per run. Below is a real, unedited response:
{"search_parameters": {"q": "concerts in Austin","location": "Austin, Texas, United States","gl": "us","hl": "en","advanced": "date:month","max_pages": 1,"applied_hit_chips": ["date:month"]},"search_metadata": {"total_results": 10,"events_count": 10,"hit_chips_count": 0,"filters_count": 0,"pages_processed": 1,"max_pages_set": 1,"pagination_limit_reached": false},"search_timestamp": "2026-08-14T10:30:00.123456","page_number": 1,"events": [{"title": "Lionel Richie & Earth Wind & Fire","date": {"start_date": "Aug 14","when": "Aug 14, 2:30 PM"},"address": ["Moody Center","University of Texas at Austin"],"description": "","venue": {},"type": "Live concert","time": "2:30 PM"}],"hit_chips": [],"filters": []}
Top-level fields
search_parameters- The exact input that produced this result.search_metadata- Event count and run status.search_timestamp- ISO 8601 timestamp when the search ran.page_number- Always1.events- Array of event objects (see below).hit_chips- Always empty. Retained so the row shape is unchanged.filters- Always empty. Retained so the row shape is unchanged.
Event fields
title- Event display title.type- Short category or venue label, e.g."Live concert","Festival".date.start_date- Short date label, e.g."Aug 14".date.when- Start date combined with start time, e.g."Aug 14, 2:30 PM".time- Start time on its own. Absent on all-day and multi-day listings.address- Array of address lines, usually venue name then neighborhood.link/source- Present only on the minority of listings that come from a single venue's calendar.description- Always"". See the note below.venue- Always{}. The venue name is the first entry ofaddress.
๐ข What changed in August 2026
Google retired its dedicated events vertical (ibp=htl;events). Event listings still exist on Google's main search results page, and that is what this Actor now reads. Three things did not survive the move, and it is better that you hear it here than discover it in your data:
| What | Status |
|---|---|
| Pagination | Gone. Google returns one batch of up to 10 listings per query. max_pages is accepted but has no effect. |
| Date hit-chips | All seven date tokens work again, now applied by rewriting the query text (verified to return in-window results). Only event_type:Virtual-Event is retired, rejected before any charge. |
| Rich event fields | Descriptions, ticket-provider links, venue ratings and review counts, and map previews are no longer published for these listings. |
Nothing about your integration needs to change. The row shape is identical, date is still an object with start_date and when, and description and venue are still present as empty values. Existing saved inputs that pass max_pages: 5 still run; the value is simply ignored and you are charged for one run.
Covering more events. Since one query returns up to 10 listings, cover a market with several category queries rather than by requesting more pages. See Example 6.
๐ธ Pricing
This Actor uses Apify's pay-per-event model:
From September 1, 2026 (already scheduled, cheaper on every run size):
| Event | Price | When charged |
|---|---|---|
| Setup | $0.0125 | Once per run, at start |
| Event returned | $0.00165 | Per event listing stored, up to 10 per run |
A full 10-event search costs $0.029, about 27% less than the previous flat rate. Higher subscription tiers pay less per event. Until August 31, 2026 the previous model applies: $0.02 setup + $0.0198 per run, $0.0398 for a full search.
You are never charged for an empty result: a query that returns no events pays only the setup fee, and a run that fails validation (an unrecognized or retired filter token) exits before any charge at all. A pre-run funds check confirms you can afford the run before any work begins.
๐ฏ Use cases
- ๐ค AI agents (MCP): Plug into Claude, ChatGPT, Cursor and let the agent discover & call this tool natively.
- ๐ Event-discovery apps: Build event-aggregation platforms with up-to-date Google Events data.
- ๐ Market research: Analyze event trends, popularity, and venue saturation across cities.
- ๐ข Competitive analysis: Monitor which events competitors run and where.
- ๐๏ธ Venue programming trackers: See which venues in a metro are booking the most events.
- ๐ Lead generation: Identify trade shows and conferences where target customers will be.
- โ๏ธ Content creation: Generate event-round-up articles for local-events SEO content.
- ๐ Virtual-event discovery: Add "virtual" or "online" to the query to surface remote events.
- ๐ก Google Events tracking: Re-run saved searches on a schedule to track new listings, venue changes, and sold-out status across a city over time.
๐ Integrations: Automate Google Events Tracking
A single search answers one question. The real value of this Google Events API comes from running it repeatedly, watching a city's calendar week over week, catching newly listed concerts and conferences, and feeding live event data into the tools you already use. Thanks to the native Apify platform integrations, you can wire this Actor into your stack in minutes, with no servers or cron jobs of your own.
Tasks + Schedules: register a recurring events run
The core pattern for Google Events tracking is one saved task per search, one schedule across all of them.
- Create a task. A saved task is this Actor plus a saved input, so give each search you care about its own named task, for example "SF tech conferences" with
q: "tech conferences",location: "San Francisco, CA", andadvanced: "date:month". Click Create empty task on the Actor page, fill in the input, and save. - Attach a schedule. Open Schedules in the Apify Console, create a schedule with a standard cron expression, and add your tasks to it. Useful examples:
0 7 * * *(every morning at 7 AM),0 */6 * * *(every 6 hours),0 9 * * 1(Mondays at 9 AM). One schedule can trigger many tasks, so a single "daily events check" can monitor every city and query you have saved. - Review the history. Each run appends a fresh batch of results, stamped with a
search_timestamp, to the task's dataset, giving you an event history you can export as JSON, CSV, or Excel at any time.
See it working end to end in the featured task Find concerts and festivals in Austin this weekend.
n8n: build an event-alert workflow
This Actor also ships as a dedicated n8n community node, n8n-nodes-google-events-api (see the n8n integration section near the end of this README), so you do not need raw HTTP requests. In n8n: Settings, Community Nodes, install n8n-nodes-google-events-api, then use it in any workflow (it also works as an AI Agent tool).
A typical event-alert workflow looks like this:
- Schedule Trigger: run every morning at 7 AM.
- Google Events node: search your query, for example
concertsin your city. - Filter node: keep only events matching your criteria (a date range, a venue, a keyword).
- Slack or email node: send yourself the title, type, date, and venue when a new event appears.
Make and Zapier
Prefer Make or Zapier? Both have native Apify integrations, Apify on Make and Apify on Zapier, with "Run Actor" and "Get Dataset Items" actions. The same event-alert pattern applies: trigger on a schedule, run this Actor, filter on what matters, then notify or store the results.
Supabase: store an event history in your own database
Tracking events over time means storing them somewhere queryable. Supabase (hosted Postgres) is a good fit, and there are two easy paths:
- No code: in n8n, connect the Google Events node to the built-in Supabase node to insert a row per event after each scheduled run.
- A few lines of Python: run the Actor and bulk-insert the flat event rows into an
eventstable.
from apify_client import ApifyClientfrom supabase import create_clientapify = ApifyClient("YOUR_APIFY_TOKEN")supabase = create_client("https://YOUR_PROJECT.supabase.co", "YOUR_SERVICE_ROLE_KEY")run = apify.actor("johnvc/google-events-api---access-google-events-data").call(run_input={"q": "concerts","location": "Austin, Texas, United States","gl": "us","hl": "en","max_pages": 2,})for page in apify.dataset(run["defaultDatasetId"]).iterate_items():rows = [{"title": event["title"],"event_when": event.get("date", {}).get("when"),"address": ", ".join(event.get("address", [])),"venue": event.get("venue", {}).get("name"),"link": event.get("link"),"searched_at": page["search_timestamp"],}for event in page.get("events", [])]if rows:supabase.table("events").insert(rows).execute()
Run this on a schedule (or trigger it from a webhook, below) and you have a growing event database ready for dashboards, a city-events app, or trend analysis.
MCP and AI agents
Apify exposes this Actor through the Apify MCP server, so MCP-compatible AI assistants, Claude, Cursor, and others, can run live Google Events searches as a tool and answer questions like "what family-friendly events are on in Brooklyn this weekend?" with real data. That is what turns this into a Google Events AI agent rather than a one-off script. If you drive it from Claude Code (free trial), the same MCP endpoint applies. See the Use with Claude, ChatGPT, Cursor & other AI agents (MCP) section near the top for one-click client setup.
Webhooks: connect anything else
For custom setups, attach an Apify webhook to the ACTOR.RUN.SUCCEEDED event. Every time a scheduled run finishes, Apify POSTs the run details (including the dataset ID) to your endpoint, your server, an n8n or Make webhook trigger, or a serverless function, which can then fetch the results and do anything with them: update a Google Sheet, refresh a dashboard, or post the night's events to a channel.
๐ Related Tools
Building an event-discovery or event-and-travel workflow? These related tools from the same collection pair well with this Google Events API:
- Google Maps Places API: enrich the venues that show up in your event data with full business details, ratings, phone numbers, and opening hours.
- Google Flights API: find and track flight prices for the cities where events are happening, so an "attend this conference" plan includes getting there.
- Google Hotels Search Scraper: pull hotel availability and pricing near an event venue to round out an event-and-travel dataset.
Newer alternatives such as the Google Events Scraper by scrapier exist, but at the time of writing it has only a couple of users, no rating, an empty Store description, and a duplicated pay-per-result pricing setup. This Actor is actively maintained, rated 5 stars, documents every output field, and validates its JSON against a schema on every run.
โ FAQ
How do I get started?
Provide a q (search query). That is the only required parameter. Run the Actor and it returns structured JSON.
Is q required?
Yes. Everything else is optional.
Can I filter results by date?
Yes. Use advanced with date:today, date:tomorrow, date:week, date:weekend, date:next_week, date:month, or date:next_month. The filter is applied by rewriting the search query, and we verified live that it returns in-window results. See the date-filters section above.
How do I search for virtual events only?
Add "virtual" or "online" to your query, e.g. "q": "virtual conferences in Chicago". The event_type:Virtual-Event token was retired with Google's events vertical and is rejected at run start.
Can I use multiple filters at once?
The advanced parameter still accepts a comma-separated string or an array, but one date filter takes effect per run (the first listed). Combine it with words in the query for anything else.
How does pagination work?
It no longer applies. Google returns one batch of up to 10 event listings per query, so there is no second page to fetch. max_pages is still accepted so existing inputs keep running, but any value is treated as 1 and you are charged once. To cover more of a market, run several category queries instead.
Can I search in different countries and languages?
Yes, gl (country code) and hl (language code). 240+ countries and 200+ languages are supported.
What format does the scraper return?
Structured JSON. Each page of results is pushed as a separate dataset item. Results can be exported as JSON, CSV, Excel, or accessed via Apify's API.
Does this work with AI agents through MCP?
Yes, see the Use with Claude, ChatGPT, Cursor & other AI agents (MCP) section near the top. MCP-compatible clients can discover and call this Actor natively.
How do I use the location parameter?
Pass a human-readable location string: "Austin, Texas, United States", "London, England, United Kingdom", "New York, NY".
What if my search returns no results?
search_metadata.events_count is 0 and events is an empty array. The Actor still completes successfully, you are only charged the setup fee in that case.
Can I schedule this Google Events Scraper?
Yes, and this is where the Actor earns its keep. Any run can be automated on a schedule. Create a saved task with your query and filters, then attach a schedule from the Actor's Actions, then Schedule menu. Useful cron expressions: 0 7 * * * (daily at 7 AM), 0 */6 * * * (every six hours), 0 9 * * 1 (Mondays at 9 AM). One schedule can trigger many tasks at once, so a single "daily events check" can watch every city and query you have saved. See the Integrations section above for the full monitoring recipe.
Should I use an API or a web scraper for Google Events?
There is no official public Google Events API, so your options are an unofficial API endpoint or a web scraper. This Actor is both in one: call it like a clean API you run yourself, or use it as a no-code web scraper from the Apify Console, with no quotas or API keys to manage. Either way it reads the public event listings that appear in Google Search and returns the same structured event data.
Can I integrate this Google Events Scraper with other apps?
Yes. The Actor connects to almost any cloud service through Apify integrations: Make, Zapier, Slack, Google Drive, and more. For anything custom, attach a webhook on the ACTOR.RUN.SUCCEEDED event. See the Integrations section above for ready-to-use recipes.
Can I use Google Events data with the API?
Yes. The Apify API gives you programmatic access to run the Actor, schedule it, and fetch datasets, and the apify-client package is available for both Node.js and Python. Grab your endpoints from the Actor's API tab.
Can I use this Google Events API through an MCP server?
Yes. The Actor can be added as a tool to any MCP client (Claude, Cursor, and others) through the hosted Apify MCP server. Point your client at https://mcp.apify.com/?tools=actors,docs,johnvc/google-events-api---access-google-events-data. If you are driving it from Claude Code (free trial), the same endpoint applies. Full setup: Apify MCP docs.
How can I track other Google and events data sources?
Pair this Actor with complementary tools from the same collection. Use the Google Maps Places API to enrich event venues, the Google Flights API to track travel to those events, and the Google Hotels Search Scraper for nearby lodging. See the Related Tools section above for how they fit together.
What can an AI agent do with this Google Events API?
An AI agent that supports MCP can discover this Actor, call it with a natural-language request like "family-friendly events in Brooklyn this weekend", and get back structured JSON it can summarize, filter, or store. That is what makes it a practical building block for a Google Events AI assistant, a calendar copilot, or an event-discovery bot.
Can I use this for market research?
Yes. Aggregating events across cities and dates is a common market research use: track how many concerts, conferences, or festivals appear in a metro over time and which venues host the most. Run it on a schedule and store each run to build the history.
Is it legal to scrape Google Events?
Scraping publicly available data is generally permitted, though you are responsible for how you use the data you collect. Apify has a plain-English overview of the legality of web scraping. This Actor only reads public Google Events results.
How much does it cost?
From September 1, 2026: $0.0125 setup + $0.00165 per event returned, so a full 10-event search costs $0.029 and an empty one only the setup fee. Until then the previous flat $0.0398 per run applies. No subscriptions, no minimums. See the Pricing section above.
๐ Technical notes
- Results are sorted by Google Events' default relevance ordering.
- The
qparameter is required and must be non-empty. - Unrecognized and retired filter tokens are both caught at run start, before any charges are applied; the Actor exits gracefully with an error naming the token and what to use instead.
- Each page is pushed as its own dataset item, so per-page billing matches actual deliverables exactly.
- All output is JSON-serialized and schema-validated before being pushed.
max_pagesis accepted but never fetches more than one batch, because Google returns event listings on a single page. You are charged for one run regardless of the value.location,gl, andhlare optional but recommended for sharper localization.- Ticket links, venue ratings, and review counts are no longer published by Google for these listings.
descriptionandvenueremain in every row as empty values so existing integrations keep parsing. - The first entry of
addressis the venue name; the second is usually the neighborhood.
๐ Ready to scrape Google Events?
Whether you're wiring this up as an MCP tool for Claude, ChatGPT, or Cursor, or pulling event data directly through Apify's API, you'll have clean, structured Google Events results in minutes. Click Try for free to run your first search.
Python + MCP example: Apify-Google-Events-API on GitHub
Made with โค๏ธ
n8n integration
Available as an n8n community node, n8n-nodes-google-events-api. In n8n: Settings, Community Nodes, install n8n-nodes-google-events-api, then use it in any workflow (it also works as an AI Agent tool).
Featured Tasks
Ready-to-run examples that show this API solving a specific problem. Each opens its own setup so you can run it on your account in one click.
- Find concerts and festivals in Austin this weekend - live events for the coming weekend with types, dates, and venues.
- Track tech conferences in San Francisco - upcoming conferences with types, dates, and venues for event marketers.
- Aggregate local sports events for a city app - one run returns a city's games with types, dates, and venues as JSON.
- Track Google Events for a City on a Schedule - re-run a saved city search to catch new listings, with type, date, and venue.
- Give an AI Agent Live Google Events Data via MCP - let a Claude (free trial available) or ChatGPT agent pull live events over MCP, with type, date, and venue.
๐ Guides and Tutorials
In-depth walkthroughs for this API, published on Medium.
Google Events API for AI Agents: Live Concerts, Conferences and Tickets via MCP
A walkthrough of using the Google Events API with AI agents over MCP, centered on the search "google events api" and live concert and conference data. It covers how to wire the API into an assistant like Claude or ChatGPT. Published July 2026, before Google retired its events vertical, so the field list it shows is broader than what the API returns today โ see What changed in August 2026.
๐ About Alpha OSINT
This Actor is part of Alpha OSINT, toolset of financial and operations data sources and APIs. See the Google Events source page for related tools and use cases. For support or requests for this actor, please start a ticket directly on our support page.
Last Updated: 2026.08.24