Google Events Search Scraper — Local & Online Events
Pricing
from $125.72 / 1,000 completed event search records
Google Events Search Scraper — Local & Online Events
Search Google Events for local concerts, conferences, workshops and other public events. One record contains the completed search, event count and complete returned event list with available date and venue information. Export JSON or CSV.
Pricing
from $125.72 / 1,000 completed event search records
Rating
0.0
(0)
Developer
SIÁN OÜ
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Google Events Search Scraper — Local & Online Events 🎟️
🎟️ One search record, every returned event included
For local publishers, researchers and teams maintaining event discovery lists
🔎 What is the Google Events Search Scraper — and when should you use it?
The Google Events Search Scraper turns Google Events search records with dates, venues and complete event lists into clean, structured rows you can filter, export and feed straight into a spreadsheet, database or AI agent. No account, no portal API key, no browser automation to maintain.
Use it when you need: you need event discovery results for a location or topic.
Use something else when: you need business listings or venue reviews. Use Local Business Data Scraper for business and venue listings. This actor searches events; it does not verify ticket availability.
🤖 Use with AI agents
Already connected to the Apify MCP server? Just ask for this Actor by name: sian.agency/google-events-search-scraper
Your agent can pay for its own runs. This Actor is eligible for agentic payments, so an agent can discover it, run it and settle the bill over x402 (USDC on Base) or Skyfire — without an Apify account or API token of its own. One completed search is charged, including a valid empty observation. All events are included in that record. Failed retrievals have no search-event charge; a separate run-start fee applies.
Otherwise copy this prompt into Claude, ChatGPT, Cursor or any MCP-enabled assistant:
I want a local event discovery list using the Apify Actor `sian.agency/google-events-search-scraper`.Use it when I need: you need event discovery results for a location or topic.Don't use it when: you need business listings or venue reviews — use local-business-data-scraper instead.How to call it: set operation to search and provide query. Optionally set dateHint as a search preference. Read events inside the single completed-search record.Start with this input:{"operation": "search","query": "concerts in San Francisco","dateHint": "any"}Ask me which events and city they want to research, then run the Actor and summarise the results as a table.
Things you can ask your agent for:
- Find concerts in San Francisco and list the returned dates and venues.
- Research conferences and export the complete event list as JSON.
- Record whether a specific event search currently returns any listings.
Machine-readable API, MCP config and OpenAPI definition for this Actor are published at apify.com/sian.agency/google-events-search-scraper.md.
📋 Overview
Google Events Search Scraper turns one event query into a structured search record. It includes the event count, names, available date labels, venues and the complete returned event list.
Use it to start a local calendar or research a topic. Check listings before publishing or booking; the search does not verify tickets or guarantee coverage.
- ✅ One billing unit: A completed search costs one event, whether it returns zero, one or several listings.
- 🎟️ Complete returned list: All events from that search are included in the record.
- 📅 Honest preferences: The date setting steers the search. It is a hint, not a strict filter.
- 📍 Available venue information: Keep venue names and any other returned location details.
- 📄 Processing report: Review the search, result count, billing receipt and retry input.
The recorded San Francisco example returned seven named events with dates and venue names. Other fields were often absent. Results can change between runs.
✨ Features
- 🔎 One query per run: Describe an event, place or topic in your own words.
- 📅 Date hints: Choose today, tomorrow, week, weekend, next week, month or next month.
- 🎤 Event names and dates: Keep readable labels as published in the search.
- 🏢 Venue names: Review the locations associated with returned events.
- 📦 Nested event records: Preserve all returned fields in JSON, including optional links and venue data.
- 🔍 Explicit empty observations: A valid empty search has
empty=true,eventCount=0andevents=[]. - 📄 Exports: Download JSON, CSV or Excel from the dataset.
🎬 Quick Start
Open the Input tab and run the supplied concerts example. Change the query to the events and place you need. One completed run produces one search record.
curl --request POST \'https://api.apify.com/v2/acts/sian.agency~google-events-search-scraper/runs?token=YOUR_TOKEN' \--header 'Content-Type: application/json' \--data '{"operation":"search","query":"concerts in San Francisco","dateHint":"any"}'
This starts a run and returns run metadata. Wait for it to finish, then retrieve its default dataset. An empty API input does not run the Console example.
🚀 Getting Started (3 Simple Steps)
Step 1: Describe the search
Enter an event phrase and location, such as concerts in San Francisco. You can also search for a conference topic or venue.
Step 2: Set preferences
Keep any date for broad discovery, or choose a date hint. Check the actual date of each returned event.
Step 3: Read the record
Open the Dataset tab for the completed search and nested events. Open the run's Output tab for the processing report. Export JSON to retain the entire event list.
📥 Input Configuration
| Field | Type | Required | Description |
|---|---|---|---|
operation | string | No | search, the only operation. |
query | string | Yes | Event phrase, 1–300 characters. Include the place when relevant. |
dateHint | string | No | any, today, tomorrow, week, weekend, next_week, month or next_month. |
{"operation": "search","query": "concerts in San Francisco","dateHint": "any"}
The query has a Console prefill and no API default. API callers must supply it. Date preferences are search hints; verify actual dates and venues in the returned events.
Free-plan users can run this actor from Apify Console or MCP. Direct API access requires a paid Apify plan. A blocked API run returns an explanatory rejected record and report with no completed-search charge; the platform run-start fee still applies.
There is one search per run. This version does not accept a query list, pagination or event-detail requests. Free and paid Apify accounts receive the same search contents; paid plans have discounted rates.
📤 Output
One completed-search row contains the following fields. The nested events array holds every returned event, without extra event charges.
| Field | Type | Description |
|---|---|---|
query | string | Search phrase used for this observation. |
eventCount | integer | Number of returned events. |
empty | boolean | True for a completed search with no matching events. |
eventNames | array | Event names in the returned order. |
venueNames | array | Available venue names. |
dateLabels | array | Available readable event date labels. |
events | array | Complete returned event records. |
imageUrl | string or null | First available event thumbnail, when provided. |
dateHint | string | Requested date hint. |
status / errorMessage | string / string or null | Outcome and failure explanation. |
_operation / _fetchedAt | string | Operation and retrieval timestamp. |
Recorded example, shortened to one event and selected fields:
{"query": "concerts in San Francisco","eventCount": 7,"empty": false,"eventNames": ["Bluegrass Breeze"],"venueNames": ["The East Cut Community Benefit District"],"dateLabels": ["Oct 17, 11:30 AM"],"events": [{"name": "Bluegrass Breeze","date_human_readable": "Oct 17, 11:30 AM","venue": {"name": "The East Cut Community Benefit District"}}],"dateHint": "any","status": "success"}
The real record contains all seven events. Names and dates above illustrate the output, not future availability. Event IDs are opaque strings. Optional event links, thumbnails, descriptions, ticket links, detailed timestamps, coordinates and venue contacts can be null or absent.
A valid empty search is a successful observation with empty arrays. Retrieval failures produce an error record and no completed-search charge. JSON retains nested fields; CSV and Excel encode nested values as text.
💼 Use Cases & Examples
1. Local publishers building a city calendar
Input: An event category and city. Output: Event names, readable dates and venue names. Use: Build a discovery list, then verify details before publication.
2. Venue marketers researching nearby events
Input: A venue or neighborhood search. Output: A saved observation and the returned event list. Use: Review listings relevant to a local promotion.
3. Tourism teams planning destination guides
Input: Concerts or festivals in a destination. Output: Available dates and locations. Use: Identify candidates for a visitor guide.
4. Conference researchers finding relevant meetings
Input: A conference topic with a date hint. Output: Returned conference and event listings. Use: Review candidate events before checking organizer pages.
5. Community managers finding workshops
Input: A workshop subject and location. Output: Event names and available venue data. Use: Suggest activities after checking whether they fit the community.
6. Data analysts tracking search observations
Input: The same saved query on a schedule. Output: Timestamped completed-search records, including empty results. Use: Compare event discovery results in your own database.
🔗 Integration Examples
JavaScript / Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_TOKEN' });const run = await client.actor('sian.agency/google-events-search-scraper').call({operation: 'search', query: 'concerts in San Francisco', dateHint: 'any',});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items[0].events);
Python
from apify_client import ApifyClientclient = ApifyClient('YOUR_TOKEN')run = client.actor('sian.agency/google-events-search-scraper').call(run_input={'operation': 'search', 'query': 'concerts in San Francisco', 'dateHint': 'any'})for item in client.dataset(run['defaultDatasetId']).iterate_items():print(item.get('events', []))
cURL: retrieve a completed dataset
$curl 'https://api.apify.com/v2/datasets/YOUR_DATASET_ID/items?format=json&clean=true&token=YOUR_TOKEN'
Use the run-start request in Quick Start, wait for completion, then use that run's dataset ID.
Automation Workflows (N8N / Zapier / Make)
- Trigger: Schedule an event query.
- HTTP Request: Start this actor with the chosen input.
- Process: Wait for completion and retrieve its dataset.
- Action: Save events to a spreadsheet or database and review them before publishing.
📊 Performance & Pricing
One completed-search event pays for one completed event search. Every returned event is included in that record. A valid empty search is also billed because it delivers an explicit observation for the requested query.
Failed retrievals have no completed-search charge. A separate run-start fee applies to every run, including invalid or billing-limited runs. The search must fit the remaining budget before retrieval begins.
| Apify plan | Completed search | Run-start fee | One completed run |
|---|---|---|---|
| FREE | $0.57144 | $0.02 | $0.59144 |
| BRONZE | $0.14286 | $0.005 | $0.14786 |
| SILVER | $0.13429 | $0.005 | $0.13929 |
| GOLD | $0.12572 | $0.005 | $0.13072 |
Enterprise plans use the live price shown by Apify before the run. These are per-search prices, not per-event prices. The event count does not change the charge. FREE means the Apify account plan; it does not mean the actor's searches cost zero.
The recorded example completed in seconds, but completion time is not guaranteed. Check current actor pricing before starting a run.
❓ Frequently Asked Questions
How many event rows will I receive?
One search-level dataset row, containing the complete nested event list and its count. This version performs one query per run.
Is an empty search charged?
Yes. A valid empty observation has empty=true and events=[] and costs one completed-search event. Failed retrievals have no search-event charge. The separate run-start fee still applies.
Is the date preference a strict filter?
No. It guides the search. Check the returned dates and organizer information before treating an event as within a date period.
Does it verify tickets or include every venue detail?
No. It returns event search listings. Links and enriched details may be missing. It does not confirm ticket prices, inventory or availability.
Can I use an empty API input?
Supply your own query. The Console example is a prefill, not an API default.
Can I automate repeated searches?
Yes. Save an input and use Apify Schedules. Each run creates a new observation and has its own charges.
Which export format should I choose?
JSON preserves nested event records. CSV and Excel suit the search summary fields and may encode nested data as text.
🐛 Troubleshooting
No events returned
Try a broader phrase, another location or any date. An empty completed search is billable; check your query before starting another run.
Unexpected event dates
The date preference is a hint. Inspect actual dates and venues, then follow the organizer's information before using a listing.
Links or detailed times are missing
These fields are optional and may not appear in search results. The actor does not perform a separate event-detail lookup.
The run stops before searching
Read the processing report. Check the maximum charge and account allowance. No completed-search event is charged when retrieval does not begin.
Temporarily unavailable
Wait before retrying. The actor does not automatically retry a data search; failed retrievals do not incur a completed-search event.
⚖️ Legal Disclaimer
Results describe public event listings and may include names or contact information that identify people. Use them for a legitimate purpose and follow applicable privacy rules, including GDPR, and service terms.
For background, read Apify's explanation of web scraping legality. Ask qualified counsel when you need advice for your use case.
Google and Google Events are trademarks of Google LLC. SIÁN Agency is independent and is not affiliated with or endorsed by Google.
🤝 Support
Use the actor's Issues tab for reproducible problems. Include the input and run URL, with sensitive information removed.
Built by SIÁN Agency | More Tools