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