Extend your community

Long-Polling RSVP Stream

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

This long-polling stream can be easily consumed using JavaScript in any modern browser. RSVP notifications are received when they happen, or as soon as your script finishes handling its last notification.

Request Parameters

These parameters are set automatically by Meetup's must.js client.

callback
Name of a function to be called with an array of RSVP notification objects. If this parameter is not supplied, the chunked stream is joined instead.
event_id
Limit notifications to a specific event id. Use alphanumeric ids for repeating events.
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
Should be supplied for all but the first polling request, so that any missed notifications are can be sent in an immediate response

Response

RSVP upload notification objects include these properties. This method's response is an array of zero or more of these, while Meetup's JS client calls your callback function with exactly one object.

event
Event for the RSVP
event_id
Unique alphanumeric identifier
event_name
Name of the event
event_url
URL to the full event page
time
Event time if set in milliseconds since the epoch
group
Group hosting the event
group_city
Group's home city
group_country
two-letter code of group's home country
group_id
Numeric identifier of the group
group_lat
Latitude of group's approximate location
group_lon
Longitude of group's approximate location
group_name
-
group_state
two-letter code of group's home state, if in US or CA
group_topics
Topics associated with this group
topic_name
Longer name
urlkey
Unique keyword
group_urlname
Unique portion of group's URL, no slashes
guests
Number of guests the member is bringing
member
Member who RSVP'd
member_id
Unique numeric id
member_name
Full name given
other_services
e.g. {"twitter": {"identifier": "MeetupAPI"}}
photo
Thumbnail URL for member photo if one exists
mtime
Last modified time of this RSVP, in milliseconds since the epoch
response
"yes" or "no"
rsvp_id
Unique numeric identifier
venue
Venue, if public
lat
Latitude of the venue
lon
Longitude of the venue
venue_id
Unique numeric identifier
venue_name
-

Errors

connection_limit
the client IP has exceeded its maximum number of connections

Examples

Install the Meetup stream client with bower

$ bower install must

The HTML page draws a table of RSVPs as they are received.

<html>
  <head>
    <script src="components/jquery/jquery.min.js"></script>
    <script src="components/must/must.js"></script>
    <script>
      must.Rsvps(function(rsvp) {
        $('#rsvps').prepend(
          '<tr><td>' + rsvp.member.member_name +
          '</td><td>' + rsvp.group.group_name +
          '</td><td>' + (rsvp.event.time ? new Date(rsvp.event.time) : '') +
          '</td><td>' + rsvp.group.group_city + ', ' + rsvp.group.group_country +
          '</td></tr>'
        );
      });
    </script>
  </head>
  <body>
    <table><thead>
      <tr><th>Who</th><th>What</th><th>When</th><th>Where</th></tr>
    </thead><tbody id="rsvps">
    </tbody></table>
  </body>
</html>

See map in our stream github project for a more advanced example.

WebSockets RSVP Stream

WS /2/rsvps
  • json
Host: stream.meetup.com
  • public
stream version 1

For browsers that support it, WebSockets is a more efficient alternative to the long-polling stream. This is a push only endpoint and will discard any messages received from the client after the socket is open.

Because browser support for WebSockets is limited, we recommend that you consume this stream through the must.js client, which can fallback to long-polling.

Request Parameters

The full URL for this method is ws://stream.meetup.com/2/rsvps

event_id
Limit notifications to a specific event id. Use alphanumeric ids for repeating events.
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 recent RSVPs with an mtime greater than the supplied time, in milliseconds since the epoch

Response

This stream includes the same JSON notification objects as its long-polling counterpart, one per WebSocket frame.

Errors

connection_limit
the client IP has exceeded its maximum number of connections

Examples

The long-polling stream examples will automatically use WebSockets, if available.

Chunked HTTP RSVP Stream

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

Live HTTP stream of RSVPs 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 recent RSVP with an mtime greater than the supplied time, in milliseconds since the epoch

Response

This stream includes the same JSON notification objects as its long-polling counterpart. These are served one per HTTP chunk and terminated by newlines.

Errors

connection_limit
the client IP has exceeded its maximum number of connections

Examples

Try out the RSVP stream on a command line:

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

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

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

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

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

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

API methods

everywhere seed events

Log in

Not registered with us yet?

Sign up

Meetup members, Log in

By clicking "Sign up" or "Sign up using Facebook", you confirm that you accept our Terms of Service & Privacy Policy