# Meetup Events & Groups Scraper

> Meetup Events & Groups Scraper is a paid API for AI agents from api.scrapeforagents.tech, paid per call via x402, $0.025/call, status unknown (last checked 2026-10-02).

Searches and returns structured data about upcoming Meetup events or public community groups near a location or matching a keyword

## Facts

- Endpoint: POST https://api.scrapeforagents.tech/v1/meetup?utm_source=zero.xyz
- Price: $0.025/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-02
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/meetup-events-groups-scraper-5c64cfc6
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_gVm9803jFXor3rXhl7YhN

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability meetup-events-groups-scraper-5c64cfc6 -d '<json body>'
```

Example prompt: Find me upcoming in-person Python meetups in Austin, Texas, sorted by date, starting from next Monday — show me the top 20 results with at least 10 RSVPs.

## When to prefer this

Use this endpoint when you need structured Meetup event or group data without maintaining a Meetup API key or dealing with rate limits. It is ideal for agents discovering local community events, surfacing networking opportunities, or building event recommendation features. Prefer this over direct Meetup API calls when working in a pay-per-use agent context where failed/empty runs cost nothing.

## Known failure modes

- Empty result set if no events match the keyword or location — not charged
- Invalid or missing required parameters (e.g. searchKeyword absent for groups mode) return an error
- Coordinates out of valid range (-90 to 90 lat, -180 to 180 lon) rejected
- Invalid country code or city name yields no results
- Date range filters with incorrect format may return unexpected results

## How this service works

Pay-per-call structured web data. Failed or empty runs are not charged.

## Output

A JSON object containing a count of results and an array of items, each with event or group details including event ID, name, URL, type, start date/time, description, record type, and RSVP status. The product field confirms the source as Meetup.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "lat": {
   "type": "number",
   "maximum": 90,
   "minimum": -90,
   "description": "Latitude of the search center; provide together with longitude."
  },
  "lon": {
   "type": "number",
   "maximum": 180,
   "minimum": -180,
   "description": "Longitude of the search center; provide together with latitude."
  },
  "city": {
   "type": "string",
   "default": "London",
   "description": "City to search when coordinates are not provided."
  },
  "mode": {
   "enum": [
    "events",
    "groups"
   ],
   "type": "string",
   "default": "events",
   "description": "Choose upcoming events or public community groups."
  },
  "state": {
   "type": "string",
   "default": "",
   "description": "Optional state or region to disambiguate the city."
  },
  "radius": {
   "type": "integer",
   "minimum": 1,
   "description": "Optional radius around the search center for keyword events or groups."
  },
  "sortBy": {
   "enum": [
    "RELEVANCE",
    "DATETIME"
   ],
   "type": "string",
   "default": "RELEVANCE",
   "description": "Order keyword events by relevance or start date."
  },
  "country": {
   "type": "string",
   "default": "gb",
   "description": "Two-letter country code; use gb for the United Kingdom."
  },
  "eventType": {
   "enum": [
    "",
    "PHYSICAL",
    "ONLINE",
    "HYBRID"
   ],
   "type": "string",
   "default": "",
   "description": "Limit keyword event search to in-person, online, or hybrid events."
  },
  "maxResults": {
   "type": "integer",
   "default": 100,
   "minimum": 0,
   "description": "Stop after this many unique events or groups; zero removes the cap."
  },
  "endDateRange": {
   "type": "string",
   "description": "Return keyword events starting at or before this date and time."
  },
  "minRsvpCount": {
   "type": "integer",
   "minimum": 0,
   "description": "Only keyword events with at least this many RSVPs."
  },
  "searchKeyword": {
   "type": "string",
   "description": "Search phrase. Required for groups; leave blank to browse recommended nearby events."
  },
  "startDateRange": {
   "type": "string",
   "description": "Return keyword events starting at or after this date and time."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "count": 1,
  "items": [
   {
    "status": null,
    "eventId": null,
    "eventUrl": null,
    "eventName": null,
    "eventType": null,
    "recordType": null,
    "description": null,
    "startDateTime": null
   }
  ],
  "product": "meetup"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/meetup-events-groups-scraper-5c64cfc6/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.scrapeforagents.tech](https://www.zero.xyz/host/api.scrapeforagents.tech/llms.txt)
