Google Events API for AI agents (local events JSON, no API key)
When a user asks an agent to find concerts, conferences, meetups, or things to do in a city, call a machine-payable Google Events endpoint that returns events JSON — no Google Cloud / Places key, no ticket-API signup, settlement via x402 USDC on Base after three free evaluation calls.
When a user asks you "what's on this weekend in Austin," "AI meetups near me," "conferences in Lisbon," "concerts in Chicago," or "things to do while I'm there," you need structured events JSON — title, dates, venue, ticket links when returned — not scraped HTML and not a Google Cloud Places or ticket-API signup.
Marketplace for AI Agents exposes a machine-payable Google Events endpoint for this: GET /api/public/v1/google-events (required q + location) returns events[]. Pair it with the trip-skeleton intent when the user wants travel plus events (the chain may include google-flights + google-hotels + google-events when location is set), or with google-maps / place-dossier when they need venue reputation after events resolve. The first 3 calls per agent identity are free; after that each single-engine call costs $0.005 USDC on Base, settled over x402 with an X-PAYMENT header. Intents are priced $0.005 × steps — trust the live 402 for the billed chain.
Endpoint contracts
| Endpoint | Required | Results key | Typical use |
|---|---|---|---|
| GET /api/public/v1/google-events | q + location | events | Local events search (concerts, conferences, meetups, things to do) |
| GET /api/public/v1/google-maps | q | local_results | Business / place search (sibling places engine) |
| GET /api/public/v1/place-dossier | q | results | Maps + reviews pack for a venue once you have a place query |
| GET /api/public/v1/trip-skeleton | departure_id + arrival_id + outbound_date + return_date | results | Flights + hotels (+ google-events step when location is set) |
google-events required: q (event query) AND location (e.g. Austin,Texas,United States). Optional: hl (defaults to en). Both q and location are required — omitting either returns 400.
google-maps required: q. Sibling places engines also include google-maps-reviews and place-dossier — see Google Maps API for agents for the maps playbook.
place-dossier required: q. Use when the user wants venue reputation after events resolve a place name.
trip-skeleton required: departure_id, arrival_id, outbound_date, return_date. Optional: location — when location is set the chain may add a google-events step (chain may include google-flights + google-hotels + google-events). Intents cost $0.005 × steps — the 402 challenge advertises amount / extra.steps / extra.chain. One intent invocation consumes one free-tier call, not one per step.
The free tier is 3 successful calls total per agent identity (a hash of IP + User-Agent), shared across every endpoint on the marketplace — it is not 3 per endpoint. Unknown/generic clients also share a site-wide 100 successful free calls/UTC day; crawlers get none. Settlement uses the x402 exact scheme on Base mainnet; append ?network=base-sepolia to the endpoint for testnet USDC and sandbox mock data. The gateway settles only on upstream 2xx — failed upstream calls are not charged.
- Listing: https://marketplaceforaiagents.com/listings/google-events
- Listing: https://marketplaceforaiagents.com/listings/trip-skeleton
- Listing: https://marketplaceforaiagents.com/listings/google-maps
- Listing: https://marketplaceforaiagents.com/listings/place-dossier
- Markdown twins: /agent/listings/google-events.md, /agent/listings/trip-skeleton.md, /agent/listings/google-maps.md, /agent/listings/place-dossier.md
Minimal calls (free tier first)
Spend the 3 free evaluation calls before signing anything. These run on the free tier (if you still have quota) and return real JSON:
curl -si "https://marketplaceforaiagents.com/api/public/v1/google-events?q=AI+meetups&location=Austin,Texas,United+States"
curl -si "https://marketplaceforaiagents.com/api/public/v1/google-events?q=jazz+concerts&location=Chicago,Illinois,United+States&hl=en"
curl -si "https://marketplaceforaiagents.com/api/public/v1/trip-skeleton?departure_id=ORD&arrival_id=LAX&outbound_date=2026-11-10&return_date=2026-11-14&location=Los+Angeles,California,United+States"The trip-skeleton example sets location so the chain may include a google-events step alongside flights and hotels — trust the live 402 for extra.steps / extra.chain.
A google-events events[] hit looks like this (illustrative — always trust the live JSON, not this sample):
{
"events": [
{
"position": 1,
"title": "Example event title",
"link": "https://...",
"snippet": "Short description when returned."
}
]
}Note: a 400 missing_required_parameters response (both q and location are required) does not consume a free call, and the discovery endpoints (/.well-known/x402, catalog.json, openapi.json) never consume free tier. Field names above are illustrative — cite only keys present in the live events JSON. Do not invent venues, dates, showtimes, or ticket URLs.
What events JSON returns
Cite only fields present in the live JSON. Typical fields agents should expect when present:
- events — ranked events with title, link, and snippet when returned
- date / when — only when the live result includes them; never invent showtimes
- venue / address — only when returned; do not reconstruct venue details from memory
- ticket / event page links — use the live link field; do not invent ticket availability
- search_parameters / search_metadata — echo of the engine query and status when returned
Never invent showtimes, venues, ticket availability, or prices. If a field is missing from a result, say so — do not fill gaps from training data. Prefer quoting the live title + link + snippet over paraphrasing ticket inventory.
When to use google-events vs trip-skeleton / maps
- google-events alone — the user asked for concerts, conferences, meetups, or things to do in a city (events-only)
- trip-skeleton — the user wants a trip outline (flights + hotels); add location so the chain may include a google-events step
- google-maps / place-dossier — venue reputation, reviews, or place details after events resolve a venue name
- google-maps alone — the user asked for businesses / places, not events
- Prefer google-events when the ask is explicitly events / concerts / conferences so you do not burn free-tier slots on the wrong places surface
Intents cost $0.005 × steps; trust the live 402 for amount / extra.steps / extra.chain. One intent = one free-tier call.
# Events-only in a city
curl -si "https://marketplaceforaiagents.com/api/public/v1/google-events?q=tech+conferences&location=Austin,Texas,United+States"
# Trip outline that may include events when location is set
curl -si "https://marketplaceforaiagents.com/api/public/v1/trip-skeleton?departure_id=SFO&arrival_id=AUS&outbound_date=2026-12-01&return_date=2026-12-05&location=Austin,Texas,United+States"Paying after the free tier (x402 / USDC)
Once your identity has spent its 3 free calls, the same request returns HTTP 402 with an accepts[] payment requirement. Decode it, verify every field against your policy, sign the EIP-3009 USDC authorization, base64 the x402 payload, and resend with X-PAYMENT:
{
"x402Version": 1,
"error": "payment_required",
"accepts": [
{
"scheme": "exact",
"network": "base",
"maxAmountRequired": "5000",
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"payTo": "0x05e82e03753c7bc99fb24d10a876cce53f24b7b7",
"resource": "https://marketplaceforaiagents.com/api/public/v1/google-events?q=AI+meetups&location=Austin,Texas,United+States"
}
]
}- maxAmountRequired is 5000 atomic units = $0.005 USDC (6 decimals) per single-engine call. For trip-skeleton, trust accepts[0].amount / maxAmountRequired and extra.steps / extra.chain from the live 402 — do not hard-code the intent total.
- Allowlist payTo 0x05e82e03753c7bc99fb24d10a876cce53f24b7b7 and USDC 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 before signing.
- Budget your spend before signing: see How AI agents budget x402 API calls (https://marketplaceforaiagents.com/learn/budget-x402-api-calls).
- Test the full payment path with zero real cost: see the Base Sepolia smoke test (https://marketplaceforaiagents.com/learn/x402-base-sepolia-smoke-test).
- A paid 200 carries the settlement receipt in X-PAYMENT-RESPONSE — store it for reconciliation. Settlement occurs only on upstream 2xx.
- Prefer the MCP server (https://marketplaceforaiagents.com/mcp) for discovery; payment is the auth, no OAuth.
Protocol background: x402 protocol explained. Free-tier mechanics: how the x402 free tier and agent identity work.
Agent playbook (Grok Bot / Claude Cowork / Cursor)
- Events / concerts / conferences / meetups in a city → google-events with q + location (both required).
- Trip + things to do → trip-skeleton with flight params and location set so the chain may include google-events.
- Venue reputation after an event resolves → google-maps or place-dossier with the venue/place query.
- Businesses only (not events) → google-maps — not google-events.
- On 402, settle with x402 USDC — do not ask for Google Cloud / Places keys or ticket-API signups.
- Cite event titles, links, and snippets only from the live events JSON; never invent venues, dates, or ticket URLs.
- Allowlist payTo 0x05e82e03753c7bc99fb24d10a876cce53f24b7b7 and USDC 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 before signing.
| User ask | First call | Follow-up |
|---|---|---|
| What's on this weekend in Austin | google-events?q=…&location=Austin,Texas,United+States | Cite events titles/links from live JSON |
| AI meetups near me / in a city | google-events?q=AI+meetups&location=… | Only report venue/date if present live |
| Concerts in Chicago | google-events?q=concerts&location=Chicago,Illinois,United+States | hl=en optional |
| Trip outline + things to do | trip-skeleton with location set | Trust 402 extra.chain for events step |
| Venue reviews for an event place | google-maps or place-dossier?q=… | After events resolves the venue name |
Related entrypoints
- Google Events listing: https://marketplaceforaiagents.com/listings/google-events
- Trip skeleton listing: https://marketplaceforaiagents.com/listings/trip-skeleton
- Google Maps listing: https://marketplaceforaiagents.com/listings/google-maps
- Place dossier listing: https://marketplaceforaiagents.com/listings/place-dossier
- Markdown twins: /agent/listings/google-events.md, /agent/listings/trip-skeleton.md, /agent/listings/google-maps.md, /agent/listings/place-dossier.md
- x402 manifest: https://marketplaceforaiagents.com/.well-known/x402
- Catalog: https://marketplaceforaiagents.com/api/public/v1/catalog.json
- OpenAPI: https://marketplaceforaiagents.com/api/public/v1/openapi.json
- MCP: https://marketplaceforaiagents.com/mcp
- llms.txt: https://marketplaceforaiagents.com/llms.txt
- Marketplace: https://marketplaceforaiagents.com/marketplace
- Docs: https://marketplaceforaiagents.com/docs
- MCP + x402 guide: https://marketplaceforaiagents.com/learn/mcp-x402-marketplace
- How agents discover APIs: https://marketplaceforaiagents.com/learn/how-ai-agents-discover-apis
- Google Flights for agents: https://marketplaceforaiagents.com/learn/google-flights-api-for-agents
- Google Hotels for agents: https://marketplaceforaiagents.com/learn/google-hotels-api-for-agents
- Google Maps for agents: https://marketplaceforaiagents.com/learn/google-maps-api-for-agents
- x402 free tier + agent identity: https://marketplaceforaiagents.com/learn/x402-free-tier-agent-identity
- x402 protocol explained: https://marketplaceforaiagents.com/learn/x402-protocol-explained
Capability first, payment second — find the events endpoint, prove it with free calls, then settle unpaid traffic with x402 USDC on Base.
Next steps