Extend your community

OpenEvents Stream

GET /2/open_events
  • json
Host: stream.meetup.com
  • public
stream version 1

Live HTTP stream of events within public Meetup groups. This method uses chunked transfer encoding to maintain a persistent connection with the client. This connection will only be terminated for server maintenance or a connection error.

Request Parameters

This method does not require authentication, or any parameters. Applications should only need a single connection to the stream, and at most 10 connections are allowed per client IP address.

since_count

Request that some number of recent messages be sent immediately, if available. May not be specified in the same request as since_mtime.

since_mtime

Return events with an mtime greater than the supplied time, in milliseconds since the epoch

Response

A response message is one HTTP chunk, the body of which is a single json object, described below, terminated by a newline.

Clients of this method can expect to be pushed events when

  • an event is created
  • a drafted event is published
  • the title, description, time, or venue of the event changes
  • the state of the event changes to or from canceled, deleted, upcoming, etc.

Note that in cases where an event is scheduled to recur over time, changes to that event and future events will broadcast those changes for any repeated occurrences of those events in the next 20 days.

For example, if a user creates a recurring event, the first instance as well as the next n instances of that event that fall within the next 20 days will be pushed to clients.

If a user chooses to update the title of all upcoming instances of an event, the next n instances of that event that fall within the next 20 days will be pushed to clients.

description

HTML Description of the event

duration

Event duration in milliseconds, if an end time is specified by the organizer. When not present, a default of 3 hours may be assumed by applications.

event_url

URL of the event's page on meetup.com

fee

fee info returned when payment is required

amount

amount of the fee

currency

currency accepted for fee

description

fee description

group

Group that is hosting

category

Group category

id

Numeric identifier of the category

name

Display name of the category

shortname

String identifier of the category

group_lat

group latitude, approximate

group_lon

group longitude, approximate

group_photo

Group photo if one is set

highres_link

Link to full sized photo

photo_id

Numeric identifier of the photo

photo_link

Link to standard sized photo

thumb_link

Link to thumbnail sized photo

id

group id

join_mode

"open", "approval", or "closed"

name

group name

urlname

group url name

id

The event id, May be numeric or alphanumeric, always served as a string

mtime

Last modified time of this event, in milliseconds since the epoch

name

The name of the event

payment_required

"1" if required "0" otherwise

photo_url

URL of the event photo, if any

rsvp_limit

The number of "yes" rsvps an event can have before members will be added to the waiting list

status

"upcoming", "proposed", "suggested", "canceled" or "deleted"

time

UTC start time of the event, in milliseconds since the epoch

utc_offset

The local offset from UTC time, in milliseconds

venue

Venue, if selected and not hidden

address_1

line 1 of venue address

address_2

line 2 of venue address

address_3

line 3 of venue address

city, status, country

City, Country and if in US, State of the venue

id

venue id

lat, lon

coordinates of venue

name

venue name

phone

phone number of venue

zip

if US or Canada

venue_visibility

Set to "members" or "public". The "venue" element will not be present if the visibility is "members".

yes_rsvp_count

Number of yes RSVPs including guests

Errors

connection_limit

the client IP has exceeded its maximum number of connections

Examples

Try out the open event stream on a command line:

curl -i http://stream.meetup.com/2/open_events

If your system doesn't have curl, you can also use wget:

wget -qO- http://stream.meetup.com/2/open_events

An application using the stream should keep track of the last event mtime it has received, so that when disconnected it may resume where it left off:

curl -i http://stream.meetup.com/2/open_events?since_mtime=1294435118533

The number of past events the stream will return is limited. Applications that intend to consume all event activity should reconnect within a few seconds to avoid missing event messages.

To monitor RSVP activity, consider subscribing to the /2/rsvps stream

API methods