Skip to content

API Methods List

Juan Pablo Kutianski edited this page Jun 11, 2015 · 11 revisions

This documentation was created automatically from http://api.meetup.com/docs

RSVP Get

Retrieve a single RSVP

meetup.getRSVP(parameters, function(err, resp) {
	console.log(err, resp);
});

Request Parameters

Only authorization parameters are needed.

fields: Request that additional fields (separated by commas) be included in the output

*id: Resource ID

Response

venue: Venue, if selected and not hidden

>

zip: ZIP code if, venue is in US or Canada

>

lat, lon: Geographic coordinates of venue

>

phone: Phone number of venue

>

address_1: Line 1 of venue address

>

city, state, country: City, Country and if in US state of venue

>

address_2: Line 2 of venue address

>

address_3: Line 3 of venue address

>

name: Venue name

>

id: Venue id

>

repinned: true if the editor of the event altered the original venues pin location, false otherwise

comments: The message that the member provided when RSVP was made

created: Creation time of the RSVP, in milliseconds since the epoch.

member_photo: The RSVPing member's photo if available

>

highres_link: URL for the photo at its maximum size

>

photo_id: Photo ID

>

photo_link: URL for a standard size of the photo

>

thumb_link: URL for a thumbnail of the photo

answers: List of answers to event survey questions asked when the member RSVP'd in the order asked, only available to organizers and assistant organizers. By default, this field returns a list of strings answers. You can request more structured answer info including the time the answer was updated, by setting fields=answer_info in the request

>

question: The text of the question asked of the member

>

answer: The members provided answer to the question

>

question_id: The unique id of the question answered

>

updated: The time the answer was last modified in milliseconds since the epoch

rsvp_id: The RSVP id

mtime: Last modified time of the RSVP, in milliseconds since the epoch.

watching: if the current member choose to watch and event for open spot notifications, their response will be waitlist and watching will be true

pay_status: The RSVPer's payment status if the event has an associated fee. Returned only for organizers when 'pay_status' is requested with the fields parameter. This may be one of 'none', 'paid', 'partially_paid', 'payment_pending', 'echeck_pending', 'refund_pending', 'partially_refunded', 'refunded'.

response: "yes", "no", "waitlist" or "yes_pending_payment" which is the response returned after RSVPing "yes" to an event that requires payment.

guests: Number of guests the RSVP'd member will be bringing

host: Optional field, `true` if RSVP is for an event host

member: Member who RSVP'd

>

member_id: Member's ID

>

other_services: Third-party services associated with the member account,[object Object]

>

member_state: Optional field

>

member_city: Optional field

>

name: Name of the member

>

bio: Optional field returned when appending "member_bio" to the "fields" parameter. Contains the member's group "introduction"

>

member_country: Optional field

event: The event associated with the RSVP

>

name: Name of the event

>

id: String ID of the event

>

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

>

event_url: URL of the event's page on meetup.com

group: Group hosting the event

>

join_mode: "open", "approval", or "closed"

>

created: Date and time that the group was founded, in milliseconds since the epoch

>

name: Group name

>

group_lon: Approximate group longitude

>

id: Group id

>

urlname: Group URL name

>

group_lat: Approximate group latitude

>

who: What the group calls its members

Categories

Returns a list of Meetup group categories

meetup.getCategories(parameters, function(err, resp) {
	console.log(err, resp);
});

Request Parameters

No parameters required parameters

fields: Parameter for requesting optional response properties

Ordering

member: order by recommendations for authorized member (deprecated)

shortname: (default order) ascending

Response

name: Display name of the category

id: Numeric identifier of the category

shortname: String identifier of the category

Discussion Posts

Listing Group discussion posts

meetup.getDiscussion(parameters, function(err, resp) {
	console.log(err, resp);
});

Request Parameters

The urlname parameter may be any valid group urlname or domain name. The bid parameter maybe any valid board ID for this group. The :did may be any valid discussion ID for this board

*urlname: Group URL Name

*bid: Board ID

*did: Discussion ID

Response

subject: subject of the post

created: Time post was created in milliseconds since the epoch

member: The member that started this discussion

>

country: Country, if provided, for the member

>

city: City, if provided, for the member

>

name: Member name

>

photo: Photo object for active member,[object Object]

>

state: State if in the US

>

id: Member ID

id: Numeric post ID

discussion: The discussion this was posted in

>

id: Numeric discussion ID

body: content of the post

updated: Time post was updated in milliseconds since the epoch

in_reply_to: ID of the post this was in reply to

Discussions

Listings of Group discussions

meetup.getDiscussions(parameters, function(err, resp) {
	console.log(err, resp);
});

Request Parameters

The urlname parameter may be any valid group urlname or domain name. The bid parameter may be any valid board ID for this group.

*urlname: Group URL Name

*bid: Board ID

Ordering

thread_reply_count: by the threads reply count

member_name: by posting member's name

last_post_date: (default) by post date

thread_view_count: by the number of views a thread has

Response

subject: The subject of the first post in this discussion

created: Time board was created in milliseconds since the epoch

last_post: The last post made in this discussion

>

member: The posting member,[object Object]

>

created: Time post was made in milliseconds since the epoch

id: Numeric discussion ID

body: The contents of the first post in this discussion

reply_count: Number of replies this discussion has

started_by: The member that started this discussion

>

name: Member name

updated: Time board was updated in milliseconds since the epoch

board: The board this discussion belongs to

>

id: Numeric ID of this discussion's board

Discussion Boards

Listings of Group discussion boards

meetup.getBoards(parameters, function(err, resp) {
	console.log(err, resp);
});

Request Parameters

The urlname parameter may be any valid group urlname or domain name

*urlname: Group URL Name

Response

created: Time board was created in milliseconds since the epoch

name: Discussion board name

post_count: Number of posts in discussions on this board

id: Numeric ID of discussion board

updated: Time board was updated in milliseconds since the epoch

discussion_count: Number of discussions on this board

latest_reply: The latest reply on this board

>

member: The posting member,[object Object]

>

created: Time reply was posted in milliseconds since the epoch

group: The group associated with this board

>

id: Numeric ID of group

ActivityFeed

API method for retrieving the activity feed for a member's groups

meetup.getActivity(parameters, function(err, resp) {
	console.log(err, resp);
});

Request Parameters

member_id: Returns activity from this member's groups. Must be authenticated as this member

page_start: Starting timestamp for item to return.

Response

member_id: ID of member who performed the action.

group_name: Name of the group where the action took place.

group_id: Unique ID of the group where the action took place.

item_type: Type of activity that occurred. One of: new_member, photo_upload, new_discussion, new_reply, new_rsvp, edit_rsvp, photo_tag, photo_comment, new_checkin

link: URL to the content represented in the action.

published: Date and time of when the action occurred.

id: Unique identifier for the feed item.

photo_url: Link to the profile photo of the member represented (except in the case of photo actions, where the photo URL is used instead).

title: A short description of the action that occurred.

member_name: Member who performed the action.

Cities

Returns Meetup cities. This method supports search by latitude/longitude/radius, by country/state, by query term/zip, or a combination of all of these. Location-only searches by lat and lon return all cities within a radius of the provided coordinates. Searches with a query return up to 10 cities matching the term, and can be sorted by size or distance to a given coordinate. 'smart' ordering can be used to return the match(es) with the highest member_count, unless a smaller size match exists nearby the given coordinates. Query searches are supported for country but not country and state

meetup.getCities(parameters, function(err, resp) {
	console.log(err, resp);
});

Request Parameters

This method requires no authentication but is subject to request limiting based on client IP . This search is location based. A lat and lon must be supplied together or a query or the search will be based on your geo-located ip

country: A valid country code

query: Search term and/or zip to look for (if this is specified, max result size limited to 10)

lon: Longitude to search

state: A valid state code for the given country, if the country has states

radius: When searching by lat/lon only, specify a radius to search (default 50 miles)

lat: Latitude to search

Ordering

distance: When lat/lon/query provided, sort matches by distance to coordinates

size: (default order) number of members in the city: descending

smart: Sort by size, but if a match is close to given lat/lon, float to top. Only works when query provided

Response

zip: The zip code of the city. For cities in countries without ZIP codes, a placeholder will be returned

country: The ISO_3166-1 country code for the country which contains the city

distance: The distance away from the provided coordinates, if applicable

city: The name of the city

lon: The longitude of the city

ranking: Indicates the best-match ranking of this result

id: Numeric identifier of the city

state: The state which contains the city, if applicable

member_count: The number of Meetup members in the city

name_string: The full name of the city, as returned by query search, if applicable

lat: The latitude of the city

Message Create

This method allows messaging-authorized requests to send messages between members

meetup.postMessage(parameters, function(err, resp) {
	console.log(err, resp);
});

Request Parameters

This method requires an HTTP POST and OAuth authorization in combination with the messaging permission scope. All required parameters must be supplied. You can call this method with dryrun set to true if you wish to test the validation logic before sending the actual request

*message: Text of message to body

dryrun: Performs request without sending message. Useful for pre-testing error conditions.

group_id: ID of group that sender has relationship with member in

*subject: Text of message subject

*member_id: ID of member to message.

hide_email: Hides sender's email from receiving member, defaults to false

cc_sender: Sends a copy of the message to the sender, defaults to true.

Response

If successful, this method returns a 202 Accepted response.

400 Bad requests may be returned under certain conditions along with a response object containing information about the failure. The code property of this may be one of

bad_member: the sender or the receiver was not an active member

bad_group: the provided group_id was invalid

limit: limit of 12 messages a day exceeded

msg_too_long: message was longer than 5000 characters

pref_conflict: the recipient's preferences disallow the sender from sending message

recip_not_affiliated: request was made with a group_id the recipient is not a member of

self_send: attempt made to send a message the sender

sender_not_affiliated: request made with group_id the sender is not a member of

sender_not_member: sender is not a member of any groups

subject_too_long: subject was too long

blocked: this member blocked you

spam: message was flagged as spam

transport: error sending message

Dashboard

A dashboard of aggregated Meetup information for the authorized member

meetup.dashboard(parameters, function(err, resp) {
	console.log(err, resp);
});

Request Parameters

no parameters are required

fields: Request that additional fields (separated by commas) be included in the output

Response

stats: A map of statistics for the current member

>

fb_friend_events: Number of upcoming events Facebook friends of the current member are attending returned when there are no upcoming events

>

upcoming_events: Number of upcoming Meetup events in member's groups

>

city_top_groups: Number of top groups in the member's city

>

global_top_groups: Number of top groups globally

>

memberships: Number of Meetup groups member is in

>

nearby_events: Number of upcoming events in the member's local area, returned when there are no upcoming events

last_event: The last meetup the current member RSVP'd to

>

utc_offset: The local offset from UTC time, in milliseconds

>

comment_count: Returned when fields request parameter contains "comment_count" and represents number of comments posted to the event

>

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

>

venue: Venue, if selected and not hidden,[object Object]

>

featured: Returned when fields request parameter contains "featured" and returns "true" if the event is featured and "false" otherwise

>

headcount: The number of members in attendance according to the attendance taker. This may be 0 if attendance has not yet been taken

>

survey_questions: Returned when fields request parameter contains "survey_questions" for events with surveys,[object Object]

>

announced_at: Organizers and hosts can see when the event as announced in milliseconds since the epoch

>

distance: Distance in miles from the search location, if one was specified

>

venue_visibility: Set to "members" or "public". The "venue" element will not be present if the visibility is "members" and the current authenticated user is not a member of the group hosting the event. This value is only returned if requested in the fields parameter

>

timezone: Returned when fields request parameter contains "timezone". This represents the universal timezone identifier for the host group

>

fee: Fee info returned when payment is defined,[object Object]

>

rating: Only past events have this field, an aggregate of anonymous ratings,[object Object]

>

why: We should do this because...

>

description: Description of the event.

>

is_simplehtml: Optional field, "true" when the event has been saved in a simplified HTML format, "false" otherwise.

>

short_link: Returned when fields request parameter contains "short_link". If hosting group is private, this will return the group's short_link

>

yes_rsvp_count: Number of yes RSVPs including guests

>

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_hosts: List of members hosting the event, only returned if requested in the fields parameter.,[object Object]

>

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

>

simple_html_description: Optional field, description of the event in simple HTML format.

>

photo_url: URL of the event photo, if one exists

>

publish_status: "published" or "draft" only visible to organizers

>

group: Group that is hosting the event,[object Object]

>

rsvp_alerts: Returned when fields request parameter contains "rsvp_alerts" and is limited to organizers and event hosts, if false, member RSVP alerts are disabled

>

email_reminders: Returned when fields request parameter contains "email_reminders" and is limited to organizers and event hosts, if false, event reminders are disabled

>

photo_album_id: Returned when fields request parameter contains "photo_album_id" and returns the ID of the photo album for this event, if one exists

>

rsvp_rules: Conditions set by the organizer, only returned if requested in the fields parameter.,[object Object]

>

visibility: Event visibility: "public", "members" or "public_limited". Events in private groups that do not expose limited information are visible only to that group's members and should not be made public.

>

created: UTC creation time of the event, in milliseconds since the epoch

>

maybe_rsvp_count: Number of maybe RSVPs including guests

>

how_to_find_us: The information provided by the event host for "How will members find you there?". Visible when location is visible to the authenticated member

>

event_url: URL of the event's page on meetup.com

>

announced: Organizers and hosts can see if the event was announced

>

photo_count: Returned when fields request parameter contains "photo_count" and represents number of photos posted to the event

>

rsvpable: Indicates if the currently authenticated member can RSVP or not, only returned if requested in the fields parameter

>

name: The name of the event

>

self: Returned when fields request parameter contains "self" and represents details particular to the authorized user, only present if requested and user is a member of the hosting group,[object Object]

>

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

>

updated: UTC last modified time of the event, in milliseconds since the epoch

>

trending_rank: Indicates the trending rank within the current result set. The best rank is zero, increasing rank values are less "trending". This value is only returned if requested in the fields parameter

>

status: "cancelled", "upcoming", "past", "proposed", "suggested" or "draft"

service_status: An optional field which represents the current API service status

>

message: A human displayable message

>

status: May be one of 'ok', 'notice', or 'unavailable'

ongoing_event: The meetup event the current member has RSVP'd to that's currently happening

>

utc_offset: The local offset from UTC time, in milliseconds

>

comment_count: Returned when fields request parameter contains "comment_count" and represents number of comments posted to the event

>

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

>

venue: Venue, if selected and not hidden,[object Object]

>

featured: Returned when fields request parameter contains "featured" and returns "true" if the event is featured and "false" otherwise

>

headcount: The number of members in attendance according to the attendance taker. This may be 0 if attendance has not yet been taken

>

survey_questions: Returned when fields request parameter contains "survey_questions" for events with surveys,[object Object]

>

announced_at: Organizers and hosts can see when the event as announced in milliseconds since the epoch

>

distance: Distance in miles from the search location, if one was specified

>

venue_visibility: Set to "members" or "public". The "venue" element will not be present if the visibility is "members" and the current authenticated user is not a member of the group hosting the event. This value is only returned if requested in the fields parameter

>

timezone: Returned when fields request parameter contains "timezone". This represents the universal timezone identifier for the host group

>

fee: Fee info returned when payment is defined,[object Object]

>

rating: Only past events have this field, an aggregate of anonymous ratings,[object Object]

>

why: We should do this because...

>

description: Description of the event.

>

is_simplehtml: Optional field, "true" when the event has been saved in a simplified HTML format, "false" otherwise.

>

short_link: Returned when fields request parameter contains "short_link". If hosting group is private, this will return the group's short_link

>

yes_rsvp_count: Number of yes RSVPs including guests

>

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_hosts: List of members hosting the event, only returned if requested in the fields parameter.,[object Object]

>

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

>

simple_html_description: Optional field, description of the event in simple HTML format.

>

photo_url: URL of the event photo, if one exists

>

publish_status: "published" or "draft" only visible to organizers

>

group: Group that is hosting the event,[object Object]

>

rsvp_alerts: Returned when fields request parameter contains "rsvp_alerts" and is limited to organizers and event hosts, if false, member RSVP alerts are disabled

>

email_reminders: Returned when fields request parameter contains "email_reminders" and is limited to organizers and event hosts, if false, event reminders are disabled

>

photo_album_id: Returned when fields request parameter contains "photo_album_id" and returns the ID of the photo album for this event, if one exists

>

rsvp_rules: Conditions set by the organizer, only returned if requested in the fields parameter.,[object Object]

>

visibility: Event visibility: "public", "members" or "public_limited". Events in private groups that do not expose limited information are visible only to that group's members and should not be made public.

>

created: UTC creation time of the event, in milliseconds since the epoch

>

maybe_rsvp_count: Number of maybe RSVPs including guests

>

how_to_find_us: The information provided by the event host for "How will members find you there?". Visible when location is visible to the authenticated member

>

event_url: URL of the event's page on meetup.com

>

announced: Organizers and hosts can see if the event was announced

>

photo_count: Returned when fields request parameter contains "photo_count" and represents number of photos posted to the event

>

rsvpable: Indicates if the currently authenticated member can RSVP or not, only returned if requested in the fields parameter

>

name: The name of the event

>

self: Returned when fields request parameter contains "self" and represents details particular to the authorized user, only present if requested and user is a member of the hosting group,[object Object]

>

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

>

updated: UTC last modified time of the event, in milliseconds since the epoch

>

trending_rank: Indicates the trending rank within the current result set. The best rank is zero, increasing rank values are less "trending". This value is only returned if requested in the fields parameter

>

status: "cancelled", "upcoming", "past", "proposed", "suggested" or "draft"

notifications: Optional field for including a list of member notifications

>

read: True or False indicating whether a notification has been read by the person it was sent to

>

kind: Identifier indicating the kind of notification. These may be one of comment, custom, donation_expire_notice, donation_potential_payment, dues, dues_confirm, dues_trial_notice, event_announce, event_announce_to_orgs, event_announce_untrusted, event_cancel, event_change, event_reminder, external_url, group_announce, group_announce_push, host_ping, join, like, org_approve, photo, photo_tag, reply, rsvp, rsvp_confirm, spot_open, webview_url

>

link: Link to resource notification was triggered by

>

photo: A photo related to the notifications. Potentially absent,[object Object]

>

setting: The setting that controls the member's preference for receiving sendings of this kind of notification,[object Object]

>

target: kind specific properties which may be used to navigate back to the source of the notification,[object Object]

>

important: True or False indicating a notification's level of importance

>

photo_type: Type of photo, event or member

>

self: Information pertaining the authorized member associated with this notification,[object Object]

>

text: Notification content as text

>

id: A unique identifier for a notification

>

updated: The last time the notification was modified, indicated as the time in milliseconds since the epoch

next_event: The next meetup event the current member has RSVP'd to

>

utc_offset: The local offset from UTC time, in milliseconds

>

comment_count: Returned when fields request parameter contains "comment_count" and represents number of comments posted to the event

>

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

>

venue: Venue, if selected and not hidden,[object Object]

>

featured: Returned when fields request parameter contains "featured" and returns "true" if the event is featured and "false" otherwise

>

headcount: The number of members in attendance according to the attendance taker. This may be 0 if attendance has not yet been taken

>

survey_questions: Returned when fields request parameter contains "survey_questions" for events with surveys,[object Object]

>

announced_at: Organizers and hosts can see when the event as announced in milliseconds since the epoch

>

distance: Distance in miles from the search location, if one was specified

>

venue_visibility: Set to "members" or "public". The "venue" element will not be present if the visibility is "members" and the current authenticated user is not a member of the group hosting the event. This value is only returned if requested in the fields parameter

>

timezone: Returned when fields request parameter contains "timezone". This represents the universal timezone identifier for the host group

>

fee: Fee info returned when payment is defined,[object Object]

>

rating: Only past events have this field, an aggregate of anonymous ratings,[object Object]

>

why: We should do this because...

>

description: Description of the event.

>

is_simplehtml: Optional field, "true" when the event has been saved in a simplified HTML format, "false" otherwise.

>

short_link: Returned when fields request parameter contains "short_link". If hosting group is private, this will return the group's short_link

>

yes_rsvp_count: Number of yes RSVPs including guests

>

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_hosts: List of members hosting the event, only returned if requested in the fields parameter.,[object Object]

>

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

>

simple_html_description: Optional field, description of the event in simple HTML format.

>

photo_url: URL of the event photo, if one exists

>

publish_status: "published" or "draft" only visible to organizers

>

group: Group that is hosting the event,[object Object]

>

rsvp_alerts: Returned when fields request parameter contains "rsvp_alerts" and is limited to organizers and event hosts, if false, member RSVP alerts are disabled

>

email_reminders: Returned when fields request parameter contains "email_reminders" and is limited to organizers and event hosts, if false, event reminders are disabled

>

photo_album_id: Returned when fields request parameter contains "photo_album_id" and returns the ID of the photo album for this event, if one exists

>

rsvp_rules: Conditions set by the organizer, only returned if requested in the fields parameter.,[object Object]

>

visibility: Event visibility: "public", "members" or "public_limited". Events in private groups that do not expose limited information are visible only to that group's members and should not be made public.

>

created: UTC creation time of the event, in milliseconds since the epoch

>

maybe_rsvp_count: Number of maybe RSVPs including guests

>

how_to_find_us: The information provided by the event host for "How will members find you there?". Visible when location is visible to the authenticated member

>

event_url: URL of the event's page on meetup.com

>

announced: Organizers and hosts can see if the event was announced

>

photo_count: Returned when fields request parameter contains "photo_count" and represents number of photos posted to the event

>

rsvpable: Indicates if the currently authenticated member can RSVP or not, only returned if requested in the fields parameter

>

name: The name of the event

>

self: Returned when fields request parameter contains "self" and represents details particular to the authorized user, only present if requested and user is a member of the hosting group,[object Object]

>

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

>

updated: UTC last modified time of the event, in milliseconds since the epoch

>

trending_rank: Indicates the trending rank within the current result set. The best rank is zero, increasing rank values are less "trending". This value is only returned if requested in the fields parameter

>

status: "cancelled", "upcoming", "past", "proposed", "suggested" or "draft"

Chunked HTTP RSVP Stream

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.

meetup.getRSVPs(parameters, function(err, resp) {
	console.log(err, resp);
});

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_mtime: Return recent RSVP with an mtime greater than the supplied time, in milliseconds since the epoch

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.

Errors

connection_limit: the client IP has exceeded its maximum number of connections

Response

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

Watchlist remove

Remove yourself from an event watch list

meetup.deleteEventsWatchlist(parameters, function(err, resp) {
	console.log(err, resp);
});

Request Parameters

No parameters are required. You should only call this method if you request the fields parameter 'self' in any events methods and get back a self.actions field containing 'unwatch'

*urlname: Group URL Name

*id: Resource ID

Response

A successful watchlist removal will result in the json message {"status":"not_watching"}. You may optionally send a fields parameter with the value of "self" to fetch rsvp_actions for the authenticated member

Watchlist add

Add yourself to an event watch list to get notified when a spot becomes available

meetup.postEventsWatchlist(parameters, function(err, resp) {
	console.log(err, resp);
});

Request Parameters

No parameters are required. You should only call this method if you request the fields parameter 'self' in any events methods and get back a self.actions field containing 'watch'

*urlname: Group URL Name

*id: Resource ID

Response

A successful add will result in the json message {"status":"watching"}

Comments

This method returns messages that appear under "Talk about this Meetup". To post messages, see the corresponding write method.

meetup.getEventComments(parameters, function(err, resp) {
	console.log(err, resp);
});

Request Parameters

At least one of the required parameters must be supplied with the request.

*comment_id: Return comments for a given set of comment IDs, separated by commas

*member_id: Return comments for the given member_ids, separated by commas

fields: Optionally accepts the value "member_photo" or "notifications"

*group_id: Return comments in groups with these ID numbers, separated by commas

*event_id: Return comments on these events, separated by commas.

Ordering

name: Order by the name of the member

thread: Order by comment threads, those with the most recent activity are listed first. Only one event may be provided and desc not supported. Also note that with this ordering, *replies* are excluded from pagination accounting. Only top-level comments will be capped at the page size.

time: Order by the time that each rating was posted (default: descending)

Response

member_id: The ID of the member that posted the comment. May be 0 for former members

like_count: optional fields parameter which adds the number of likes this comment has received

member_photo: If the optional "fields" parameter contains "member_photo", the member photo associated with the comment

>

photo_id: ID of the photo

>

photo_link: URL for the standard sized photo

>

thumb_link: URL for the thumbnail sized photo

>

hires_link: URL for the original sized photo

comment_url: URL for the event comment on meetup.com

member_name: The name of the member that posted the comment. May be "Former Member" for former members

in_reply_to: If this is a reply, the ID of the comment replied to

event_comment_id: The ID of this comment

event_id: The string ID of the event the comment belongs to

group_id: The ID of the group that the event belongs to

self: Optional field with details particular to the authorized user, only present if requested and user is a member of the hosting group

>

actions: list of actions the current user may perform on this comment, potentially: 'flag_spam', 'delete', 'like' or 'unlike'

comment: The comment the member left for the event

event: Optional field, basic info on event associated with comment

>

name: Name of the event

>

id: String ID of the event

>

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

>

event_url: URL of the event's page on meetup.com

notifications: optional fields parameter to append the authorized member's current notification preference for the given comment

Event Comment

This method posts messages that appear under "Talk about this Meetup".

meetup.postEventComment(parameters, function(err, resp) {
	console.log(err, resp);
});

Request Parameters

All of the required parameters must be supplied with the request, which must be an HTTP POST. The currently authenticated user must be a member of the group hosting the event

*comment: The comment text

*in_reply_to: If this comment is a reply, the ID of the comment being replied to

notifications: Notification control for authorized member on this comment thread. "on" will result in notifications being sent. "off" will opt the member out of notifications for this comment thread. Defaults to "on" unless the member previous opted out of notifications on the thread.

*event_id: The event related to this comment.

Response

If successful, this method responds with a "201 Created" status and a JSON or XML body consisting of the posted comment in the same fields as the response items of the Event Comment Get method.

Event Comment Get

Retrieve a single event comment or reply

meetup.getEventComment(parameters, function(err, resp) {
	console.log(err, resp);
});

Request Parameters

Only authorization parameters are needed.

fields: comma-separate list of optional fields

*id: Resource ID

Response

member_id: The ID of the member that posted the comment. May be 0 for former members

like_count: optional fields parameter which adds the number of likes this comment has received

member_photo: If the optional "fields" parameter contains "member_photo", the member photo associated with the comment

>

photo_id: ID of the photo

>

photo_link: URL for the standard sized photo

>

thumb_link: URL for the thumbnail sized photo

>

hires_link: URL for the original sized photo

comment_url: URL for the event comment on meetup.com

member_name: The name of the member that posted the comment. May be "Former Member" for former members

in_reply_to: If this is a reply, the ID of the comment replied to

event_comment_id: The ID of this comment

event_id: The string ID of the event the comment belongs to

replies: Optional fields parameter returning array of the last 20 replies to comment

group_id: The ID of the group that the event belongs to

self: Optional field with details particular to the authorized user, only present if requested and user is a member of the hosting group

>

actions: list of actions the current user may perform on this comment, potentially: 'flag_spam', 'delete', 'like' or 'unlike'

comment: The comment the member left for the event

event: Optional field, basic info on event associated with comment

>

name: Name of the event

>

id: String ID of the event

>

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

>

event_url: URL of the event's page on meetup.com

notifications: optional fields parameter to append the authorized member's current notification preference for the given comment

Event Comment Delete

Delete a single event comment or reply

meetup.deleteEventComment(parameters, function(err, resp) {
	console.log(err, resp);
});

Request Parameters

Only authorization parameters are needed.

fields: comma-separate list of optional fields

*id: Resource ID

Response

Returns an HTTP 200 response if delete was successful, 401 if unauthorized.

Event Comment Flag

This method creates a spam report for comment content

meetup.postEventCommentFlag(parameters, function(err, resp) {
	console.log(err, resp);
});

Request Parameters

All required parameters must be supplied.

*comment_id: The id of the comment

reason: Reason for flagging the comment. May be one of inappropriate, spam

Response

If successful, this method returns a 202 Accepted response.

Event Comment Unsubscribe

Unsubscribe to notifications for updates to a given comment thread

meetup.deleteEventCommentSubscribe(parameters, function(err, resp) {
	console.log(err, resp);
});

Request Parameters

Only authorization parameters are needed. :id in the path should be the id of comment being replied to which you are unsubscribing to notifications from

*id: Resource ID

Response

Returns an HTTP 200 response if delete was successful, 401 if unauthorized.

Event Comment Subscribe

Subscribe to notifications on updates to a given comment thread

meetup.postEventCommentSubscribe(parameters, function(err, resp) {
	console.log(err, resp);
});

Request Parameters

Only authorization parameters are needed. :id in the path should be id of comment being replied to which you are subscribing to notifications for

*id: Resource ID

Response

Returns an HTTP 200 response if delete was successful, 401 if unauthorized.

Event Comment Like

Like a given Event comment

meetup.postEventCommentLike(parameters, function(err, resp) {
	console.log(err, resp);
});

Request Parameters

Only authorization parameters are needed. :id in the path should be the id of the comment you are liking

*id: Resource ID

Response

Returns an HTTP 200 response if delete was successful, 401 if unauthorized.

Event Comment Unlike

Unlike a given Event comment

meetup.deleteEventCommentLike(parameters, function(err, resp) {
	console.log(err, resp);
});

Request Parameters

Only authorization parameters are needed. :id in the path should be the id of the comment you are unliking

*id: Resource ID

Response

Returns an HTTP 200 response if delete was successful, 401 if unauthorized.

Comment Likes

Api for listing likes of a given event comment

meetup.getEventCommentLikes(parameters, function(err, resp) {
	console.log(err, resp);
});

Request Parameters

At least one of the required parameters must be supplied with the request.

*comment_id: Return likes for a given comment_id

Ordering

created: Order by the time the member liked like comment (default: descending)

Response

member: member who liked the comment

>

member_id: Member's ID

>

member_state: Optional field

>

member_city: Optional field

>

name: Name of the member

>

photo: if available, the member's photo,[object Object]

>

member_country: Optional field

event_comment_id: ID of the comment liked

created: UTC creation time of the event, in milliseconds since the epoch

OpenEvents

Searches for recent and upcoming public events hosted by Meetup groups. Its search window is the past one month through the next three months, and is subject to change. Open Events is optimized to search for current events by location, category, topic, or text, and only lists Meetups that have 3 or more RSVPs. The number or results returned with each request is not guaranteed to be the same as the page size due to secondary filtering. If you're looking for a particular event or events within a particular group, use the standard Events method.

meetup.getStreamOpenEvents(parameters, function(err, resp) {
	console.log(err, resp);
});

Request Parameters

At least one of the required parameter(s) must be supplied with the request.

For geo-based requests, you may provide a location in one of three ways. By lat and lon, by zip, or by country, city, and optionally a state, if the provided country has states.

Some groups, while remaining private, still wish to show some information about their events. You can include these events in results using the limited_events request parameter.

and_text: Changes the interpretation of the "text" field from OR'd terms to AND'd terms

*lat: A valid latitude, limits the returned group events to those within radius miles

*zip: A valid US zip code, limits the returned groups to those within radius miles

*country: A valid country code

*topic: Return events in the specified topic or topics specified by commas. This is the topic "urlkey" returned by the Topics method. If all supplied topics are unknown, a 400 error response is returned with the code "badtopic".

*city: A valid city

limited_events: Include limited event information for private groups that wish to expose only a small amount of information about their events. This includes just: id, name, utc_offset, time, duration, yes_rsvp_count, waitlist_count, group, visibility, timezone. Value must be true or false.

text_format: Format of the description text, "html" or "plain". Defaults to "html"

*state: If searching in a country with states, a valid 2 character state code

*text: Events that contain the given term or terms somewhere in their content. The terms are OR'd by default. Separate terms with " AND " for events that have combined terms. To have terms automatically AND'd, set the "and_text" to true

*category: Return events in the specified category or categories specified by commas. This is the category id returned by the Categories method.

*lon: A valid longitude, limits the returned group events to those within radius miles

time: Return events scheduled within the given time range, defined by two times separated with a single comma. Each end of the range may be specified with relative dates, such as "1m" for one month from now, or by absolute time in milliseconds since the epoch. If an endpoint is omitted, the range is unbounded on that end. The default value is unbounded on both ends (though restricted to the search window described above). Note: to retrieve past events you must also update status value

radius: Radius, in miles for geographic requests, default 25.0 -- maximum 100. May also be specified as "smart", a dynamic radius based on the number of active groups in the area

fields: Request that additional fields (separated by commas) be included in the output

status: Status may be "upcoming", "past" or both separated by a comma. The default is "upcoming" only

Ordering

trending: you will likely want to specify "desc=true" to get the best trending results first.

time: (default order) ascending

distance: ordering is approximate and will not exactly match the values in the "distance" field.

Response

utc_offset: The local offset from UTC time, in milliseconds

comment_count: Returned when fields request parameter contains "comment_count" and represents number of comments posted to the event

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

venue: Venue, if selected and not hidden

>

zip: ZIP code if, venue is in US or Canada

>

lat, lon: Geographic coordinates of venue

>

phone: Phone number of venue

>

address_1: Line 1 of venue address

>

city, state, country: City, Country and if in US state of venue

>

address_2: Line 2 of venue address

>

address_3: Line 3 of venue address

>

name: Venue name

>

id: Venue id

>

repinned: true if the editor of the event altered the original venues pin location, false otherwise

featured: Returned when fields request parameter contains "featured" and returns "true" if the event is featured and "false" otherwise

headcount: The number of members in attendance according to the attendance taker. This may be 0 if attendance has not yet been taken

survey_questions: Returned when fields request parameter contains "survey_questions" for events with surveys

>

id: Question identifier

>

question: Question text

>

required: Flag indicating if a response to this question is required to RSVP. Currently always false.

announced_at: Organizers and hosts can see when the event as announced in milliseconds since the epoch

distance: Distance in miles from the search location, if one was specified

venue_visibility: Set to "members" or "public". The "venue" element will not be present if the visibility is "members" and the current authenticated user is not a member of the group hosting the event. This value is only returned if requested in the fields parameter

timezone: Returned when fields request parameter contains "timezone". This represents the universal timezone identifier for the host group

fee: Fee info returned when payment is defined

>

amount: Amount of the fee

>

accepts: Accepted method of payment. Can be one of "paypal", "amazon", or "cash"

>

description: Fee description, typically "per person"

>

currency: Currency accepted for fee

>

label: Fee label, typically "Price"

>

required: "1" if payment is required to RSVP, "0" otherwise

rating: Only past events have this field, an aggregate of anonymous ratings

>

count: Number of ratings been collected

>

average: Average of collected ratings

why: We should do this because...

description: Description of the event.

is_simplehtml: Optional field, "true" when the event has been saved in a simplified HTML format, "false" otherwise.

short_link: Returned when fields request parameter contains "short_link". If hosting group is private, this will return the group's short_link

yes_rsvp_count: Number of yes RSVPs including guests

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_hosts: List of members hosting the event, only returned if requested in the fields parameter.

>

member_id: The host's member id

>

member_name: The host's member name

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

simple_html_description: Optional field, description of the event in simple HTML format.

photo_url: URL of the event photo, if one exists

publish_status: "published" or "draft" only visible to organizers

group: Group that is hosting the event

>

topics: Optional field. Topics related to this group,[object Object]

>

created: Date and time that the group was founded, in milliseconds since the epoch

>

group_lon: Approximate group longitude

>

group_photo: Returned when fields request parameter contains "group_photo" and represents photo for the group hosting the event,[object Object]

>

join_mode: "open", "approval", or "closed"

>

approved: Returned when fields request parameter contains "group_approved". True if this group has been approved. New groups are generally approved (or removed) soon after creation.

>

name: Group name

>

self: Returned when fields request parameter contains 'self_membership_dues' or 'group_status',[object Object]

>

id: Group id

>

category: Optional field. Category of this group,[object Object]

>

urlname: Group URL name

>

membership_dues: Returned when fields request parameter contains "group_membership_dues",[object Object]

>

group_lat: Approximate group latitude

>

who: What the group calls its members

rsvp_alerts: Returned when fields request parameter contains "rsvp_alerts" and is limited to organizers and event hosts, if false, member RSVP alerts are disabled

email_reminders: Returned when fields request parameter contains "email_reminders" and is limited to organizers and event hosts, if false, event reminders are disabled

photo_album_id: Returned when fields request parameter contains "photo_album_id" and returns the ID of the photo album for this event, if one exists

rsvp_rules: Conditions set by the organizer, only returned if requested in the fields parameter.

>

refund_policy: The organizer-defined terms for refunds. If this is defined, you must provide the authenticated member a way to access this information before they can RSVP. They will need to agree to these terms before they RSVP,[object Object]

>

open_time: UTC time that members may begin to RSVP

>

closed: Flag indicating that RSVPing is closed for the event. 1 is true 0 is false

>

guest_limit: Number of guests members may include in their RSVP, 0 or more

>

waitlisting: Wait list handling when RSVP limit is reached. Value may be one of "auto", "manual" or "off"

>

close_time: UTC time that RSVPs will no longer be accepted, though organizers may close RSVPs earlier

visibility: Event visibility: "public", "members" or "public_limited". Events in private groups that do not expose limited information are visible only to that group's members and should not be made public.

created: UTC creation time of the event, in milliseconds since the epoch

maybe_rsvp_count: Number of maybe RSVPs including guests

how_to_find_us: The information provided by the event host for "How will members find you there?". Visible when location is visible to the authenticated member

event_url: URL of the event's page on meetup.com

announced: Organizers and hosts can see if the event was announced

photo_count: Returned when fields request parameter contains "photo_count" and represents number of photos posted to the event

rsvpable: Indicates if the currently authenticated member can RSVP or not, only returned if requested in the fields parameter

name: The name of the event

self: Returned when fields request parameter contains "self" and represents details particular to the authorized user, only present if requested and user is a member of the hosting group

>

rated: Boolean indicator of whether the current member rated the event or not

>

pay_status: The authenticated member's payment status. This may be one of 'none', 'paid', 'partially_paid', 'payment_pending', 'echeck_pending', 'refund_pending', 'partially_refunded', 'refunded'.

>

role: The authenticated member's role in within the group, if any. This may be one of: Organizer, Assistant Organizer, Event Organizer, etc.

>

watching: For events without waitlist you may check your watchlist status with this property. Values may either be true of false.

>

actions: list of actions the current user may perform, potentially: "announce" to announce the event to the group's members, "attendance" to view or take attendance for the event, "payments" to mark members as paid if the event is a paid event, "publish" to publish a draft event, "edit" to edit the event information, "edit_hosts" to edit the hosts for the event, "delete" to delete the event, "rsvp" to RSVP yes or no to the event, or "wait" to get on the waiting list (using the same RSVP methods). For events without a waitlist, you may see either "watch" or "unwatch" to watch for opening spots for the event when the event is full. If an organizer requires membership dues to rsvp and the authorized member has not paid theirs, "dues" will be included

>

rsvp: Member's RSVP, if any,[object Object]

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

updated: UTC last modified time of the event, in milliseconds since the epoch

trending_rank: Indicates the trending rank within the current result set. The best rank is zero, increasing rank values are less "trending". This value is only returned if requested in the fields parameter

status: "cancelled", "upcoming", "past", "proposed", "suggested" or "draft"

Attendance Taking

Takes Member attendance for an Event. Limited for use by administrative members.

meetup.takeEventAttendance(parameters, function(err, resp) {
	console.log(err, resp);
});

Request Parameters

The urlname parameter may be any valid group urlname or domain name. The id parameter must be a valid alphanumeric Meetup event identifier. Highlighted fields are required.

guests: The number of guests accompanying member. Maximum of 99 is allowed. When providing multiple values in the `member` field, this value is ignored

headcount: Sets the overall headcount for the event. This may not necessarily correlate with the list of attendees in this group if the event is part of a joint Meetup event. When providing multiple values in the `member` field, this value is ignored

*member: A valid IDs of members of the group hosting the event

*status: An attendance status for the provided members. Must be one of: noshow, absent, attended

*urlname: Group URL Name

*id: Resource ID

Response

If successful, this method will return a 200 response with a JSON-encoded success message, otherwise failures will result a 400 response

Ratings

API method for accessing Meetup comments

meetup.getEventRatings(parameters, function(err, resp) {
	console.log(err, resp);
});

Request Parameters

At least one of the required parameters must be supplied with the request.

member_id: The ID of a member to filter ratings on

*event_id: The ID of the event to fetch ratings data for

Ordering

rating: Order by the value for each rating posted

time: Order by the time that each rating was posted

Response

member_id: id of the member leaving the review

event_id: The string ID of the event

group_id: The ID of the group that the event belongs to

rating: Only present if the authenticated member is the reviewer; number of stars given

time: The date/time that the review was created

member_name: name of member leaving th review

Event Rating

This method allows members to posts rating for an event after it's occurred. Only permitted for members who rsvp'd "yes" or "maybe" to the event

meetup.postEventRating(parameters, function(err, resp) {
	console.log(err, resp);
});

Request Parameters

attendee_count: The number of attendees for the event (organizers/assistant organizers/co-organizers/event organizers/event hosts only)

*rating: The member's rating (either 1, 2, 3, 4, or 5)

*event_id: The ID of the event to fetch ratings data for

Response

rating: The overall average rating of the event

event_id: The string ID of the event

time: The time that the event was created

group_id: The ID of the group

rating_count: The number of reviews posted for the event

Attendance

Lists attendance records for Meetup events. Limited for use by administrative members.

meetup.getEventAttendance(parameters, function(err, resp) {
	console.log(err, resp);
});

Request Parameters

The urlname parameter may be any valid group urlname or domain name. The id parameter must be a valid alphanumeric Meetup event identifier

filter: A named filter to apply to the attendance list. These are roughly equivalent to the set of filters you will see in the attendance tool on the site. These filters correspond with attendance records as well as each member's original RSVP status. The filter value be one of: maybe, waitlist, yes, absent, all, attended, noshow, excused, no. The default is 'attended'. The 'absent' filter represents all members not in attendance including members with a 'noshow' status. An 'excused' absence is an absent member marked as such by an administrative member

member: Raw text used to search for member by name. This may only be applied when the filter parameter is set to 'all'. The provided text must consist of at least 2 characters.

*urlname: Group URL Name

*id: Resource ID

Response

member: Member in or not in attendance

>

name: Name of the member

>

photo: Member's photo, if available,[object Object]

>

id: Numeric member ID

rsvp: RSVP, if member originally RSVP'd

>

guests: number of guests

>

response: Member's original RSVP response. May be one of: maybe, waitlist, yes, no, havent

status: The member's attendance status. May be one of: noshow, absent, attended

Concierge

Recommends upcoming meetups for the authorized member in a given location and in thier groups

meetup.getConcierge(parameters, function(err, resp) {
	console.log(err, resp);
});

Request Parameters

For geo-based requests, you may provide a location in one of three ways. By lat and lon, by zip, or by country, city, and optionally a state, if the provided country has states.

If the server is unable to produce recommendations in a suitable amount of time, a 503 error will be returned. If no parameters are specified, Meetups are recommended for the upcoming week in the member's default location.

Pagination works a little differently in this method than in others. Rather than using "offset" and "page" request parameters, this method uses an opaque "page_token" request parameter to determine the page of results returned. If there are more results, the "next" property of the meta section of the response will contain the next page's page_token. The number of results returned is not deterministic but a best-effort attempt will be made to return at least some.

zip: A valid US zip code, limits the returned groups to those within radius miles

country: A valid country code

city: A valid city

lon: A valid longitude, limits the returned group events to those within radius miles

text_format: Format of the description text, "html", "plain", or "simplehtml". Defaults to "html"

category_id: Comma delimited list of category ids to limit recommendations to

page_token: An opaque string used to page through results. This can be found appended to the 'next' link in the meta section of the response.

state: If searching in a country with states, a valid 2 character state code

time: Return events scheduled within the given time range, defined by two times separated with a single comma. Each end of the range may be specified with relative dates, such as "1m" for one month from now, or by absolute time in milliseconds since the epoch. If an endpoint is omitted, the range is unbounded on that end. The default value is unbounded on both ends (though restricted to the search window described above). Note: to retrieve past events you must also update status value

topic_id: Comma delimited list of topics to help inform recommendation

radius: Radius, in miles for geographic requests, defaults to the member's preferred radius or 0.5 -- maximum 100. May also be specified as "smart", a dynamic radius based on the number of active groups in the area

fields: Request that additional fields (separated by commas) be included in the output

with_friends: Boolean parameter. When set to true, events hosted by groups you have friends in will be recommended

self_groups: set to "include" or "exclude" groups the authorized member belongs to. The default is "include". This includes groups in locations that may differ than the provided location

lat: A valid latitude, limits the returned group events to those within radius miles

Ordering

time: ascending time is the default and only ordering

Response

utc_offset: The local offset from UTC time, in milliseconds

comment_count: Returned when fields request parameter contains "comment_count" and represents number of comments posted to the event

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

venue: Venue, if selected and not hidden

>

zip: ZIP code if, venue is in US or Canada

>

lat, lon: Geographic coordinates of venue

>

phone: Phone number of venue

>

address_1: Line 1 of venue address

>

city, state, country: City, Country and if in US state of venue

>

address_2: Line 2 of venue address

>

address_3: Line 3 of venue address

>

name: Venue name

>

id: Venue id

>

repinned: true if the editor of the event altered the original venues pin location, false otherwise

featured: Returned when fields request parameter contains "featured" and returns "true" if the event is featured and "false" otherwise

headcount: The number of members in attendance according to the attendance taker. This may be 0 if attendance has not yet been taken

survey_questions: Returned when fields request parameter contains "survey_questions" for events with surveys

>

id: Question identifier

>

question: Question text

>

required: Flag indicating if a response to this question is required to RSVP. Currently always false.

announced_at: Organizers and hosts can see when the event as announced in milliseconds since the epoch

distance: Distance in miles from the search location, if one was specified

venue_visibility: Set to "members" or "public". The "venue" element will not be present if the visibility is "members" and the current authenticated user is not a member of the group hosting the event. This value is only returned if requested in the fields parameter

timezone: Returned when fields request parameter contains "timezone". This represents the universal timezone identifier for the host group

fee: Fee info returned when payment is defined

>

amount: Amount of the fee

>

accepts: Accepted method of payment. Can be one of "paypal", "amazon", or "cash"

>

description: Fee description, typically "per person"

>

currency: Currency accepted for fee

>

label: Fee label, typically "Price"

>

required: "1" if payment is required to RSVP, "0" otherwise

rating: Only past events have this field, an aggregate of anonymous ratings

>

count: Number of ratings been collected

>

average: Average of collected ratings

why: We should do this because...

description: Description of the event.

is_simplehtml: Optional field, "true" when the event has been saved in a simplified HTML format, "false" otherwise.

short_link: Returned when fields request parameter contains "short_link". If hosting group is private, this will return the group's short_link

yes_rsvp_count: Number of yes RSVPs including guests

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_hosts: List of members hosting the event, only returned if requested in the fields parameter.

>

member_id: The host's member id

>

member_name: The host's member name

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

simple_html_description: Optional field, description of the event in simple HTML format.

photo_url: URL of the event photo, if one exists

publish_status: "published" or "draft" only visible to organizers

group: Group that is hosting the event

>

topics: Optional field. Topics related to this group,[object Object]

>

created: Date and time that the group was founded, in milliseconds since the epoch

>

group_lon: Approximate group longitude

>

group_photo: Returned when fields request parameter contains "group_photo" and represents photo for the group hosting the event,[object Object]

>

join_mode: "open", "approval", or "closed"

>

approved: Returned when fields request parameter contains "group_approved". True if this group has been approved. New groups are generally approved (or removed) soon after creation.

>

name: Group name

>

self: Returned when fields request parameter contains 'self_membership_dues' or 'group_status',[object Object]

>

id: Group id

>

category: Optional field. Category of this group,[object Object]

>

urlname: Group URL name

>

membership_dues: Returned when fields request parameter contains "group_membership_dues",[object Object]

>

group_lat: Approximate group latitude

>

who: What the group calls its members

rsvp_alerts: Returned when fields request parameter contains "rsvp_alerts" and is limited to organizers and event hosts, if false, member RSVP alerts are disabled

email_reminders: Returned when fields request parameter contains "email_reminders" and is limited to organizers and event hosts, if false, event reminders are disabled

photo_album_id: Returned when fields request parameter contains "photo_album_id" and returns the ID of the photo album for this event, if one exists

rsvp_rules: Conditions set by the organizer, only returned if requested in the fields parameter.

>

refund_policy: The organizer-defined terms for refunds. If this is defined, you must provide the authenticated member a way to access this information before they can RSVP. They will need to agree to these terms before they RSVP,[object Object]

>

open_time: UTC time that members may begin to RSVP

>

closed: Flag indicating that RSVPing is closed for the event. 1 is true 0 is false

>

guest_limit: Number of guests members may include in their RSVP, 0 or more

>

waitlisting: Wait list handling when RSVP limit is reached. Value may be one of "auto", "manual" or "off"

>

close_time: UTC time that RSVPs will no longer be accepted, though organizers may close RSVPs earlier

visibility: Event visibility: "public", "members" or "public_limited". Events in private groups that do not expose limited information are visible only to that group's members and should not be made public.

created: UTC creation time of the event, in milliseconds since the epoch

maybe_rsvp_count: Number of maybe RSVPs including guests

how_to_find_us: The information provided by the event host for "How will members find you there?". Visible when location is visible to the authenticated member

event_url: URL of the event's page on meetup.com

announced: Organizers and hosts can see if the event was announced

photo_count: Returned when fields request parameter contains "photo_count" and represents number of photos posted to the event

rsvpable: Indicates if the currently authenticated member can RSVP or not, only returned if requested in the fields parameter

name: The name of the event

self: Returned when fields request parameter contains "self" and represents details particular to the authorized user, only present if requested and user is a member of the hosting group

>

rated: Boolean indicator of whether the current member rated the event or not

>

pay_status: The authenticated member's payment status. This may be one of 'none', 'paid', 'partially_paid', 'payment_pending', 'echeck_pending', 'refund_pending', 'partially_refunded', 'refunded'.

>

role: The authenticated member's role in within the group, if any. This may be one of: Organizer, Assistant Organizer, Event Organizer, etc.

>

watching: For events without waitlist you may check your watchlist status with this property. Values may either be true of false.

>

actions: list of actions the current user may perform, potentially: "announce" to announce the event to the group's members, "attendance" to view or take attendance for the event, "payments" to mark members as paid if the event is a paid event, "publish" to publish a draft event, "edit" to edit the event information, "edit_hosts" to edit the hosts for the event, "delete" to delete the event, "rsvp" to RSVP yes or no to the event, or "wait" to get on the waiting list (using the same RSVP methods). For events without a waitlist, you may see either "watch" or "unwatch" to watch for opening spots for the event when the event is full. If an organizer requires membership dues to rsvp and the authorized member has not paid theirs, "dues" will be included

>

rsvp: Member's RSVP, if any,[object Object]

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

updated: UTC last modified time of the event, in milliseconds since the epoch

trending_rank: Indicates the trending rank within the current result set. The best rank is zero, increasing rank values are less "trending". This value is only returned if requested in the fields parameter

status: "cancelled", "upcoming", "past", "proposed", "suggested" or "draft"

Events

Access Meetup events using a group, member, or event id. Events in private groups are available only to authenticated members of those groups. To search events by topic or location, see Open Events.

meetup.getEvents(parameters, function(err, resp) {
	console.log(err, resp);
});

Request Parameters

At least one of the required parameter(s) must be supplied with the request. Some groups, while remaining private, still wish to show some information about their events. You can include these events in results using the limited_events request parameter.

*rsvp: Filters events by the currently authenticated member's RSVP status. May be a comma delimited list of "yes", "no", "waitlist", "maybe" or "none"

*group_urlname: Path to group from meetup.com, no slashes

*event_id: Multiple ids may be separated with commas

*group_id: Multiple ids may be separated with commas

limited_events: Include limited event information for private groups that wish to expose only a small amount of information about their events. This includes just: id, name, utc_offset, time, duration, yes_rsvp_count, waitlist_count, group, visibility, timezone. Value must be true or false.

text_format: Format of the description text, "html" or "plain". Defaults to "html"

*group_domain: Group custom domain

*venue_id: Multiple ids may be separated with commas

*member_id: Single member id, to find events in this member's groups

time: Return events scheduled within the given time range, defined by two times separated with a single comma. Each end of the range may be specified with relative dates, such as "1m" for one month from now, or by absolute time in milliseconds since the epoch. If an endpoint is omitted, the range is unbounded on that end. The default value is unbounded on both ends (though restricted to the search window described above). Note: to retrieve past events you must also update status value

fields: Request that additional fields (separated by commas) be included in the output

status: Status may be "upcoming", "past", "proposed", "suggested", "cancelled", "draft" or multiple separated by a comma. The default is "upcoming", which includes Meetups that are happening now according to their **duration**. Meetups that are "proposed" or "suggested" do not have a date assigned; the former are listed on the site as official while the latter appear as in the making. Drafts are only visible to organizers of groups hosting the events.

Ordering

time: (default order) ascending

Response

utc_offset: The local offset from UTC time, in milliseconds

comment_count: Returned when fields request parameter contains "comment_count" and represents number of comments posted to the event

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

venue: Venue, if selected and not hidden

>

zip: ZIP code if, venue is in US or Canada

>

lat, lon: Geographic coordinates of venue

>

phone: Phone number of venue

>

address_1: Line 1 of venue address

>

city, state, country: City, Country and if in US state of venue

>

address_2: Line 2 of venue address

>

address_3: Line 3 of venue address

>

name: Venue name

>

id: Venue id

>

repinned: true if the editor of the event altered the original venues pin location, false otherwise

featured: Returned when fields request parameter contains "featured" and returns "true" if the event is featured and "false" otherwise

headcount: The number of members in attendance according to the attendance taker. This may be 0 if attendance has not yet been taken

survey_questions: Returned when fields request parameter contains "survey_questions" for events with surveys

>

id: Question identifier

>

question: Question text

>

required: Flag indicating if a response to this question is required to RSVP. Currently always false.

announced_at: Organizers and hosts can see when the event as announced in milliseconds since the epoch

distance: Distance in miles from the search location, if one was specified

venue_visibility: Set to "members" or "public". The "venue" element will not be present if the visibility is "members" and the current authenticated user is not a member of the group hosting the event. This value is only returned if requested in the fields parameter

timezone: Returned when fields request parameter contains "timezone". This represents the universal timezone identifier for the host group

fee: Fee info returned when payment is defined

>

amount: Amount of the fee

>

accepts: Accepted method of payment. Can be one of "paypal", "amazon", or "cash"

>

description: Fee description, typically "per person"

>

currency: Currency accepted for fee

>

label: Fee label, typically "Price"

>

required: "1" if payment is required to RSVP, "0" otherwise

rating: Only past events have this field, an aggregate of anonymous ratings

>

count: Number of ratings been collected

>

average: Average of collected ratings

why: We should do this because...

description: Description of the event.

is_simplehtml: Optional field, "true" when the event has been saved in a simplified HTML format, "false" otherwise.

short_link: Returned when fields request parameter contains "short_link". If hosting group is private, this will return the group's short_link

yes_rsvp_count: Number of yes RSVPs including guests

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_hosts: List of members hosting the event, only returned if requested in the fields parameter.

>

member_id: The host's member id

>

member_name: The host's member name

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

simple_html_description: Optional field, description of the event in simple HTML format.

photo_url: URL of the event photo, if one exists

publish_status: "published" or "draft" only visible to organizers

group: Group that is hosting the event

>

topics: Optional field. Topics related to this group,[object Object]

>

created: Date and time that the group was founded, in milliseconds since the epoch

>

group_lon: Approximate group longitude

>

group_photo: Returned when fields request parameter contains "group_photo" and represents photo for the group hosting the event,[object Object]

>

join_mode: "open", "approval", or "closed"

>

approved: Returned when fields request parameter contains "group_approved". True if this group has been approved. New groups are generally approved (or removed) soon after creation.

>

name: Group name

>

self: Returned when fields request parameter contains 'self_membership_dues' or 'group_status',[object Object]

>

id: Group id

>

category: Optional field. Category of this group,[object Object]

>

urlname: Group URL name

>

membership_dues: Returned when fields request parameter contains "group_membership_dues",[object Object]

>

group_lat: Approximate group latitude

>

who: What the group calls its members

rsvp_alerts: Returned when fields request parameter contains "rsvp_alerts" and is limited to organizers and event hosts, if false, member RSVP alerts are disabled

email_reminders: Returned when fields request parameter contains "email_reminders" and is limited to organizers and event hosts, if false, event reminders are disabled

photo_album_id: Returned when fields request parameter contains "photo_album_id" and returns the ID of the photo album for this event, if one exists

rsvp_rules: Conditions set by the organizer, only returned if requested in the fields parameter.

>

refund_policy: The organizer-defined terms for refunds. If this is defined, you must provide the authenticated member a way to access this information before they can RSVP. They will need to agree to these terms before they RSVP,[object Object]

>

open_time: UTC time that members may begin to RSVP

>

closed: Flag indicating that RSVPing is closed for the event. 1 is true 0 is false

>

guest_limit: Number of guests members may include in their RSVP, 0 or more

>

waitlisting: Wait list handling when RSVP limit is reached. Value may be one of "auto", "manual" or "off"

>

close_time: UTC time that RSVPs will no longer be accepted, though organizers may close RSVPs earlier

visibility: Event visibility: "public", "members" or "public_limited". Events in private groups that do not expose limited information are visible only to that group's members and should not be made public.

created: UTC creation time of the event, in milliseconds since the epoch

maybe_rsvp_count: Number of maybe RSVPs including guests

how_to_find_us: The information provided by the event host for "How will members find you there?". Visible when location is visible to the authenticated member

event_url: URL of the event's page on meetup.com

announced: Organizers and hosts can see if the event was announced

photo_count: Returned when fields request parameter contains "photo_count" and represents number of photos posted to the event

rsvpable: Indicates if the currently authenticated member can RSVP or not, only returned if requested in the fields parameter

name: The name of the event

self: Returned when fields request parameter contains "self" and represents details particular to the authorized user, only present if requested and user is a member of the hosting group

>

rated: Boolean indicator of whether the current member rated the event or not

>

pay_status: The authenticated member's payment status. This may be one of 'none', 'paid', 'partially_paid', 'payment_pending', 'echeck_pending', 'refund_pending', 'partially_refunded', 'refunded'.

>

role: The authenticated member's role in within the group, if any. This may be one of: Organizer, Assistant Organizer, Event Organizer, etc.

>

watching: For events without waitlist you may check your watchlist status with this property. Values may either be true of false.

>

actions: list of actions the current user may perform, potentially: "announce" to announce the event to the group's members, "attendance" to view or take attendance for the event, "payments" to mark members as paid if the event is a paid event, "publish" to publish a draft event, "edit" to edit the event information, "edit_hosts" to edit the hosts for the event, "delete" to delete the event, "rsvp" to RSVP yes or no to the event, or "wait" to get on the waiting list (using the same RSVP methods). For events without a waitlist, you may see either "watch" or "unwatch" to watch for opening spots for the event when the event is full. If an organizer requires membership dues to rsvp and the authorized member has not paid theirs, "dues" will be included

>

rsvp: Member's RSVP, if any,[object Object]

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

updated: UTC last modified time of the event, in milliseconds since the epoch

trending_rank: Indicates the trending rank within the current result set. The best rank is zero, increasing rank values are less "trending". This value is only returned if requested in the fields parameter

status: "cancelled", "upcoming", "past", "proposed", "suggested" or "draft"

Event Create

meetup.postEvent(parameters, function(err, resp) {
	console.log(err, resp);
});

Request Parameters

All required parameters must be supplied. This method requires parameters encoded in application/x-www-form-urlencoded format as an HTTP POST.

Survey questions may be submitted in the format "question_{index}=questiontext" where "index" is an integer representing the order the questions should be presented in. e.g. question_0=question1&question_1=question2.

Organizers of the hosting group may optionally save this event as a draft by setting "publish_status" to "draft". Drafts are then discoverable using the /2/events API setting the "status" request parameter to "draft"

rsvp_alerts: Limited to organizers and event hosts: if false, disables member RSVP alerts

rsvp_limit: Total number of RSVPs available for the event

rsvp_open: Users with permission may set the RSVP open time for the event. The time may be specified in milliseconds since the epoch, or relative to the current time in the d/w/m format.

venue_visibility: Controls the visibility of the event venue for non members of the hosting group. May be one of "public" or "members"

hosts: Up to 5 comma-separated valid member ids to be hosts for the event. If hosts is not provided, the authorized member is the default host

question_{index}: Those with permission may include up to 6 survey questions for the event with each being up to 250 characters. See the parameter notes section for more information

*group_urlname: URL name of the Group hosting the event

why: We should do this because... May not be longer than 250 characters.

description: Longer description of the event, in HTML. May not be longer than 50000 characters.

host_instructions: optional set of instructions to provide to hosts, only used when hosts are provided

how_to_find_us: The information provided by the event host for "How will members find you there?". Visible when location is visible to the authenticated member

rsvp_close: Users with permission may set the RSVP close time for the event. The time may be specified in milliseconds since the epoch, or relative to the current time in the d/w/m format.

*group_id: Group hosting the event

duration: Event duration in milliseconds. When not specified, a default of 3 hours may be assumed by applications. To clear event duration, set this to 0

*name: Name of the event. May not be longer than 80 characters.

guest_limit: Number of guests members may include in their RSVP, 0 or more

waitlisting: Waiting list status may be one of: auto, manual, off

simple_html_description: Description of the event, in simple HTML format. This value is translated to HTML to update the description. May not be longer than 50000 characters.

time: Event start time in milliseconds since the epoch, or relative to the current time in the d/w/m format.

venue_id: Numeric identifier of a venue

publish_status: If you are an organizer of the group, you may set this to "draft" to save the event as a draft. Doing so will require a status=draft filter on /2/event queries.

Response

If successful, this method returns an HTTP 201 Created response with a Location header containing the Event Get method for this event. 401 Unauthorized is returned if the currently authenticated member can not create meetups in the specified group. A 400 error response with a code field set to "spam_error" may be returned if any of the provided event content appears to contain spam. The content body is the same as that returned by Event Get.

Event Edit

Update an existing Meetup

meetup.editEvent(parameters, function(err, resp) {
	console.log(err, resp);
});

Request Parameters

All parameters are optional. This method requires an HTTP POST.

If a lat & lon are provided, the event's venue will be updated accordingly.

Survey questions may be submitted in the format "question_{index}=questiontext" where "index" is an integer representing the order the questions should be presented in. e.g. question_0=question1&question_1=question2.

To view existing survey questions supply the request parameter fields=survey_questions with the Event Get To edit questions you may submit questions in the format "question_edit_{id}=updatedquestion" where id is the id of the question. To clear an existing question for the event survey, just submit question_edit_{id} with an empty value.

Organizers may publish a draft event by posting with the "publish_status" request parameter set to "published". Organizers and hosts of the event may also optionally announce an unannounced event by posting with the "announce" request parameter set to "true"

rsvp_limit: Total number of RSVPs available for the event. To remove this limit, set this to 0

rsvp_open: Users with permission may set the RSVP open time for the event. The time may be specified in milliseconds since the epoch, or relative to the current time in the d/w/m format.

venue_visibility: Controls the visibility of venue. May be one of "public" or "members"

why: We should do this because... May not be longer than 250 characters.

description: Longer description of the event, in HTML. May not be longer than 50000 characters.

host_instructions: optional set of instructions to provide to hosts, only used when hosts are provided

rsvp_close: Users with permission may set the RSVP close time for the event. The time may be specified in milliseconds since the epoch, or relative to the current time in the d/w/m format. To unset rsvp_close, set this to 0

announce_message: Organizers and hosts may provide an optional message in this field when announcing a Meetup. May not be longer than 500 characters.

duration: Event duration in milliseconds. When not specified, a default of 3 hours may be assumed by applications. To clear event duration, set this to 0

guest_limit: number of guests members may include in their RSVP, 0 or more

simple_html_description: Description of the event, in simple HTML format. This value is translated to HTML to update the description. May not be longer than 50000 characters.

question_edit_{id}: Those with permission may include up to 6 survey questions with each being up to 250 characters, including new questions. To delete a question submit this parameter with an empty value

venue_id: Numeric identifier of a venue. To unset the event's venue, set this to 0

publish_status: If you are an organizer of the group, you may set this to "draft" or "published". Setting state to "draft" will require a status=draft filter on /2/event queries.

rsvp_alerts: Limited to organizers and event hosts: if false, disables member RSVP alerts

lat,lon: Updates to the venue's latitude and longitude. When present, both must be provided

hosts: Up to 5 valid member ids to be hosts for the event.

question_{index}: Those with permission may include up to 6 survey questions with each being up to 250 characters, including edited questions, for the event. See the parameter notes section for more information

how_to_find_us: The information provided by the event host for "How will members find you there?". Visible when location is visible to the authenticated member

announce: Organizers and hosts may set this to true to announce a Meetup.

group_id: Group to hold the event

name: Event name. May not be longer than 80 characters.

waitlisting: Waiting list status may be one of: auto, manual, off

time: event start time in milliseconds since the epoch, or relative to the current time in the d/w/m format.

*id: Resource ID

Response

If successful, this method returns an HTTP 200 OK response. 401 Unauthorized is returned if the currently authenticated member can not edit the specified Meetup. A 400 error response with a code field set to "spam_error" may be returned if any of the provided event content appears to contain spam. The content body is the same as that returned by Event Get.

Event Get

Retrieve a single meetup

meetup.getEvent(parameters, function(err, resp) {
	console.log(err, resp);
});

Request Parameters

Only authorization parameters are needed. Some groups, while remaining private, still wish to show some information about their events. You can include these events in results using the limited_events request parameter.

fields: Request that additional fields (separated by commas) be included in the output.

limited_events: Include limited event information for private groups that wish to expose only a small amount of information about their events. This includes just: id, name, utc_offset, time, duration, yes_rsvp_count, waitlist_count, group, visibility, timezone. Value must be true or false.

text_format: Format of the description in the response, "html" or "plain". Defaults to "html"

*id: Resource ID

Response

utc_offset: The local offset from UTC time, in milliseconds

comment_count: Returned when fields request parameter contains "comment_count" and represents number of comments posted to the event

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

venue: Venue, if selected and not hidden

>

zip: ZIP code if, venue is in US or Canada

>

lat, lon: Geographic coordinates of venue

>

phone: Phone number of venue

>

address_1: Line 1 of venue address

>

city, state, country: City, Country and if in US state of venue

>

address_2: Line 2 of venue address

>

address_3: Line 3 of venue address

>

name: Venue name

>

id: Venue id

>

repinned: true if the editor of the event altered the original venues pin location, false otherwise

featured: Returned when fields request parameter contains "featured" and returns "true" if the event is featured and "false" otherwise

headcount: The number of members in attendance according to the attendance taker. This may be 0 if attendance has not yet been taken

survey_questions: Returned when fields request parameter contains "survey_questions" for events with surveys

>

id: Question identifier

>

question: Question text

>

required: Flag indicating if a response to this question is required to RSVP. Currently always false.

announced_at: Organizers and hosts can see when the event as announced in milliseconds since the epoch

distance: Distance in miles from the search location, if one was specified

venue_visibility: Set to "members" or "public". The "venue" element will not be present if the visibility is "members" and the current authenticated user is not a member of the group hosting the event. This value is only returned if requested in the fields parameter

timezone: Returned when fields request parameter contains "timezone". This represents the universal timezone identifier for the host group

fee: Fee info returned when payment is defined

>

amount: Amount of the fee

>

accepts: Accepted method of payment. Can be one of "paypal", "amazon", or "cash"

>

description: Fee description, typically "per person"

>

currency: Currency accepted for fee

>

label: Fee label, typically "Price"

>

required: "1" if payment is required to RSVP, "0" otherwise

rating: Only past events have this field, an aggregate of anonymous ratings

>

count: Number of ratings been collected

>

average: Average of collected ratings

why: We should do this because...

description: Description of the event.

is_simplehtml: Optional field, "true" when the event has been saved in a simplified HTML format, "false" otherwise.

short_link: Returned when fields request parameter contains "short_link". If hosting group is private, this will return the group's short_link

yes_rsvp_count: Number of yes RSVPs including guests

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_hosts: List of members hosting the event, only returned if requested in the fields parameter.

>

member_id: The host's member id

>

member_name: The host's member name

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

simple_html_description: Optional field, description of the event in simple HTML format.

photo_url: URL of the event photo, if one exists

publish_status: "published" or "draft" only visible to organizers

group: Group that is hosting the event

>

topics: Optional field. Topics related to this group,[object Object]

>

created: Date and time that the group was founded, in milliseconds since the epoch

>

group_lon: Approximate group longitude

>

group_photo: Returned when fields request parameter contains "group_photo" and represents photo for the group hosting the event,[object Object]

>

join_mode: "open", "approval", or "closed"

>

approved: Returned when fields request parameter contains "group_approved". True if this group has been approved. New groups are generally approved (or removed) soon after creation.

>

name: Group name

>

self: Returned when fields request parameter contains 'self_membership_dues' or 'group_status',[object Object]

>

id: Group id

>

category: Optional field. Category of this group,[object Object]

>

urlname: Group URL name

>

membership_dues: Returned when fields request parameter contains "group_membership_dues",[object Object]

>

group_lat: Approximate group latitude

>

who: What the group calls its members

rsvp_alerts: Returned when fields request parameter contains "rsvp_alerts" and is limited to organizers and event hosts, if false, member RSVP alerts are disabled

email_reminders: Returned when fields request parameter contains "email_reminders" and is limited to organizers and event hosts, if false, event reminders are disabled

photo_album_id: Returned when fields request parameter contains "photo_album_id" and returns the ID of the photo album for this event, if one exists

rsvp_rules: Conditions set by the organizer, only returned if requested in the fields parameter.

>

refund_policy: The organizer-defined terms for refunds. If this is defined, you must provide the authenticated member a way to access this information before they can RSVP. They will need to agree to these terms before they RSVP,[object Object]

>

open_time: UTC time that members may begin to RSVP

>

closed: Flag indicating that RSVPing is closed for the event. 1 is true 0 is false

>

guest_limit: Number of guests members may include in their RSVP, 0 or more

>

waitlisting: Wait list handling when RSVP limit is reached. Value may be one of "auto", "manual" or "off"

>

close_time: UTC time that RSVPs will no longer be accepted, though organizers may close RSVPs earlier

visibility: Event visibility: "public", "members" or "public_limited". Events in private groups that do not expose limited information are visible only to that group's members and should not be made public.

created: UTC creation time of the event, in milliseconds since the epoch

maybe_rsvp_count: Number of maybe RSVPs including guests

how_to_find_us: The information provided by the event host for "How will members find you there?". Visible when location is visible to the authenticated member

event_url: URL of the event's page on meetup.com

announced: Organizers and hosts can see if the event was announced

photo_count: Returned when fields request parameter contains "photo_count" and represents number of photos posted to the event

rsvpable: Indicates if the currently authenticated member can RSVP or not, only returned if requested in the fields parameter

name: The name of the event

self: Returned when fields request parameter contains "self" and represents details particular to the authorized user, only present if requested and user is a member of the hosting group

>

rated: Boolean indicator of whether the current member rated the event or not

>

pay_status: The authenticated member's payment status. This may be one of 'none', 'paid', 'partially_paid', 'payment_pending', 'echeck_pending', 'refund_pending', 'partially_refunded', 'refunded'.

>

role: The authenticated member's role in within the group, if any. This may be one of: Organizer, Assistant Organizer, Event Organizer, etc.

>

watching: For events without waitlist you may check your watchlist status with this property. Values may either be true of false.

>

actions: list of actions the current user may perform, potentially: "announce" to announce the event to the group's members, "attendance" to view or take attendance for the event, "payments" to mark members as paid if the event is a paid event, "publish" to publish a draft event, "edit" to edit the event information, "edit_hosts" to edit the hosts for the event, "delete" to delete the event, "rsvp" to RSVP yes or no to the event, or "wait" to get on the waiting list (using the same RSVP methods). For events without a waitlist, you may see either "watch" or "unwatch" to watch for opening spots for the event when the event is full. If an organizer requires membership dues to rsvp and the authorized member has not paid theirs, "dues" will be included

>

rsvp: Member's RSVP, if any,[object Object]

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

updated: UTC last modified time of the event, in milliseconds since the epoch

trending_rank: Indicates the trending rank within the current result set. The best rank is zero, increasing rank values are less "trending". This value is only returned if requested in the fields parameter

status: "cancelled", "upcoming", "past", "proposed", "suggested" or "draft"

Event Delete

Deletes a specified meetup

meetup.deleteEvent(parameters, function(err, resp) {
	console.log(err, resp);
});

Request Parameters

Only authorization parameters are needed.

*id: Resource ID

Response

Returns an HTTP 200 response if delete was successful, 401 if unauthorized.

Groups

Fetch information about Meetup Groups.

meetup.getGroups(parameters, function(err, resp) {
	console.log(err, resp);
});

Request Parameters

At least one of the required parameter(s) must be supplied with the request. Answers to questions are expected to follow the naming convention: answer_{question_id}=myanswer when joining with the Profile Create method.

*topic, groupnum: Return the group with this topic and number

*zip: A valid US zip code, limits the returned groups to those within radius miles.

*lat,lon: A valid latitude and longitude, limits the returned groups to those within radius miles

*group_urlname: one or more separated by commas, includes no slashes

*topic: Only return groups in the specified topic [one topic allowed]

*group_id: one or more separated by commas

*organizer_id: one or more organizer IDs, separated by commas

*domain: one or more custom group domains, separated by commas

*member_id: one or more separated by commas, for groups this member belongs to

radius: Radius, in miles for geographic requests, default 25 -- maximum 100

fields: optional result fields, separated by commas.

*category_id: Only return groups in the specified category. [one category allowed]

*country, city, state: A valid country code, city and for the US, State. limits the returned groups to those within radius miles

Ordering

name: the name of the group

location: group location, country, state [if present], city

id: group creation time [newest first]

members: number of members [largest first]

Response

utc_offset: This represents the utc time offset of the group's local time

country: Country of the group

pending_members: Optional fields parameter, visible only to the organizers, that represents the number of pending members for groups that require membership approval

similar_groups: List of similar groups, adjusted for the authorized member

>

join_mode: "open", "approval", or "closed"

>

created: Date and time that the group was founded, in milliseconds since the epoch

>

name: Group name

>

group_lon: Approximate group longitude

>

id: Group id

>

urlname: Group URL name

>

photos: Optional field, a small set of photos from the group. See documentation for "photos" above.

>

group_lat: Approximate group latitude

>

who: What the group calls its members

city: City of the group

timezone: This represents the universal timezone identifier for the group

primary_topic: The groups primary topic

rating: 0 to 5, average of group reviews

link: URL of group home

description: Group description

lon: Longitude

welcome_message: Optional fields parameter. Returns the Group's default welcome message if the authenticated member is the organizer of the group

is_simplehtml: Optional field, "true" when the group description has been saved in a simplified HTML format, "false" otherwise.

group_photo: Main photo associated with the group

>

highres_link: URL for the photo at its maximum size

>

photo_id: -

>

photo_link: URL for a standard size of the photo

>

thumb_link: URL for the thumbnail sized photo

photos: Optional field, a small set of photos from the group

>

highres_link: URL for the photo at its maximum size

>

photo_id: -

>

photo_link: URL for a standard size of the photo

>

thumb_link: URL for the thumbnail sized photo

short_link: Optional field, a shorted URL for the group

other_services: Optional fields parameter for linked services

>

[service-name]: This element is flickr, tumblr, twitter, or linkedin,[object Object]

join_mode: "open", "closed", or "approval"

approved: Optional field, true if this group has been approved. New groups are generally approved (or removed) soon after creation.

contributions: Optional field containing the contribution details of the group

>

thanks: The 'thank you' message to be given when a contribution is made

>

reason: The reason a member might consider contributing

>

potential: Boolean stating that potential contributions are enabled for the group

>

enabled: Boolean stating if contributions are enabled for the group

sponsors: Optional field, sponsors of this group

>

image_url: Image representing the sponsorship

>

name: Name of the sponsor

>

details: Longer information about the sponsorship, may include HTML

>

redeem: If the sponsorship is a perk and the authorized user belongs to the group, instructions for redeeming the perk

>

url: Link to sponsor's site

>

info: Short description of the sponsorship

members: Current number of members in the group

id: Group ID

state: State of the group, if in US or Canada

simple_html_description: Description of the group, in simple HTML format. This value is translated to HTML to update the description.

urlname: Unique group name as it appears in the URL, no slashes

membership_dues: Optional fields parameter. Returns the Group's membership dues info

>

refund_policy: Array of payment refund policies. May be one or more of "none", "member_leaves", "group_closes", "member_banned", or "custom"

>

reasons: Array of reasons types in the following values compensate_organizer, cover_costs, encourage_engagement, improve_meetups, other, provide_supplies, reserve_fund

>

methods: Array of acceptable payment methods. May be one or more of "amazon_payments", "paypal", "credit_card" or "other"

>

fee: Numeric fee value

>

currency: Currency fee is declared as

>

fee_desc: Description of fee

>

trial_days: When present, returns the number of days the group is offering a free trial period for to new members. When not present, this indicates that the group does not offer a trial membership period

>

reasons_other: An additional reason if specified.

>

required: "2" if dues are required to join, "1" if dues are required to RSVP, "0" otherwise

>

self_payment_required: Returns true if the authorized user is prevented from participating in the group until a payment is made

lat: Latitude

next_event: Optional fields parameter. the next upcoming event, if the group has one

>

utc_offset: The local offset from UTC time, in milliseconds

>

name: Name of event

>

id: Alphanumeric event ID

>

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

list_mode: Defines policy for who can post to the group mailing list. May be one of 'open' meaning any Member can post, 'off' meaning no one can post, 'moderated' meaning messages must be approved, or 'orgs_only' meaning only organizers may post to the list

ga_code: Optional field return the google analytics code for the group. Only members that can edit group settings can see this

visibility: "public", "public_limited", or "members" only

join_info: Optional field, lists any questions requested when joining and required fields

>

questions: List of questions asked by organizer,[object Object]

>

photo_req: "1" if required, "0" otherwise

>

questions_req: "1" if required, "0" otherwise

created: Date and time that the group was founded, in milliseconds since the epoch

topics: Topics related to this group

>

urlkey: Unique keyword used to identify this topic

>

name: Topic name

>

id: Topic ID

list_addr: Optional field returning list address prefix. List mail will be {list_addr}-list@meetup.com. Announce email will be {list_addr}-announce@meetup.com. You must be a member of the group to see this

organizer: Group's primary organizer

>

member_id: Member's ID

>

name: Name of the member

>

member_country: Optional field

>

member_state: Optional field

>

member_city: Optional field

name: Group name

self: Optional field, contains details specific to the authorized user if an active member of this group

>

visited: Member's last visit to the group site, in milliseconds since the epoch

>

role: Member's role in group, if any: Organizer, Assistant Organizer, Event Organizer, etc.

>

actions: list of actions the current user may perform, potentially "event_create": the ability to create new events, "event_draft": the ability to save new events as drafts, "role_assign": the ability to assign member roles, or "edit": the ability to edit group settings

>

membership_dues: If the group requires membership dues, this field will include the authenticated member's dues info,[object Object]

>

status: Optional fields property returned when 'self_status' is provided. Indicates the authorized user's membership with this group. Value may be one of pending, active, blocked, pending_payment or none

category: Category associated with this group

>

name: Display name of the category

>

id: Numeric identifier of the category

>

shortname: String identifier of the category

who: what the group calls its members

Profile Delete (Leave Group)

Deletes a member's group profile

meetup.deleteProfile(parameters, function(err, resp) {
	console.log(err, resp);
});

Request Parameters

All parameters are optional. Only the authorized member is permitted leave groups they do not organize. This method may not be used by organizers to remove members.

exit_comment: Optional message to the organizer when leaving

*gid: Group ID

*mid: Member ID

Response

If successful, this method responds with 200 OK, otherwise a 400 Bad request is returned or 401 if the profile being deleted does not belong to the authorized member. This method requires HTTP DELETE.

Profile Create (Group Join)

This method allows an authenticated member to join a group by creating a profile

meetup.postProfile(parameters, function(err, resp) {
	console.log(err, resp);
});

Request Parameters

This method requires an HTTP POST. All required parameters must be supplied. An intro and answers may be required based on the group the member is joining. To find out if a group requires an intro or answers to questions, query for the group through one of the Groups methods providing setting the fields parameter to join_info and inspecting the join_info in the results. Answers to the questions must be named using the convention answer_{question_id}.

site_name: Name of member's site. Max length is 32

photo_id: photo_id of the photo to use for this profile

site_url: Link to member's site. Max length is 80

*group_urlname: Urlname of group to join

intro: Provides a Member an opportunity to tell the group about themselves

new_photo: file upload for a new member photo

*group_id: Id of group to join

answer_{qid}: Answers to questions from groups API join_info question fields

Response

If successful, this method returns a 201 Created response with a Location header containing the Profile Get URI to access this profile.

400 Bad requests may be returned under certain conditions along with a response object containing information about the failure. The code property of this may be one of

  • bad_group: an invalid group was provided
  • bad_member: an invalid member was provided
  • invalid_photo: an invalid photo_id was provided
  • missing_photo: a photo was required to join but one could not be resolved
  • member_exists: this member has already joined the group
  • member_banned: this member has been banned from the group
  • unjoinable_group: this group is no longer joinable
  • pending_payment: this member is pending a payment for the group
  • member_email: Meetup is not able to successfully send email to this member
  • member_unapproved: a previous membership request was declined
  • member_removed: this member was previously removed from the group
  • join_closed: this group is not allowing new members
  • join_viaweb: this join is not supported in the API, try joining via the website
  • membership_pending: this membership awaiting organizer approval
  • missing_intro: the request required a valid intro
  • missing_answer: the request was missing an answer to a required question
  • invalid_answer: the request contained invalid question answer
  • invalid_url: the invalid site_url
  • invalid_site_name: the site name was too long
  • unknown_error: a generic error

The details property of this object will contain additional information. The content body of a successful request is the same of that returned by the Profile Get query method.

Group Photo Upload

Uploads a new Meetup Group photo. To change other Group settings use the Group Edit endpoint

meetup.postGroupPhoto(parameters, function(err, resp) {
	console.log(err, resp);
});

Request Parameters

The request must be a POST of content-type multipart/form-data. The supplied photo will be added to the provided groups general photo album. If authenticating with OAuth, no parameters in the multipart form data should be included in the signature base string. You must be an organizer of the group in order to load a photo.

await: If true, this ensures a response will not be returned until the upload is accessible

main: Set to 'true' to have this photo become the group's main photo. Set it to 'false' otherwise. Defaults to true

*group_id: Group ID for the target group. This may be used as an alternative to group_urlname

*photo: The photo, encoded as multipart/form-data. The maximum file size allowed is 10MB

*group_urlname: Group urlname. This may be used as an alternative to group_id

Response

When successful, this method responds with a status of "201 Created" and a Location header with the uploaded photo's URL. The response body contains the following elements in JSON or XML. Upon recieving the response, some photos may not be immediately accesible. If this is desirable, use the "await" request parameter

photo_url: Link to the uploaded group photo (same as in the Location header).

title: Request Completed

group_photo_id: Unique identifier of this photo

Member Photo Upload

Uploads a photo to be associated with a Member

meetup.postMemberPhoto(parameters, function(err, resp) {
	console.log(err, resp);
});

Request Parameters

The request must be a POST of content-type multipart/form-data. The supplied photo will be added to the currently authenticated user's member profile. If authenticating with OAuth, no parameters in the multipart form data should be included in the signature base string.

await: If true, this ensures a response will not be returned until the upload is accessible

main: Set to "true" to have this photo become the member's main profile photo. Otherwise, it will become the main photo only when none other is selected. If the authenticated member does not already have a main profile photo set it will remain so.

sync_matching_photo: When set to true and main is set to true, this will replace all group profile photos matching the current photo with the provided replacement

*photo: The photo, encoded as multipart/form-data. The maximum file size allowed is 10MB

sync_photo: When set to true, this parameter will sync all of the group profile photos for the member with the provided photo_id

Response

When successful, this method responds with a status of "201 Created" and a Location header with the uploaded photo's URL. The response body contains the following elements in JSON or XML. Upon receiving the response, some photos may not be immediately accessible. If this is desirable, use the "await" request parameter

photo_url: Link to the uploaded member photo (same as in the Location header).

title: Request Completed

member_photo_id: Unique identifier of this photo

Event Photo Upload

Uploads a photo for a given event

meetup.postPhoto(parameters, function(err, resp) {
	console.log(err, resp);
});

Request Parameters

A photo album or event ID must be supplied with the request, which must be a POST of content-type multipart/form-data. The currently authenticated user must be a member of the group that is hosting the event. Parameters other than photo may be passed in as a query string or within the posted content. If authenticating with OAuth, no parameters in the multipart form data should be included in the signature base string

await: If true, this ensures a response will not be returned until the upload is accessible

caption: Caption for the photo

*photo_album_id: Identifier of an existing photo album, which may be an event or group album

*photo: The photo, encoded as multipart/form-data. The maximum file size allowed is 10MB

*event_id: Identifier of an event. If there is no album for this event, one will be created.

Response

When successful, this method responds with a status of "201 Created" and a Location header with the uploaded photo's URL. The response body contains the following elements in JSON or XML. Upon recieving the response, some photos may not be immediately accesible. If this is desirable, use the "await" request parameter

site_link: URL for photo in photo album on meetup.com

event_photo_id: Unique identifier of this photo

created: Created time in milliseconds since the epoch

member: Member that uploaded the photo

>

member_id: Identifier of member

>

name: Name of member

album_id: Identifier of the photo's album

photo_url: Link to the uploaded event photo (same as in the Location header).

title: Request Completed

updated: Last updated time in milliseconds since the epoch

Profiles

This method returns member profiles associated with a particular group. Meetup members have separate profiles for each group they join.

meetup.getProfiles(parameters, function(err, resp) {
	console.log(err, resp);
});

Request Parameters

At least one of the required parameter(s) must be supplied with the request. If any of the groups you specify are private, you will not see its members listed in the result set unless you are a member of that group. If querying for member_id alone, the member's 'hide groups' preference will be honored. 'Interesting' ordered searches only support searching by group_urlname or group_id. Only one of those may be supplied.

*topic, groupnum: Group identification by topic, deprecated

role: if "leads", only profiles for members of the leadership team are included

*group_urlname: Return profiles for the group with the given custom URL path

*member_id: Return the profiles for members with these IDs, separated by commas

fields: comma delimited list of optional response properties. A value of "membership_dues" will populate membership dues for the authorized user or members of the groups the authorized user organizes

*group_id: Return profiles in the group with this ID

status: Status filter for members. Only organizers may see pending. Request must also contain a `group_id` or `group_urlname`. Status may be one of active, pending

Ordering

member_id: the id of the member

joined: time member joined this group

interesting: Order which may be interesting to the authorized member

name: the name of the member

visited: last visit to group pages (default order)

updated: profile updated field

Response

member_id: The member's id

created, updated: When this member profile was created and last updated, in milliseconds since the epoch.

role: If applicable, the member's role in the group (Organizer, Assistant Organizer, Co-organizer, or Event Organizer)

profile_url: Link to the member's group profile page

member_city: Optional fields parameter for the Member's city

additional: Additional information supplied by the member

answers: Array of answers to group profile questions. Unanswered questions are returned without the answer field

>

question: Text of the question

>

answer: Text of the answer if answered

>

question_id: Unique ID of the question this answers

bio: Member's 'introduction' to the group

photo: The member's photo if available

>

highres_link: URL for the photo at its maximum size

>

photo_id: Photo ID

>

photo_link: URL for a standard size of the photo

>

thumb_link: URL for a thumbnail of the photo

title: Title assigned to the member in this group

other_services: Third-party services associated with the member account

>

[service-name]: This element is flickr, tumblr, twitter, or linkedin,[object Object]

site_url, site_name: External site listed by the member

member_state: Optional fields parameter for the Member's state (when country is us)

name: The member's name

visited: Member's last visit to the group site, in milliseconds since the epoch

comment: What this member says about this group

member_country: Optional fields parameter for the Member's country code

photo_url: Link to the group profile photo of the member

membership_dues: Optional fields parameter for the last payment received for the Group's membership dues and optionally, the status of the member's dues for the current billing period if the group has set up recurring membership dues payments. This field is only visible only to the organizer of the group and to the member themselves. Members can not see other member's membership dues

>

paid_until: For groups with recurring billing periods, this returns the time in milliseconds since the epoch that the member's next payment is due

>

total_amount: Total amount paid

>

transaction_time: Time the transaction was made in milliseconds since the epoch

>

cancelled: For groups with recurring billing periods, this Boolean field indicates that membership dues were cancelled

>

exempt: For groups with recurring billing periods, this Boolean field indicates that the member is exempt from payment.

>

trial: If the group offers a trial membership, this indicates information for unpaid members.,[object Object]

>

period_status: For groups with recurring billing periods, this returns one of the following values grace, paid, pending, unpaid

group: The group this profile belongs to

>

join_mode: "open", "approval", or "closed"

>

created: Date and time that the group was founded, in milliseconds since the epoch

>

name: Group name

>

group_lon: Approximate group longitude

>

id: Group id

>

urlname: Group URL name

>

group_lat: Approximate group latitude

>

who: What the group calls its members

status: Value may be one of pending, active, blocked, pending_payment

Member Edit

Edit the authorized member's attributes

meetup.editMember(parameters, function(err, resp) {
	console.log(err, resp);
});

Request Parameters

This method requires tls. Only the authorized user may edit their own properties. A city may be provided by either a city_id or a combination of lat and lon

birthday: Day you were born. Format should be in the form of yyyy or mmddyyyy. A value of -1 indicates that birthday data should be cleared.

zip: Valid zip code for city

country: Valid country code for your location

hometown: Hometown of member. Can not be longer than 64 characters

remove_topics: Comma-delimited list of topic ids to remove from your alert list

gender: Your gender (used for better recommendations). Valid values are be one of other, none, female, male

photo_id: A valid photo_id from the member's photos to set as the main profile photo. A value of 0 will unset the current photo

city: City name for your location

topics_privacy: Controls the visibility of the member's topics. May be one of visible, hidden

facebook_privacy: Controls the visibility of the member's facebook connection. May be one of visible, hidden. If the member has not connected their Facebook account, attempts to set this preference will do nothing.

bio: Free form text passage about you. must be less than 250 characters

lon: longitude of city

groups_privacy: Controls the visibility of the member's groups. May be one of visible, hidden

add_topics: Comma-delimited list of topics ids to add to your alert list

sync_photo: When set to true, this parameter will sync all of the group profile photos for the member with the provided photo_id

name: The name of the current member

bio_privacy: Controls the visibility of the member's bio. May be one of visible, hidden

photos_privacy: Controls the visibility of the member's photos. May be one of visible, hidden

lang: Language preference used on the site. Valid values are en_US, it, es, fr, de, pt

radius: radius, in miles to search for city given a lat and lon. default 25.0, max 100.0

lat: latitude of city

messaging_pref: This specifies the member's preference for being contacted from members on the site. Possible values are "orgs_only" meaning only group organizers can contact you, "groups_only" meaning only members of your group can contact you, or "all_members" meaning all members may contact you.

city_id: Valid city id from /2/cities method

*id: Resource ID

Response

birthday: If the authorized is the current member, the member's birthday based on provided information

>

month: Month of birth

>

year: Year of birth

>

day: Day of birth

gender: Optional fields parameter. Members can only see their own gender. May be one of other, none, female, male

link: URL to the member's profile page on meetup.com

bio: A description of the member

privacy: Optional fields parameter. Defines preferences for visibility of certain attributes only returned for the authenticated member

>

groups: may be 'hidden' or 'visible'

>

bio: may be 'hidden' or 'visible'

>

photos: may be 'hidden' or 'visible'

>

topics: may be 'hidden' or 'visible'

>

facebook: may be 'hidden' or 'visible'. If absent, the member has not connected their Facebook account to Meetup

photos: List of all the member's photos returned as an array of the representation of the photo property

messagable: Returned when the "fields" parameter is set to "messaging_pref". Returns "true" if the authenticated member can message them, "false" otherwise.

other_services: Third-party services associated with the member account

>

[service-name]: This element is flickr, tumblr, twitter, or linkedin,[object Object]

id: The member's id

photo_url: Link to the profile photo of the member

lang: The member's current language preference. Returned only when the member in the response matches the authenticated member

hometown: Hometown of member

topics: A sampling of 50 topics this member has subscribed to. Only appears if the queried user has not hidden them, or if the authenticated and queried user are the same

>

urlkey: Unique keyword used to identify this topic

>

name: Topic name

>

id: Topic ID

joined: Date and time a member joined in milliseconds since the epoch

photo: The member's photo if available

>

highres_link: URL for the photo at its maximum size

>

photo_id: Photo ID

>

photo_link: URL for a standard size of the photo

>

thumb_link: URL for a thumbnail of the photo

reachable: Optional fields parameter. If querying by group and the authorized member is an organizer the member's group, this will return false when the member's email address is known to bounce and true otherwise

lat, lon: Latitude and longitude coordinates of the members reported city

membership_count: Optional field indicating the number of active memberships this member has. If the member has a hidden group preference, this will return 0.

facebook_connection: Optional response field. Only returned for the members matching the authenticated member if the authenticated member has connected their Facebook account to their Meetup account

>

status: The current status of the member's Facebook connection. Status may be one of: 'active', if you have an active Facebook connection or 'inactive', if your previous active connection was deactivated.

name: The member's name

visited: Date and time of member's last activity in milliseconds since the epoch

self: Optional field, details particular to the authorized user.

>

common: What the authorized user and queried member have in common,[object Object]

>

blocks: Boolean indicator of whether or not the authorized member has blocked this member. Only returned if fields is set to self_blocks

country, city, state: Country, City, (and for the US, State) the member has provided

messaging_pref: Returned when the "fields" parameter is set to "messaging_pref". This specifies the members preference for being contacted from members on the site. Possible values are "orgs_only", "groups_only", "all_members"

Member Get

Retrieve a single member

meetup.getMember(parameters, function(err, resp) {
	console.log(err, resp);
});

Request Parameters

Only authorization parameters are needed.

fields: comma-separate list of optional fields

*id: Resource ID

Response

birthday: If the authorized is the current member, the member's birthday based on provided information

>

month: Month of birth

>

year: Year of birth

>

day: Day of birth

gender: Optional fields parameter. Members can only see their own gender. May be one of other, none, female, male

link: URL to the member's profile page on meetup.com

bio: A description of the member

privacy: Optional fields parameter. Defines preferences for visibility of certain attributes only returned for the authenticated member

>

groups: may be 'hidden' or 'visible'

>

bio: may be 'hidden' or 'visible'

>

photos: may be 'hidden' or 'visible'

>

topics: may be 'hidden' or 'visible'

>

facebook: may be 'hidden' or 'visible'. If absent, the member has not connected their Facebook account to Meetup

photos: List of all the member's photos returned as an array of the representation of the photo property

messagable: Returned when the "fields" parameter is set to "messaging_pref". Returns "true" if the authenticated member can message them, "false" otherwise.

other_services: Third-party services associated with the member account

>

[service-name]: This element is flickr, tumblr, twitter, or linkedin,[object Object]

id: The member's id

photo_url: Link to the profile photo of the member

lang: The member's current language preference. Returned only when the member in the response matches the authenticated member

hometown: Hometown of member

topics: A sampling of 50 topics this member has subscribed to. Only appears if the queried user has not hidden them, or if the authenticated and queried user are the same

>

urlkey: Unique keyword used to identify this topic

>

name: Topic name

>

id: Topic ID

joined: Date and time a member joined in milliseconds since the epoch

photo: The member's photo if available

>

highres_link: URL for the photo at its maximum size

>

photo_id: Photo ID

>

photo_link: URL for a standard size of the photo

>

thumb_link: URL for a thumbnail of the photo

reachable: Optional fields parameter. If querying by group and the authorized member is an organizer the member's group, this will return false when the member's email address is known to bounce and true otherwise

lat, lon: Latitude and longitude coordinates of the members reported city

membership_count: Optional field indicating the number of active memberships this member has. If the member has a hidden group preference, this will return 0.

facebook_connection: Optional response field. Only returned for the members matching the authenticated member if the authenticated member has connected their Facebook account to their Meetup account

>

status: The current status of the member's Facebook connection. Status may be one of: 'active', if you have an active Facebook connection or 'inactive', if your previous active connection was deactivated.

name: The member's name

visited: Date and time of member's last activity in milliseconds since the epoch

self: Optional field, details particular to the authorized user.

>

common: What the authorized user and queried member have in common,[object Object]

>

blocks: Boolean indicator of whether or not the authorized member has blocked this member. Only returned if fields is set to self_blocks

country, city, state: Country, City, (and for the US, State) the member has provided

messaging_pref: Returned when the "fields" parameter is set to "messaging_pref". This specifies the members preference for being contacted from members on the site. Possible values are "orgs_only", "groups_only", "all_members"

Profile Edit

Update a member's group profile

meetup.editProfile(parameters, function(err, resp) {
	console.log(err, resp);
});

Request Parameters

The gid and mid in this method's path are group and member IDs, both needed to uniquely identify the member profile to be edited. An authenticated user may update their own profile by substituting "self" for the mid. All POST parameters are optional unless required by the group. Only the organizer of the group may edit the member's title and role within the group. Those are the only things the organizer may edit. When requesting to set a role with add_role the member's previous role will be cleared. Members may edit all other fields of their own profiles with the exception of title, add_role, and remove_role. This method requires an HTTP POST.

site_name: Name of member's site. Max length is 32

add_role: Allows those with permission to assign one of the following roles: coorganizer, event_organizer, assistant_organizer

photo_id: photo_id of the photo to use for this profile. set to 0 to unset the current photo

site_url: Link to member's site. Max length is 80

intro: Provides a Member an opportunity to tell the group about themselves

new_photo: file upload for a new member photo

title: An organizer-defined member title.

remove_role: Allows those with permission to remove one of the following roles: coorganizer, event_organizer, assistant_organizer

answer_{qid}: Answers to questions from groups API join_info question fields

*gid: Group ID

*mid: Member ID

Response

If successful, this method responds with 200 OK. 401 Unauthorized is returned if the currently authenticated member can not edit the specified profile. The content body is the same as that returned by the Profile Get query method. 400 responses may also contain the error codes listed in the Profile Create method with the addition of invalid_role which is returned when the role adjustment was failed to be applied.

Profile Get

Retrieves a single group profile

meetup.getProfile(parameters, function(err, resp) {
	console.log(err, resp);
});

Request Parameters

Only authorization parameters are needed.

fields: Request that additional fields (separated by commas) be included in the output

*gid: Group ID

*mid: Member ID

Response

member_id: The member's id

created, updated: When this member profile was created and last updated, in milliseconds since the epoch.

role: If applicable, the member's role in the group (Organizer, Assistant Organizer, Co-organizer, or Event Organizer)

profile_url: Link to the member's group profile page

member_city: Optional fields parameter for the Member's city

additional: Additional information supplied by the member

answers: Array of answers to group profile questions. Unanswered questions are returned without the answer field

>

question: Text of the question

>

answer: Text of the answer if answered

>

question_id: Unique ID of the question this answers

bio: Member's 'introduction' to the group

photo: The member's photo if available

>

highres_link: URL for the photo at its maximum size

>

photo_id: Photo ID

>

photo_link: URL for a standard size of the photo

>

thumb_link: URL for a thumbnail of the photo

title: Title assigned to the member in this group

other_services: Third-party services associated with the member account

>

[service-name]: This element is flickr, tumblr, twitter, or linkedin,[object Object]

site_url, site_name: External site listed by the member

member_state: Optional fields parameter for the Member's state (when country is us)

name: The member's name

visited: Member's last visit to the group site, in milliseconds since the epoch

comment: What this member says about this group

member_country: Optional fields parameter for the Member's country code

photo_url: Link to the group profile photo of the member

membership_dues: Optional fields parameter for the last payment received for the Group's membership dues and optionally, the status of the member's dues for the current billing period if the group has set up recurring membership dues payments. This field is only visible only to the organizer of the group and to the member themselves. Members can not see other member's membership dues

>

paid_until: For groups with recurring billing periods, this returns the time in milliseconds since the epoch that the member's next payment is due

>

total_amount: Total amount paid

>

transaction_time: Time the transaction was made in milliseconds since the epoch

>

cancelled: For groups with recurring billing periods, this Boolean field indicates that membership dues were cancelled

>

exempt: For groups with recurring billing periods, this Boolean field indicates that the member is exempt from payment.

>

trial: If the group offers a trial membership, this indicates information for unpaid members.,[object Object]

>

period_status: For groups with recurring billing periods, this returns one of the following values grace, paid, pending, unpaid

group: The group this profile belongs to

>

join_mode: "open", "approval", or "closed"

>

created: Date and time that the group was founded, in milliseconds since the epoch

>

name: Group name

>

group_lon: Approximate group longitude

>

id: Group id

>

urlname: Group URL name

>

group_lat: Approximate group latitude

>

who: What the group calls its members

status: Value may be one of pending, active, blocked, pending_payment

oEmbed

oEmbed implementation

meetup.getOEMBed(parameters, function(err, resp) {
	console.log(err, resp);
});

Request Parameters

This method does not require authentication. It requires only a url parameter and responds according to the [OEmbed specification](http://www.oembed.com/). Any of the following base URLs may refer to embeddable content:

An optional maxwidth parameter may be provided.

*url: url of resource to be embedded

maxwidth: maximum width to display

Response

Returns the `rich` type of oEmbed resources defined in [section 2](http://www.oembed.com/#section2) of the oEmbed specification in JSON format.

Sending the X-Meta-Photo-Host header set to secure or making the omebed request over https will result in https photo links in the embedded content.

Member Photo Delete

Delete the specified member photo

meetup.deleteMemberPhoto(parameters, function(err, resp) {
	console.log(err, resp);
});

Request Parameters

Only authorization parameters are needed. Authorized user must be the member owning the photo

*id: Resource ID

Response

Returns a HTTP 200 response if the delete was successful, 401 if unauthorized

Similar groups

Renders a list of similar groups

meetup.getSimilarGroups(parameters, function(err, resp) {
	console.log(err, resp);
});

Request Parameters

The urlname parameter may be any valid group urlname or domain name.

*urlname: Group URL Name

Response

The response includes a JSON-encoded list of similar groups.

country: Country of the group

city: City of the group

similar_groups: Optional fields parameter. Returns up to 5 groups similar to this groups

>

join_mode: Who can join this group and how. One of approval, closed, open

>

name: Name of the group

>

lon: Longitude

>

id: Id of the group

>

urlname: Urlname used to identify the group on meetup.com

>

photos: Optional fields parameter. A small set of photos from the group,[object Object]

>

lat: Latitude

>

who: What this group calls it's members

timezone: This represents the universal timezone identifier for the group

link: Link to group on meetup.com

description: Short description of group

lon: Longitude

welcome_message: Optional fields parameter. Returns the Group's default welcome message if the authenticated member is the organizer of the group

is_simplehtml: Optional field, 'true' when the group description has been saved in a simplified HTML format, 'false' otherwise.

group_photo: Group photo

>

id: Numeric photo ID

>

highres_link: Link for full sized photo

>

photo_link: Link for standard sized photo

>

thumb_link: Link for thumbnail sized photo

photos: A small set of photos from the group

>

id: Numeric photo ID

>

highres_link: Link for full sized photo

>

photo_link: Link for standard sized photo

>

thumb_link: Link for thumbnail sized photo

short_link: Optional field, a shorted URL for the group

join_mode: Who can join this group and how. One of approval, closed, open

contributions: Optional field containing the contribution details of the group

>

thanks: The 'thank you' message to be given when a contribution is made

>

reason: The reason a member might consider contributing

>

potential: Boolean stating that potential contributions are enabled for the group

>

enabled: Boolean stating if contributions are enabled for the group

members: Number of Meetup members in this group

state: State of the group, if in US or Canada

simple_html_description: Description of the group, in simple HTML source format. If this group's description was saved in simple HTML format, the description field will be an HTML translation of this source

id: Numeric group ID

urlname: Urlname used to identify the group on meetup.com

membership_dues: Optional field, returns membership dues for group if any

>

refund_policy: Conditions for refunds,[object Object]

>

reasons: Array of reasons containing one or more of the following values compensate_organizer, cover_costs, encourage_engagement, improve_meetups, other, provide_supplies, reserve_fund

>

methods: Methods of payments,[object Object]

>

fee: Numeric fee value

>

fee_desc: Description of fee

>

currency: Currency fee is declared as

>

reasons_other: An additional reason if specified.

>

trial_days: When present, returns the number of days the group is offering a free trial period for to new members. When not present, this indicates that the group does not offer a trial membership period

>

self_payment_required: Returns true if the authorized user is prevented from participating in the group until a payment is made

>

required: true if dues are required

>

required_to: If the dues are required this indicates what they are required for. May be one of 'join' or 'rsvp'

lat: Latitude

next_event: The next upcoming event, if the group has one

>

name: Name of event

>

id: Alphanumeric event ID

>

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

list_mode: Optional fields parameter representing the policy for who can post the group mailing list. One of moderated, off, open, orgs_only

ga_code: Optional field return the Google Analytics code for the group. Only members that can edit group settings can see this

join_info: Optional field, lists any questions requested when joining and required fields

>

questions: List of questions asked by organizer,[object Object]

>

questions_req: true if required, false otherwise

>

photo_required: true if required, false otherwise

visibility: Who can see this group. One of members, public or public_limited

topics: Optional fields parameter. Returns the group's topics

>

name: Display name of the topic

>

urlkey: The unique keyword used to identify this topic

>

id: Numeric topic id

>

lang: Language topic originates from

created: Time the group was created in milliseconds since the epoch

list_addr: Optional field returning list address prefix. List mail will be {list_addr}-list@meetup.com. Announce email will be {list_addr}-announce@meetup.com. You must be a member of the group to see this

organizer: Group's primary organizer

>

name: Name of member

>

bio: Bio of member

>

id: Numeric member ID

name: Name of the group

self: Optional field, contains details specific to the authorized user if an active member of this group

>

visited: Member's last visit to the group site, in milliseconds since the epoch

>

role: Member's role in group, if any: Organizer, Assistant Organizer, Event Organizer, etc.

>

membership_dues: Member's membership dues if the group has membership dues,[object Object]

>

actions: list of actions the current user may perform, potentially "event_create": the ability to create new events, "event_draft": the ability to save new events as drafts, "role_assign": the ability to assign member roles, or "edit": the ability to edit group settings

>

status: Optional fields property returned when 'self_status' is provided. Indicates the authorized user's membership with this group. Value may be one of pending, pending_payment, active, blocked or none

category: The primary category of the group, if the group has one

>

name: Display name of the category

>

id: Numeric category id

>

shortname: String identifier of the category

who: What the group calls its members

Photo Delete

Delete specified event photo

meetup.deletePhoto(parameters, function(err, resp) {
	console.log(err, resp);
});

Request Parameters

Only authorization parameters are needed. Authorized user must be the original poster of the photo or the organizer of the group the photo was posted in

*id: Resource ID

Response

Returns a HTTP 200 response if the delete was successful, 401 if unauthorized.

Read Notifications

Marks groups of notifications as read.

meetup.setNotificationsRead(parameters, function(err, resp) {
	console.log(err, resp);
});

Request Parameters

fields: Request that additional fields (separated by commas) be included in the output.

since_id: The id of the newest notification item, typically the first in the list returned by the notifications endpoint

Response

The response includes a JSON-encoded list of current notification items

read: True or False indicating whether a notification has been read by the person it was sent to

kind: Identifier indicating the kind of notification. These may be one of comment, custom, donation_expire_notice, donation_potential_payment, dues, dues_confirm, dues_trial_notice, event_announce, event_announce_to_orgs, event_announce_untrusted, event_cancel, event_change, event_reminder, external_url, group_announce, group_announce_push, host_ping, join, like, org_approve, photo, photo_tag, reply, rsvp, rsvp_confirm, spot_open, webview_url

link: Link to resource notification was triggered by

photo: A photo related to the notifications. Potentially absent

>

id: Numeric photo ID

>

highres_link: Link for full sized photo

>

photo_link: Link for standard sized photo

>

thumb_link: Link for thumbnail sized photo

setting: The setting that controls the member's preference for receiving sendings of this kind of notification

>

email: A push setting if available,[object Object]

>

push: An email setting if available,[object Object]

target: kind specific properties which may be used to navigate back to the source of the notification

>

event_id: If needed, the alphanumeric ID of the event which relates to this notification

>

group_id: If needed, the numeric ID of the group which relates to this notification

>

comment_parent_id: If needed, the numeric ID of the top-level comment which relates to this notification

>

comment_id: If needed, the numeric ID of the comment which relates to this notification

>

type: Identifier indicating the view that should be navigated to. These may be one of: group, event, topic_picker, calendar, group_list, event_photos, event_comments, friends_calendar, friends_groups, start_group, external_url, event_location

>

group_urlname: If needed, the alpha numeric urlname of the group which relates to this notification

important: True or False indicating a notification's level of importance

photo_type: Type of photo, event or member

self: Information pertaining the authorized member associated with this notification

>

action: An action that may be performed on this notification.

For group_announce notifications this may be 'instant_join', meaning the group associated with the notification may be joined without filling out profile information, or 'form_join', meaning the group associated with the notification requires some join information.

For event_announce and spot_open notifications this may be 'instant_rsvp', meaning the event may be RSVP'd to without requiring additional input, or 'form_rsvp', meaning the event may require some input on the current member's behalf before RSVPing

text: Notification content as text

id: A unique identifier for a notification

updated: The last time the notification was modified, indicated as the time in milliseconds since the epoch

Notifications

Returns all recent Meetup notifications for the authorized member. To mark notifications read use /notifications/read endpoint. To get the authenticated Member's current unread count, request it in an HTTP header.

meetup.getNotifications(parameters, function(err, resp) {
	console.log(err, resp);
});

Request Parameters

No parameters are required

fields: Request that additional fields (separated by commas) be included in the output.

Response

The response includes a JSON-encoded list of current notification items.

read: True or False indicating whether a notification has been read by the person it was sent to

kind: Identifier indicating the kind of notification. These may be one of comment, custom, donation_expire_notice, donation_potential_payment, dues, dues_confirm, dues_trial_notice, event_announce, event_announce_to_orgs, event_announce_untrusted, event_cancel, event_change, event_reminder, external_url, group_announce, group_announce_push, host_ping, join, like, org_approve, photo, photo_tag, reply, rsvp, rsvp_confirm, spot_open, webview_url

link: Link to resource notification was triggered by

photo: A photo related to the notifications. Potentially absent

>

id: Numeric photo ID

>

highres_link: Link for full sized photo

>

photo_link: Link for standard sized photo

>

thumb_link: Link for thumbnail sized photo

setting: The setting that controls the member's preference for receiving sendings of this kind of notification

>

email: A push setting if available,[object Object]

>

push: An email setting if available,[object Object]

target: kind specific properties which may be used to navigate back to the source of the notification

>

event_id: If needed, the alphanumeric ID of the event which relates to this notification

>

group_id: If needed, the numeric ID of the group which relates to this notification

>

comment_parent_id: If needed, the numeric ID of the top-level comment which relates to this notification

>

comment_id: If needed, the numeric ID of the comment which relates to this notification

>

type: Identifier indicating the view that should be navigated to. These may be one of: group, event, topic_picker, calendar, group_list, event_photos, event_comments, friends_calendar, friends_groups, start_group, external_url, event_location

>

group_urlname: If needed, the alpha numeric urlname of the group which relates to this notification

important: True or False indicating a notification's level of importance

photo_type: Type of photo, event or member

self: Information pertaining the authorized member associated with this notification

>

action: An action that may be performed on this notification.

For group_announce notifications this may be 'instant_join', meaning the group associated with the notification may be joined without filling out profile information, or 'form_join', meaning the group associated with the notification requires some join information.

For event_announce and spot_open notifications this may be 'instant_rsvp', meaning the event may be RSVP'd to without requiring additional input, or 'form_rsvp', meaning the event may require some input on the current member's behalf before RSVPing

text: Notification content as text

id: A unique identifier for a notification

updated: The last time the notification was modified, indicated as the time in milliseconds since the epoch

Group Topics Remove

Disassociates topics with a given Meetup Group. Limited to organizers of the group. OAuth authenticated requests require an additional group_edit permission.

meetup.deleteTopics(parameters, function(err, resp) {
	console.log(err, resp);
});

Request Parameters

Groups must have at one topic. Attempts to remove all topics will result in a failed request

*topic_id: Comma-delimited list of topic ids to disassociate with group

*urlname: Group URL Name

Response

A successful response will include a representation of the group topics were removed from

country: Country of the group

city: City of the group

similar_groups: Optional fields parameter. Returns up to 5 groups similar to this groups

>

join_mode: Who can join this group and how. One of approval, closed, open

>

name: Name of the group

>

lon: Longitude

>

id: Id of the group

>

urlname: Urlname used to identify the group on meetup.com

>

photos: Optional fields parameter. A small set of photos from the group,[object Object]

>

lat: Latitude

>

who: What this group calls it's members

timezone: This represents the universal timezone identifier for the group

link: Link to group on meetup.com

description: Short description of group

lon: Longitude

welcome_message: Optional fields parameter. Returns the Group's default welcome message if the authenticated member is the organizer of the group

is_simplehtml: Optional field, 'true' when the group description has been saved in a simplified HTML format, 'false' otherwise.

group_photo: Group photo

>

id: Numeric photo ID

>

highres_link: Link for full sized photo

>

photo_link: Link for standard sized photo

>

thumb_link: Link for thumbnail sized photo

photos: A small set of photos from the group

>

id: Numeric photo ID

>

highres_link: Link for full sized photo

>

photo_link: Link for standard sized photo

>

thumb_link: Link for thumbnail sized photo

short_link: Optional field, a shorted URL for the group

join_mode: Who can join this group and how. One of approval, closed, open

contributions: Optional field containing the contribution details of the group

>

thanks: The 'thank you' message to be given when a contribution is made

>

reason: The reason a member might consider contributing

>

potential: Boolean stating that potential contributions are enabled for the group

>

enabled: Boolean stating if contributions are enabled for the group

members: Number of Meetup members in this group

state: State of the group, if in US or Canada

simple_html_description: Description of the group, in simple HTML source format. If this group's description was saved in simple HTML format, the description field will be an HTML translation of this source

id: Numeric group ID

urlname: Urlname used to identify the group on meetup.com

membership_dues: Optional field, returns membership dues for group if any

>

refund_policy: Conditions for refunds,[object Object]

>

reasons: Array of reasons containing one or more of the following values compensate_organizer, cover_costs, encourage_engagement, improve_meetups, other, provide_supplies, reserve_fund

>

methods: Methods of payments,[object Object]

>

fee: Numeric fee value

>

fee_desc: Description of fee

>

currency: Currency fee is declared as

>

reasons_other: An additional reason if specified.

>

trial_days: When present, returns the number of days the group is offering a free trial period for to new members. When not present, this indicates that the group does not offer a trial membership period

>

self_payment_required: Returns true if the authorized user is prevented from participating in the group until a payment is made

>

required: true if dues are required

>

required_to: If the dues are required this indicates what they are required for. May be one of 'join' or 'rsvp'

lat: Latitude

next_event: The next upcoming event, if the group has one

>

name: Name of event

>

id: Alphanumeric event ID

>

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

list_mode: Optional fields parameter representing the policy for who can post the group mailing list. One of moderated, off, open, orgs_only

ga_code: Optional field return the Google Analytics code for the group. Only members that can edit group settings can see this

join_info: Optional field, lists any questions requested when joining and required fields

>

questions: List of questions asked by organizer,[object Object]

>

questions_req: true if required, false otherwise

>

photo_required: true if required, false otherwise

visibility: Who can see this group. One of members, public or public_limited

topics: Optional fields parameter. Returns the group's topics

>

name: Display name of the topic

>

urlkey: The unique keyword used to identify this topic

>

id: Numeric topic id

>

lang: Language topic originates from

created: Time the group was created in milliseconds since the epoch

list_addr: Optional field returning list address prefix. List mail will be {list_addr}-list@meetup.com. Announce email will be {list_addr}-announce@meetup.com. You must be a member of the group to see this

organizer: Group's primary organizer

>

name: Name of member

>

bio: Bio of member

>

id: Numeric member ID

name: Name of the group

self: Optional field, contains details specific to the authorized user if an active member of this group

>

visited: Member's last visit to the group site, in milliseconds since the epoch

>

role: Member's role in group, if any: Organizer, Assistant Organizer, Event Organizer, etc.

>

membership_dues: Member's membership dues if the group has membership dues,[object Object]

>

actions: list of actions the current user may perform, potentially "event_create": the ability to create new events, "event_draft": the ability to save new events as drafts, "role_assign": the ability to assign member roles, or "edit": the ability to edit group settings

>

status: Optional fields property returned when 'self_status' is provided. Indicates the authorized user's membership with this group. Value may be one of pending, pending_payment, active, blocked or none

category: The primary category of the group, if the group has one

>

name: Display name of the category

>

id: Numeric category id

>

shortname: String identifier of the category

who: What the group calls its members

Group Topics Add

Associates topics with a given Meetup Group. Limited to organizers of the group. OAuth authenticated requests require an additional group_edit permission.

meetup.postTopics(parameters, function(err, resp) {
	console.log(err, resp);
});

Request Parameters

A group can have at most 15 topics

*topic_id: Comma-delimited list of topic ids to associate with group

*urlname: Group URL Name

Response

A successful response will include a representation of the group topics were added to

country: Country of the group

city: City of the group

similar_groups: Optional fields parameter. Returns up to 5 groups similar to this groups

>

join_mode: Who can join this group and how. One of approval, closed, open

>

name: Name of the group

>

lon: Longitude

>

id: Id of the group

>

urlname: Urlname used to identify the group on meetup.com

>

photos: Optional fields parameter. A small set of photos from the group,[object Object]

>

lat: Latitude

>

who: What this group calls it's members

timezone: This represents the universal timezone identifier for the group

link: Link to group on meetup.com

description: Short description of group

lon: Longitude

welcome_message: Optional fields parameter. Returns the Group's default welcome message if the authenticated member is the organizer of the group

is_simplehtml: Optional field, 'true' when the group description has been saved in a simplified HTML format, 'false' otherwise.

group_photo: Group photo

>

id: Numeric photo ID

>

highres_link: Link for full sized photo

>

photo_link: Link for standard sized photo

>

thumb_link: Link for thumbnail sized photo

photos: A small set of photos from the group

>

id: Numeric photo ID

>

highres_link: Link for full sized photo

>

photo_link: Link for standard sized photo

>

thumb_link: Link for thumbnail sized photo

short_link: Optional field, a shorted URL for the group

join_mode: Who can join this group and how. One of approval, closed, open

contributions: Optional field containing the contribution details of the group

>

thanks: The 'thank you' message to be given when a contribution is made

>

reason: The reason a member might consider contributing

>

potential: Boolean stating that potential contributions are enabled for the group

>

enabled: Boolean stating if contributions are enabled for the group

members: Number of Meetup members in this group

state: State of the group, if in US or Canada

simple_html_description: Description of the group, in simple HTML source format. If this group's description was saved in simple HTML format, the description field will be an HTML translation of this source

id: Numeric group ID

urlname: Urlname used to identify the group on meetup.com

membership_dues: Optional field, returns membership dues for group if any

>

refund_policy: Conditions for refunds,[object Object]

>

reasons: Array of reasons containing one or more of the following values compensate_organizer, cover_costs, encourage_engagement, improve_meetups, other, provide_supplies, reserve_fund

>

methods: Methods of payments,[object Object]

>

fee: Numeric fee value

>

fee_desc: Description of fee

>

currency: Currency fee is declared as

>

reasons_other: An additional reason if specified.

>

trial_days: When present, returns the number of days the group is offering a free trial period for to new members. When not present, this indicates that the group does not offer a trial membership period

>

self_payment_required: Returns true if the authorized user is prevented from participating in the group until a payment is made

>

required: true if dues are required

>

required_to: If the dues are required this indicates what they are required for. May be one of 'join' or 'rsvp'

lat: Latitude

next_event: The next upcoming event, if the group has one

>

name: Name of event

>

id: Alphanumeric event ID

>

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

list_mode: Optional fields parameter representing the policy for who can post the group mailing list. One of moderated, off, open, orgs_only

ga_code: Optional field return the Google Analytics code for the group. Only members that can edit group settings can see this

join_info: Optional field, lists any questions requested when joining and required fields

>

questions: List of questions asked by organizer,[object Object]

>

questions_req: true if required, false otherwise

>

photo_required: true if required, false otherwise

visibility: Who can see this group. One of members, public or public_limited

topics: Optional fields parameter. Returns the group's topics

>

name: Display name of the topic

>

urlkey: The unique keyword used to identify this topic

>

id: Numeric topic id

>

lang: Language topic originates from

created: Time the group was created in milliseconds since the epoch

list_addr: Optional field returning list address prefix. List mail will be {list_addr}-list@meetup.com. Announce email will be {list_addr}-announce@meetup.com. You must be a member of the group to see this

organizer: Group's primary organizer

>

name: Name of member

>

bio: Bio of member

>

id: Numeric member ID

name: Name of the group

self: Optional field, contains details specific to the authorized user if an active member of this group

>

visited: Member's last visit to the group site, in milliseconds since the epoch

>

role: Member's role in group, if any: Organizer, Assistant Organizer, Event Organizer, etc.

>

membership_dues: Member's membership dues if the group has membership dues,[object Object]

>

actions: list of actions the current user may perform, potentially "event_create": the ability to create new events, "event_draft": the ability to save new events as drafts, "role_assign": the ability to assign member roles, or "edit": the ability to edit group settings

>

status: Optional fields property returned when 'self_status' is provided. Indicates the authorized user's membership with this group. Value may be one of pending, pending_payment, active, blocked or none

category: The primary category of the group, if the group has one

>

name: Display name of the category

>

id: Numeric category id

>

shortname: String identifier of the category

who: What the group calls its members

Group Edit

Allows organizers to edit their Meetup group information. To change group topics, see the add and remove topics endpoints. To change group photo use the Group photo upload endpoint. OAuth authenticated requests require an additional group_edit permission.

meetup.editGroup(parameters, function(err, resp) {
	console.log(err, resp);
});

Request Parameters

All parameters are optional.

zip: The ZIP code of the city

country: The ISO_3166-1 country code for the country which contains the city

list_mode: Defines policy for who can post to the group mailing list. May be one of 'open' meaning any Member can post, 'off' meaning no one can post, 'moderated' meaning messages must be approved, or 'orgs_only' meaning only organizers may post to the list

dryrun: Boolean parameter that will cause this endpoint to apply all validation rules without actually saving changes in which case the response will only reflect the group's current attributes

ga_code: Google Analytics code for group

remove_topics: Comma-delimited list of topic ids to disassociate with group

visibility: Restricts group visibility for non-members. May be one of 'public', 'public_limited' or 'members'. Note, the 'members' option is only available to groups that already have 'members' visibility

question_{index}: A new profile question defined in the order of index provided in the request parameter name

photo_req: Indicates that a member must provide a photo before joining. Expects true or false values

description: Summary of what the Meetup group is about in simple HTML format

questions_req: Indicates that provide questions are required before joining. Expects true or false values

welcome_message: Message sent to members after they join. Can be at most 2000 characters

join_mode: Controls how member's are let into the group. May be one of 'open' meaning any Meetup member my join, 'closed' meaning group is not currently accepting new members, or 'approval' meaning members must be approved by an organizer. Note, the 'closed' options is only available to groups that already have a 'closed' join_mode

list_addr: Mailing list prefix. By default this is the Group's urlname.

add_topics: Comma-delimited list of topic ids to associate with group

{service}_uri: A URI for a social network service. Service must be one of facebook, flickr, linkedin, other, tumblr, twitter

name: Display name of the group. Can be at most 60 characters

question_edit_{id}: Edits a current profile question identified by an id in the parameter name. The index updated index should also be encoded in the parameter name. To delete a question, set this to an empty string. Groups that require profile questions must have at least one question

urlname: Name used for the groups web address on meetup.com. Must be between 6 and 60 characters

who: What members of the group will be called. Can be at most 32 characters

*urlname: Group URL Name

Response

A successful response will include a representation of the updated group as a JSON object

country: Country of the group

city: City of the group

similar_groups: Optional fields parameter. Returns up to 5 groups similar to this groups

>

join_mode: Who can join this group and how. One of approval, closed, open

>

name: Name of the group

>

lon: Longitude

>

id: Id of the group

>

urlname: Urlname used to identify the group on meetup.com

>

photos: Optional fields parameter. A small set of photos from the group,[object Object]

>

lat: Latitude

>

who: What this group calls it's members

timezone: This represents the universal timezone identifier for the group

link: Link to group on meetup.com

description: Short description of group

lon: Longitude

welcome_message: Optional fields parameter. Returns the Group's default welcome message if the authenticated member is the organizer of the group

is_simplehtml: Optional field, 'true' when the group description has been saved in a simplified HTML format, 'false' otherwise.

group_photo: Group photo

>

id: Numeric photo ID

>

highres_link: Link for full sized photo

>

photo_link: Link for standard sized photo

>

thumb_link: Link for thumbnail sized photo

photos: A small set of photos from the group

>

id: Numeric photo ID

>

highres_link: Link for full sized photo

>

photo_link: Link for standard sized photo

>

thumb_link: Link for thumbnail sized photo

short_link: Optional field, a shorted URL for the group

join_mode: Who can join this group and how. One of approval, closed, open

contributions: Optional field containing the contribution details of the group

>

thanks: The 'thank you' message to be given when a contribution is made

>

reason: The reason a member might consider contributing

>

potential: Boolean stating that potential contributions are enabled for the group

>

enabled: Boolean stating if contributions are enabled for the group

members: Number of Meetup members in this group

state: State of the group, if in US or Canada

simple_html_description: Description of the group, in simple HTML source format. If this group's description was saved in simple HTML format, the description field will be an HTML translation of this source

id: Numeric group ID

urlname: Urlname used to identify the group on meetup.com

membership_dues: Optional field, returns membership dues for group if any

>

refund_policy: Conditions for refunds,[object Object]

>

reasons: Array of reasons containing one or more of the following values compensate_organizer, cover_costs, encourage_engagement, improve_meetups, other, provide_supplies, reserve_fund

>

methods: Methods of payments,[object Object]

>

fee: Numeric fee value

>

fee_desc: Description of fee

>

currency: Currency fee is declared as

>

reasons_other: An additional reason if specified.

>

trial_days: When present, returns the number of days the group is offering a free trial period for to new members. When not present, this indicates that the group does not offer a trial membership period

>

self_payment_required: Returns true if the authorized user is prevented from participating in the group until a payment is made

>

required: true if dues are required

>

required_to: If the dues are required this indicates what they are required for. May be one of 'join' or 'rsvp'

lat: Latitude

next_event: The next upcoming event, if the group has one

>

name: Name of event

>

id: Alphanumeric event ID

>

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

list_mode: Optional fields parameter representing the policy for who can post the group mailing list. One of moderated, off, open, orgs_only

ga_code: Optional field return the Google Analytics code for the group. Only members that can edit group settings can see this

join_info: Optional field, lists any questions requested when joining and required fields

>

questions: List of questions asked by organizer,[object Object]

>

questions_req: true if required, false otherwise

>

photo_required: true if required, false otherwise

visibility: Who can see this group. One of members, public or public_limited

topics: Optional fields parameter. Returns the group's topics

>

name: Display name of the topic

>

urlkey: The unique keyword used to identify this topic

>

id: Numeric topic id

>

lang: Language topic originates from

created: Time the group was created in milliseconds since the epoch

list_addr: Optional field returning list address prefix. List mail will be {list_addr}-list@meetup.com. Announce email will be {list_addr}-announce@meetup.com. You must be a member of the group to see this

organizer: Group's primary organizer

>

name: Name of member

>

bio: Bio of member

>

id: Numeric member ID

name: Name of the group

self: Optional field, contains details specific to the authorized user if an active member of this group

>

visited: Member's last visit to the group site, in milliseconds since the epoch

>

role: Member's role in group, if any: Organizer, Assistant Organizer, Event Organizer, etc.

>

membership_dues: Member's membership dues if the group has membership dues,[object Object]

>

actions: list of actions the current user may perform, potentially "event_create": the ability to create new events, "event_draft": the ability to save new events as drafts, "role_assign": the ability to assign member roles, or "edit": the ability to edit group settings

>

status: Optional fields property returned when 'self_status' is provided. Indicates the authorized user's membership with this group. Value may be one of pending, pending_payment, active, blocked or none

category: The primary category of the group, if the group has one

>

name: Display name of the category

>

id: Numeric category id

>

shortname: String identifier of the category

who: What the group calls its members

Get Group

Fetches a Meetup Group by urlname

meetup.getGroup(parameters, function(err, resp) {
	console.log(err, resp);
});

Request Parameters

Only the path param :urlname is required

fields: A comma-delimited list of optional fields to append to the response

*urlname: Group URL Name

Response

A successful response will include a representation of the group as a JSON object

country: Country of the group

city: City of the group

similar_groups: Optional fields parameter. Returns up to 5 groups similar to this groups

>

join_mode: Who can join this group and how. One of approval, closed, open

>

name: Name of the group

>

lon: Longitude

>

id: Id of the group

>

urlname: Urlname used to identify the group on meetup.com

>

photos: Optional fields parameter. A small set of photos from the group,[object Object]

>

lat: Latitude

>

who: What this group calls it's members

timezone: This represents the universal timezone identifier for the group

link: Link to group on meetup.com

description: Short description of group

lon: Longitude

welcome_message: Optional fields parameter. Returns the Group's default welcome message if the authenticated member is the organizer of the group

is_simplehtml: Optional field, 'true' when the group description has been saved in a simplified HTML format, 'false' otherwise.

group_photo: Group photo

>

id: Numeric photo ID

>

highres_link: Link for full sized photo

>

photo_link: Link for standard sized photo

>

thumb_link: Link for thumbnail sized photo

photos: A small set of photos from the group

>

id: Numeric photo ID

>

highres_link: Link for full sized photo

>

photo_link: Link for standard sized photo

>

thumb_link: Link for thumbnail sized photo

short_link: Optional field, a shorted URL for the group

join_mode: Who can join this group and how. One of approval, closed, open

contributions: Optional field containing the contribution details of the group

>

thanks: The 'thank you' message to be given when a contribution is made

>

reason: The reason a member might consider contributing

>

potential: Boolean stating that potential contributions are enabled for the group

>

enabled: Boolean stating if contributions are enabled for the group

members: Number of Meetup members in this group

state: State of the group, if in US or Canada

simple_html_description: Description of the group, in simple HTML source format. If this group's description was saved in simple HTML format, the description field will be an HTML translation of this source

id: Numeric group ID

urlname: Urlname used to identify the group on meetup.com

membership_dues: Optional field, returns membership dues for group if any

>

refund_policy: Conditions for refunds,[object Object]

>

reasons: Array of reasons containing one or more of the following values compensate_organizer, cover_costs, encourage_engagement, improve_meetups, other, provide_supplies, reserve_fund

>

methods: Methods of payments,[object Object]

>

fee: Numeric fee value

>

fee_desc: Description of fee

>

currency: Currency fee is declared as

>

reasons_other: An additional reason if specified.

>

trial_days: When present, returns the number of days the group is offering a free trial period for to new members. When not present, this indicates that the group does not offer a trial membership period

>

self_payment_required: Returns true if the authorized user is prevented from participating in the group until a payment is made

>

required: true if dues are required

>

required_to: If the dues are required this indicates what they are required for. May be one of 'join' or 'rsvp'

lat: Latitude

next_event: The next upcoming event, if the group has one

>

name: Name of event

>

id: Alphanumeric event ID

>

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

list_mode: Optional fields parameter representing the policy for who can post the group mailing list. One of moderated, off, open, orgs_only

ga_code: Optional field return the Google Analytics code for the group. Only members that can edit group settings can see this

join_info: Optional field, lists any questions requested when joining and required fields

>

questions: List of questions asked by organizer,[object Object]

>

questions_req: true if required, false otherwise

>

photo_required: true if required, false otherwise

visibility: Who can see this group. One of members, public or public_limited

topics: Optional fields parameter. Returns the group's topics

>

name: Display name of the topic

>

urlkey: The unique keyword used to identify this topic

>

id: Numeric topic id

>

lang: Language topic originates from

created: Time the group was created in milliseconds since the epoch

list_addr: Optional field returning list address prefix. List mail will be {list_addr}-list@meetup.com. Announce email will be {list_addr}-announce@meetup.com. You must be a member of the group to see this

organizer: Group's primary organizer

>

name: Name of member

>

bio: Bio of member

>

id: Numeric member ID

name: Name of the group

self: Optional field, contains details specific to the authorized user if an active member of this group

>

visited: Member's last visit to the group site, in milliseconds since the epoch

>

role: Member's role in group, if any: Organizer, Assistant Organizer, Event Organizer, etc.

>

membership_dues: Member's membership dues if the group has membership dues,[object Object]

>

actions: list of actions the current user may perform, potentially "event_create": the ability to create new events, "event_draft": the ability to save new events as drafts, "role_assign": the ability to assign member roles, or "edit": the ability to edit group settings

>

status: Optional fields property returned when 'self_status' is provided. Indicates the authorized user's membership with this group. Value may be one of pending, pending_payment, active, blocked or none

category: The primary category of the group, if the group has one

>

name: Display name of the category

>

id: Numeric category id

>

shortname: String identifier of the category

who: What the group calls its members

API Status

Returns the current API service status

meetup.getStatus(function(err, resp) {
	console.log(err, resp);
});

Request Parameters

No parameters required.

Response

Returns a JSON-encoded object reprsenting the current API service status

message: A human displayable message

status: May be one of 'ok', 'notice', or 'unavailable'

Comments

API method for accessing meetup group comments

meetup.getComments(parameters, function(err, resp) {
	console.log(err, resp);
});

Request Parameters

At least one of the required parameter(s) must be supplied with the request.

*topic, groupnum: Return comments for the group with given topic and number

*group_id: Return comments in groups with these ID numbers [separated by commas]

*group_urlname: Return comments for the group with this custom URL path

Ordering

ctime: the date the comment was posted

Response

lat,lon: Latitude and longitude coordinates of the members reported city

country,city,state: Country, City, (and for the US, State) the member has provided

created: The time and date that the comment was created

link: Link to the members profile page

name: The name of the member that posted the comment

comment: Text of the comment that was posted

photo_url: Link to the profile photo of the member

Photo Album2

This method creates photo albums within a Meetup group

meetup.postPhotoAlbum(parameters, function(err, resp) {
	console.log(err, resp);
});

Request Parameters

All of the required parameters must be supplied with the request, which must be an HTTP POST. The currently authenticated user must be an organizer (main, assistant, or co-) of the specified group

*group_id: Group to create the album in

*title: Title of the new album

Response

If successful, this method responds with a "201 Created" status and a json or XML body consisting of the album data in the same fields as the response items of the Photo Albums method.

Membership Decline

Declines one or more requests for group membership

meetup.membershipDecline(parameters, function(err, resp) {
	console.log(err, resp);
});

Request Parameters

The urlname parameter may be any valid group urlname or domain name. To get a list of pending members, as an organizer, you can request the status pending in the /2/profiles method.

member: Comma-delimited numeric pending member IDs. The maximum allowed is 200

anon: Optional Boolean value indicating whether your email should be revealed to the members. Default is false.

send_copy: Optional Boolean value indicating whether or to send a copy to the member issuing the decline. Default is true

explanation: Optional explanation to send to the members being declined. Max message size is 2000

ban: Optional Boolean value indicating whether or not to ban the member in the future. Default is false

*urlname: Group URL Name

Response

A successful request will result in a simple JSON-encoded message with an HTTP 200 response

Photos

This method returns photos by member, group, album, event, photo ID, or tagged member.

meetup.getStreamPhotos(parameters, function(err, resp) {
	console.log(err, resp);
});

Request Parameters

At least one of the required parameter(s) must be supplied with the request.

*photo_id: Photo IDs, separated by commas

*group_urlname: Group urlnames, separated by commas

*event_id: Event ids, separated by commas. These may contain alphanumeric autoscheduled event ids, only photos of reified events will be returned

*tagged: Tagged with members with these IDs, separated by commas

*photo_album_id: Photo Album IDs, separated by commas

*member_id: Uploaded by members with these IDs, separated by commas

time: Return photos uploaded within the given time range, defined by two times separated with a single comma. Each end of the range may be specified with relative dates, such as "1m" for one month from now, or by absolute time in milliseconds since the epoch. If an endpoint is omitted, the range is unbounded on that end. The default value is unbounded on both ends (though restricted to the search window described above).

fields: comma-delimited optional response properties such as member_country, member_city, member_state, and self

*group_id: Group IDs, separated by commas

Ordering

time: creation date and time

Response

comment_count: Optional fields parameter. When requested, this returns the number of comments made about this photo

site_link: URL for photo in photo album on meetup.com, available when requested in the fields parameter

highres_link: URL for the photo at its maximum size

photo_id: Unique identifier of the photo

created: Created time in milliseconds since the epoch

member_photo: Optional member photo of the uploading member

>

highres_link: URL for the photo at its maximum size

>

photo_id: Photo ID

>

photo_link: URL for a standard size of the photo

>

thumb_link: URL for a thumbnail of the photo

caption: Photo caption

thumb_link: URL for a thumbnail the photo

photo_album: -

>

photo_album_id: Unique identifier of the album

>

event_id: Event ID if this is an event photo album

>

event: Extra event info returned when requested in the "fields" parameter,[object Object]

>

group_id: ID of the group that created the album

member: Member that uploaded the photo

>

member_id: Member's ID

>

name: Name of the member

>

member_country: Optional field

>

member_state: Optional field

>

member_city: Optional field

self: Optional field, contains details specific to the authorized user

>

actions: list of actions the current user may perform, potentially "delete"

>

role: Member's role in group, if any: Organizer, Assistant Organizer, Event Organizer, etc.

photo_link: URL for a standard size of the photo

updated: Last updated time in milliseconds since the epoch

Membership Approval

Approves one or more requests for group membership

meetup.membershipApproval(parameters, function(err, resp) {
	console.log(err, resp);
});

Request Parameters

The urlname parameter may be any valid group urlname or domain name. If you need access to your group's welcome message, you can access it from the /2/groups method, providing a value of welcome_message for the fields parameter. To get a list of pending members, as an organizer, you can request the status pending in the /2/profiles method.

member: Comma-delimited numeric pending member IDs. The maximum allowed is 200

welcome_message: Optional message to send to the members being approved. If not provided, the groups default welcome message will be sent. Max message size is 2000

send_copy: Optional Boolean value indicating whether or not the org should receive a copy of the message sent to the approved members

*urlname: Group URL Name

Response

A successful request will result in a simple JSON-encoded message with an HTTP 200 response.

Photo Albums

This method returns photo albums associated with Meetup groups. To create albums, see the corresponding write method.

meetup.getPhotoAlbums(parameters, function(err, resp) {
	console.log(err, resp);
});

Request Parameters

At least one of the required parameter(s) must be supplied with the request.

*photo_album_id: Return albums with these IDs, separated by commas

*group_id: Return albums in groups with these ID, separated by commas

*event_id: Return photo albums for these event ids, separated by commas

Ordering

time: creation date and time

title: title of the album

updated: album updated field

Response

photo_album_id: Unique identifier of the album

photo_count: Number of photos in the album

event_id: Event ID if this is an event photo album

group_id: ID of the group that created the album

ordering: If a custom ordering is defined, a list of photo IDs

created: Created time in milliseconds since the epoch

title: Photo album title

album_photo: Selected photo from the album to display in listings

>

highres_link: URL for the photo at its maximum size

>

photo_id: -

>

photo_link: URL for a standard size of the photo

>

thumb_link: URL for a thumbnail the photo

updated: Last updated time in milliseconds since the epoch

Photo Comment

This method posts comments that appear below photos

meetup.postPhotoComment(parameters, function(err, resp) {
	console.log(err, resp);
});

Request Parameters

All of the required parameters must be supplied with the request, which must be an HTTP POST. The currently authenticated user must be a member of the group hosting the photo

*photo_id: The photo related to this comment.

*comment: The comment text

Response

If successful, this method responds with a "201 Created" status and a JSON or XML body consisting of the posted comment in the same fields as the response items of the Photo Comments method.

Photo Comments

This method returns comments on meetup photos. To post messages, see the corresponding write method

meetup.getPhotoComments(parameters, function(err, resp) {
	console.log(err, resp);
});

Request Parameters

At least one of the required parameters must be supplied by the request.

member_id: Return comments for the given member_ids, separated by commas. The member ids must match up with one of the provided photo ids

*photo_id: Return comments on these photos, separated by commas

fields: Request that additional fields (separated by commas) be included in the output.

Ordering

name: the name of the member

time: Order by the time that each comment was posted

Response

photo_comment_id: Unique identifier for this comment

photo_id: Photo ID where the comment was posted

created: The time and date that the comment was posted, in milliseconds since the epoch

member_photo: If the optional "fields" parameter contains "member_photo", the member photo associated with the comment

>

photo_id: ID of the photo

>

photo_link: URL for the standard sized photo

>

thumb_link: URL for the thumbnail sized photo

>

hires_link: URL for the original sized photo

member: Author of comment

>

member_id: Member's ID

>

name: Name of the member

>

member_country: Optional field

>

member_state: Optional field

>

member_city: Optional field

comment: Text of the comment that was posted

Members

API method for accessing members of Meetup Groups

meetup.getMembers(parameters, function(err, resp) {
	console.log(err, resp);
});

Request Parameters

At least one of the required parameter(s) must be supplied with the request. If any of the groups you specify are private, you will not see its members listed in the result set unless you are a member of that group.

*topic,groupnum: Return members for the group with given topic and number

*group_urlname: Return members for the group with the given custom URL path

*member_id: Return the member with this ID

fields: Request that additional fields (separated by commas) be included in the output.

*group_id: Return members in groups with these ID numbers, separated by commas

*service: Match users by the external services they've linked to their member account, specified as "servicename:identifier". For example, "service=twitter:@MeetupAPI" finds any member account that lists @MeetupAPI as its Twitter name (none, currently). You can query against several at a time by separating them with commas. Facebook identifiers should be provided as numeric values

Ordering

name: the name of the member (default order)

visited: member's most recent activity

joined: time member joined Meetup

Response

birthday: If the authorized is the current member, the member's birthday based on provided information

>

month: Month of birth

>

year: Year of birth

>

day: Day of birth

gender: Optional fields parameter. Members can only see their own gender. May be one of other, none, female, male

link: URL to the member's profile page on meetup.com

bio: A description of the member

privacy: Optional fields parameter. Defines preferences for visibility of certain attributes only returned for the authenticated member

>

groups: may be 'hidden' or 'visible'

>

bio: may be 'hidden' or 'visible'

>

photos: may be 'hidden' or 'visible'

>

topics: may be 'hidden' or 'visible'

>

facebook: may be 'hidden' or 'visible'. If absent, the member has not connected their Facebook account to Meetup

photos: List of all the member's photos returned as an array of the representation of the photo property

messagable: Returned when the "fields" parameter is set to "messaging_pref". Returns "true" if the authenticated member can message them, "false" otherwise.

other_services: Third-party services associated with the member account

>

[service-name]: This element is flickr, tumblr, twitter, or linkedin,[object Object]

id: The member's id

photo_url: Link to the profile photo of the member

lang: The member's current language preference. Returned only when the member in the response matches the authenticated member

hometown: Hometown of member

topics: A sampling of 50 topics this member has subscribed to. Only appears if the queried user has not hidden them, or if the authenticated and queried user are the same

>

urlkey: Unique keyword used to identify this topic

>

name: Topic name

>

id: Topic ID

joined: Date and time a member joined in milliseconds since the epoch

photo: The member's photo if available

>

highres_link: URL for the photo at its maximum size

>

photo_id: Photo ID

>

photo_link: URL for a standard size of the photo

>

thumb_link: URL for a thumbnail of the photo

reachable: Optional fields parameter. If querying by group and the authorized member is an organizer the member's group, this will return false when the member's email address is known to bounce and true otherwise

lat, lon: Latitude and longitude coordinates of the members reported city

membership_count: Optional field indicating the number of active memberships this member has. If the member has a hidden group preference, this will return 0.

facebook_connection: Optional response field. Only returned for the members matching the authenticated member if the authenticated member has connected their Facebook account to their Meetup account

>

status: The current status of the member's Facebook connection. Status may be one of: 'active', if you have an active Facebook connection or 'inactive', if your previous active connection was deactivated.

name: The member's name

visited: Date and time of member's last activity in milliseconds since the epoch

self: Optional field, details particular to the authorized user.

>

common: What the authorized user and queried member have in common,[object Object]

>

blocks: Boolean indicator of whether or not the authorized member has blocked this member. Only returned if fields is set to self_blocks

country, city, state: Country, City, (and for the US, State) the member has provided

messaging_pref: Returned when the "fields" parameter is set to "messaging_pref". This specifies the members preference for being contacted from members on the site. Possible values are "orgs_only", "groups_only", "all_members"

Chunked HTTP Photo Stream

This method serves photo notifications using chunked encoding to maintian a persistent connection with a client. The connection will only be terminiated for server maintenance or a connection error. It is suitable for low-level HTTP clients rather than web browsers.

meetup.getStreamPhotos(parameters, function(err, resp) {
	console.log(err, resp);
});

Request Parameters

since_mtime: Return recent photos with an mtime greater then the supplied time, in millisends since the epoch

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.

Errors

connection_limit: the client IP has exceeded its maximum number of connections

Response

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

RSVPs

Query for Event RSVPs by event

meetup.getRSVPs(parameters, function(err, resp) {
	console.log(err, resp);
});

Request Parameters

At least one of the required parameter(s) must be supplied with the request.

fields: Parameter for requesting optional response properties, set to other_services for a list of third party services

rsvp: Filters response on RSVP status. "yes" if member RSVP'd yes otherwise "no"

*event_id: Multiple alphanumeric ids may be separated with commas

Ordering

name: the name of the attendee

event: the id or time of the event

social: social connections of the authenticated member

Response

If the RSVP is for a host of a repeating event that hasn't been RSVP'd to by others, the id in the response will be -1 and the mtime will be that of the recurring event

venue: Venue, if selected and not hidden

>

zip: ZIP code if, venue is in US or Canada

>

lat, lon: Geographic coordinates of venue

>

phone: Phone number of venue

>

address_1: Line 1 of venue address

>

city, state, country: City, Country and if in US state of venue

>

address_2: Line 2 of venue address

>

address_3: Line 3 of venue address

>

name: Venue name

>

id: Venue id

>

repinned: true if the editor of the event altered the original venues pin location, false otherwise

comments: The message that the member provided when RSVP was made

created: Creation time of the RSVP, in milliseconds since the epoch.

member_photo: The RSVPing member's photo if available

>

highres_link: URL for the photo at its maximum size

>

photo_id: Photo ID

>

photo_link: URL for a standard size of the photo

>

thumb_link: URL for a thumbnail of the photo

answers: List of answers to event survey questions asked when the member RSVP'd in the order asked, only available to organizers and assistant organizers. By default, this field returns a list of strings answers. You can request more structured answer info including the time the answer was updated, by setting fields=answer_info in the request

>

question: The text of the question asked of the member

>

answer: The members provided answer to the question

>

question_id: The unique id of the question answered

>

updated: The time the answer was last modified in milliseconds since the epoch

rsvp_id: The RSVP id

mtime: Last modified time of the RSVP, in milliseconds since the epoch.

watching: if the current member choose to watch and event for open spot notifications, their response will be waitlist and watching will be true

pay_status: The RSVPer's payment status if the event has an associated fee. Returned only for organizers when 'pay_status' is requested with the fields parameter. This may be one of 'none', 'paid', 'partially_paid', 'payment_pending', 'echeck_pending', 'refund_pending', 'partially_refunded', 'refunded'.

response: "yes", "no", "waitlist" or "yes_pending_payment" which is the response returned after RSVPing "yes" to an event that requires payment.

guests: Number of guests the RSVP'd member will be bringing

host: Optional field, `true` if RSVP is for an event host

member: Member who RSVP'd

>

member_id: Member's ID

>

other_services: Third-party services associated with the member account,[object Object]

>

member_state: Optional field

>

member_city: Optional field

>

name: Name of the member

>

bio: Optional field returned when appending "member_bio" to the "fields" parameter. Contains the member's group "introduction"

>

member_country: Optional field

event: The event associated with the RSVP

>

name: Name of the event

>

id: String ID of the event

>

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

>

event_url: URL of the event's page on meetup.com

group: Group hosting the event

>

join_mode: "open", "approval", or "closed"

>

created: Date and time that the group was founded, in milliseconds since the epoch

>

name: Group name

>

group_lon: Approximate group longitude

>

id: Group id

>

urlname: Group URL name

>

group_lat: Approximate group latitude

>

who: What the group calls its members

RSVP Create/Update

Creates or updates an existing RSVP

meetup.postRSVP(parameters, function(err, resp) {
	console.log(err, resp);
});

Request Parameters

At least one of the required parameter(s) must be supplied with the request.

The RSVP is recorded for the currently authenticated member account, unless a member_id is supplied, in which case the authenticated member must have permissions to edit the event or a host.

Member's RSVP'ing as themselves may supply answers to a Meetup event's survey questions by supplying answers as request parameters corresponding to question ids in the format answer_{question_id}. To discover available Meetup event survey questions, supply the Events 2 method with the 'fields' parameter set to 'survey_questions'.

Repeated attempts to RSVP to the same event given the same member credentials will result in an update to previous RSVP. The state of the event may or may not allow for this update to occur depending on the organizer-defined constraints and pre-requisites for the event.

Note: waitlist responses may be coerced into yes responses when there is space available and yes responses may be coerced into waitlist response when space is not.

If the event requires payment you are required to send an "agree_to_refund" parameter set to the true or false. This represents the authorized members agreement to understanding the event's refund policy.

*rsvp: The RSVP setting - value must be either "yes", "no" or "waitlist"

member_id: Organizers and event hosts may RSVP on behalf of a member by specifying an ID here. As when editing RSVPs on the site, organizers may enter a "yes" for a member even if the event requires payment.

comments: A comment to post along with the RSVP

*event_id: The event that you are RSVP'ing to

guests: Number of guests also coming to the event.

opt_to_pay: For events with fees, the authorized member may opt to pay as part of the RSVP request. This may be set to true or false

answer_{qid}: Answers to event survey questions. Answers may not be longer than 250 characters. Organizers and hosts my not edit or create answers on behalf of members

agree_to_refund: For events with fees, the authorized member must agree to the event's refund policy. This must be set to either true or false

Response

If successful, this method returns a 201 Created response with a Location header containing the RSVP Get method for this event. A 400 Bad request response will be returned if the currently authenticated member can not attend this Meetup.

In cases where a member successfully RSVP's yes to a ticketed event before the payment is processed, the response will be returned as an HTTP 202 Accepted status. A payment_redirect property will be appended to the response body containing the location of the next step you should take to submit the payment online for the event.

If a validation of Event and RSVP state occurs you may wish to inspect the response body for one of these the following error "codes".

'dues_required': You must pay the group's member dues on the full site before you can RSVP for this event

'event_past': This event has already passed

'invalid_event': Invalid event

'invalid_guest_num': Invalid number or guests

'invalid_response': Invalid RSVP response

'payment_required': Payment required to RSVP

'refund_agreement': Member must agree to refund policy

'rsvp_closed': Sorry. RSVPs are now closed so you can't add any more guests.

'rsvp_error': Error RSVPing to event

'rsvper_not_authorized': You need to be an organizer or an event host to RSVP this member

'too_few_spots': There are not enough spots for your rsvp

'too_many_guests': You have specified too many guests

venue: Venue, if selected and not hidden

>

zip: ZIP code if, venue is in US or Canada

>

lat, lon: Geographic coordinates of venue

>

phone: Phone number of venue

>

address_1: Line 1 of venue address

>

city, state, country: City, Country and if in US state of venue

>

address_2: Line 2 of venue address

>

address_3: Line 3 of venue address

>

name: Venue name

>

id: Venue id

>

repinned: true if the editor of the event altered the original venues pin location, false otherwise

comments: The message that the member provided when RSVP was made

payment_redirect: If the event RSVP'd to requires online payment and a yes response was accepted, this field will contain a payment URL you should redirect the authenticated member to in order to complete the online payment

created: Creation time of the RSVP, in milliseconds since the epoch.

member_photo: Rsvping Member's photo

>

highres_link: URL for the photo at its maximum size

>

photo_id: Photo ID

>

photo_link: URL for a standard size of the photo

>

thumb_link: URL for a thumbnail of the photo

answers: List of answers to event survey questions asked when the member RSVP'd in the order asked, only available to organizers and assistant organizers. By default, this field returns a list of strings answers. You can request more structured answer info including the time the answer was updated, by setting fields=answer_info in the request

>

question: The text of the question asked of the member

>

answer: The members provided answer to the question

>

question_id: The unique id of the question answered

>

updated: The time the answer was last modified in milliseconds since the epoch

rsvp_id: The RSVP id

mtime: Last modified time of the RSVP, in milliseconds since the epoch.

watching: if the current member choose to watch and event for open spot notifications, their response will be waitlist and watching will be true

pay_status: The RSVPer's payment status if the event has an associated fee. Returned only for organizers when 'pay_status' is requested with the fields parameter. This may be one of 'none', 'paid', 'partially_paid', 'payment_pending', 'echeck_pending', 'refund_pending', 'partially_refunded', 'refunded'.

response: "yes", "no", "waitlist" or "yes_pending_payment" which is the response returned after RSVPing "yes" to an event that requires payment.

tallies: The current set of counts for RSVPs

>

no: Number of no rsvps

>

maybe: Number of maybe rsvps

>

yes: Number of yes rsvps

host: Optional field, `true` if RSVP is for an event host

member: Member who RSVP'd

>

member_id: Member's ID

>

other_services: Third-party services associated with the member account,[object Object]

>

member_state: Optional field

>

member_city: Optional field

>

name: Name of the member

>

bio: Optional field returned when appending "member_bio" to the "fields" parameter. Contains the member's group "introduction"

>

member_country: Optional field

guests: Number of guests the RSVP'd member will be bringing

event: The event associated with the RSVP

>

name: Name of the event

>

id: String ID of the event

>

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

>

event_url: URL of the event's page on meetup.com

group: Group hosting the event

>

join_mode: "open", "approval", or "closed"

>

created: Date and time that the group was founded, in milliseconds since the epoch

>

name: Group name

>

group_lon: Approximate group longitude

>

id: Group id

>

urlname: Group URL name

>

group_lat: Approximate group latitude

>

who: What the group calls its members

WebSocket Photo Stream

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.

meetup.getStreamPhotos(parameters)
	.on('data', function(resp) {
		console.log(resp);
	});
	.on('close', function() {
		console.log('done!');
	});

Request Parameters

The full url for this method is ws://stream.meetup.com/2/photos

since_mtime: Return recent photos with an mtime greater then the supplied time, in millisends since the epoch

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.

Errors

connection_limit: the client IP has exceeded its maximum number of connections

Response

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

Topic Categories

Returns a list of Meetup topic categories

meetup.getTopicCategories(parameters, function(err, resp) {
	console.log(err, resp);
});

Request Parameters

No parameters required parameters

fields: Parameter for requesting optional response properties

lat,lon,radius: Use a given lat/lon/radius (miles) to search best_topics for instead of using the member's lat/lon. When present, all three are required.

Ordering

shortname: (default order) ascending

Response

best_topics: Optional fields parameter representing the best topic matches for the category

>

urlkey: The unique keyword used to identify this topic

>

name: The name of the topic

>

id: Topic ID

icon: An icon representing the category

>

highres_link: URL for the photo at its maximum size

>

photo_id: Photo ID

>

photo_link: URL for a standard size of the photo

>

thumb_link: URL for the thumbnail sized photo

name: Display name of the category

photo: A photo representing the category

>

highres_link: URL for the photo at its maximum size

>

photo_id: Photo ID

>

photo_link: URL for a standard size of the photo

>

thumb_link: URL for the thumbnail sized photo

topic: A topic linked to the category

>

urlkey: The unique keyword used to identify this topic

>

name: The name of the topic

>

id: Topic ID

category_ids: list of category ids associated with this topic category

shortname: String identifier of the category

Long-Polling RSVP Stream

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.

meetup.getRSVPs(parameters, function(err, resp) {
	console.log(err, resp);
});

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.

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

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.

event_id: Limit notifications to a specific event id. Use alphanumeric ids for repeating events.

Errors

connection_limit: the client IP has exceeded its maximum number of connections

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.

venue: Venue, if public

>

venue_name: -

>

lon: Longitude of the venue

>

lat: Latitude of the venue

>

venue_id: Unique numeric identifier

response: "yes" or "no"

guests: Number of guests the member is bringing

member: Member who RSVP'd

>

member_id: Unique numeric id

>

other_services: e.g. {"twitter": {"identifier": "MeetupAPI"}}

>

photo: Thumbnail URL for member photo if one exists

>

member_name: Full name given

rsvp_id: Unique numeric identifier

event: Event for the RSVP

>

event_name: Name of the event

>

event_id: Unique alphanumeric identifier

>

time: Event time if set in milliseconds since the epoch

>

event_url: URL to the full event page

mtime: Last modified time of this RSVP, in milliseconds since the epoch

group: Group hosting the event

>

group_topics: Topics associated with this group,[object Object]

>

group_city: Group's home city

>

group_country: two-letter code of group's home country

>

group_id: Numeric identifier of the group

>

group_name: -

>

group_lon: Longitude of group's approximate location

>

group_urlname: Unique portion of group's URL, no slashes

>

group_state: two-letter code of group's home state, if in US or CA

>

group_lat: Latitude of group's approximate location

Chunked HTTP Event Comments Stream

Live HTTP stream of Event Comments 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.

meetup.getEventComments(parameters, function(err, resp) {
	console.log(err, resp);
});

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_mtime: Return recent Event Comments with an mtime greater than the supplied time, in milliseconds since the epoch

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.

event_id: Limit notifications to a specific event id. Use alphanumeric ids for repeating events.

Errors

connection_limit: the client IP has exceeded its maximum number of connections

Response

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

WebSockets Event Comments Stream

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.

meetup.getStreamEventComments(parameters)
	.on('data', function(resp) {
		console.log(resp);
	});
	.on('close', function() {
		console.log('done!');
	});

Request Parameters

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

since_mtime: Return recent Event Comments with an mtime greater than the supplied time, in milliseconds since the epoch

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.

event_id: Limit notifications to a specific event id. Use alphanumeric ids for repeating events.

Errors

connection_limit: the client IP has exceeded its maximum number of connections

Response

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

Long-Polling Event Comments Stream

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

meetup.getEventComments(parameters, function(err, resp) {
	console.log(err, resp);
});

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 Event Comment notification objects. If this

parameter is not supplied, the chunked stream is joined instead.

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

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.

event_id: Limit notifications to a specific event id. Use alphanumeric ids for repeating events.

Errors

connection_limit: the client IP has exceeded its maximum number of connections

Response

Event Comment 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.

member: Member who posted the comment

>

member_id: Unique numeric id

>

photo: If available, the photo of the member posting the comment

>

member_name: Full name given

comment: The comment text

id: Unique numeric identifier

event: Event comment was posted in

>

event_name: Name of the event

>

event_id: Unique numeric id

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

status: Set to 'active' or 'deleted'. Comments are republished to the stream when members delete them, so that apps may update their local comment display.

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_name: -

>

group_lon: Longitude of group's approximate location

>

group_urlname: Unique portion of group's URL, no slashes

>

group_state: two-letter code of group's home state, if in US or CA

>

group_lat: Latitude of group's approximate location

Chunked HTTP Open Venues Stream

Live HTTP stream of the creation and modification of public Meetup venues using chunked encoding to maintian a persistent connection with a client. The connection will only be terminiated for server maintenance or a connection error. It is suitable for low-level HTTP clients rather than web browsers.

meetup.getOpenVenues(parameters, function(err, resp) {
	console.log(err, resp);
});

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. This method can also be used to download all of Meetup's public venues by passing in the URL request parameter 'trickle'

since_mtime: Return recent open venues with an mtime greater then the supplied time, in milliseconds since the epoch

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.

trickle: When supplied with a request, the Meetup API will push your client the entire Meetup database of public venues in batches of 512

Errors

connection_limit: the client IP has exceeded its maximum number of connections

Response

Responses will be in the format of JSON notification objects, served one per HTTP chuck terminated by newlines

zip: If available, the venue's zipcode

country: If available, the name of the venue's country code

city: If available, the name of the venue's city

address_1: If available, the first address line of the venue

address_2: If available, the second address line of the venue

address_3: If available, the third address line of the venue

lon: If available, the venue's longitude

phone: If available, the venue's phone number

name: If available, the venue's name

state: If available and the venue's country is within the US or Canada, the venue's state

id: ID of the venue

lat: If available, the venue's latitude

Topics

API method for accessing meetup topics

meetup.getTopics(parameters, function(err, resp) {
	console.log(err, resp);
});

Request Parameters

At least one of the required parameter(s) must be supplied with the request.

member_id: Return topics a target member is subscribed to

name: Return topics that match the specified name (e.g. 'Digital Photography', 'Classical Music')

topic: Return members that RSVP'd to events with these ID numbers [separated by commas]

search: Return topics related to a list of search terms [separate search keywords with +'s]

Ordering

name: the topic name

topic: the topic key

alertees: total alertees in the topic

members: total members in the topic

Response

urlkey: The unique keyword used to identify this topic

members: The number of members who belong to groups under this topic

link: A URL of the topic's page on meetup.com updated The last date and time that this topic's information changed

name: The name of the topic

description: A description of the topic

id: The ID of the topic

WebSockets RSVP Stream

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.

meetup.getStreamRSVPs(parameters)
	.on('data', function(resp) {
		console.log(resp);
	});
	.on('close', function() {
		console.log('done!');
	});

Request Parameters

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

since_mtime: Return recent RSVPs with an mtime greater than the supplied time, in milliseconds since the epoch

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.

event_id: Limit notifications to a specific event id. Use alphanumeric ids for repeating events.

Errors

connection_limit: the client IP has exceeded its maximum number of connections

Response

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

Recommend Group Topics

Recommends suggestions for group topics based on a text search or other topics

meetup.getRecommendedGroupTopics(parameters, function(err, resp) {
	console.log(err, resp);
});

Request Parameters

page: Target number of recommendations to return. defaults to 36

text: Free form text search

lang: Defines a language preference for ordering results. Valid values are frptitdeesen_us. You may also substitute this with the Accept-Language header

other_topics: A comma-delimited list of topic ids to inform recommendations

exclude_topics: A comma-delimited list of topic ids to exclude from the recommendations

Response

Returns list of topic object

urlkey: The unique keyword used to identify this topic

group_count: The number of groups using this topic

name: Display name of the topic

id: Numeric topic id

member_count: The number of members interested in this topic

lang: Language topic originates from

Long-Polling Photo Stream

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

meetup.getStreamPhotos(parameters, function(err, resp) {
	console.log(err, resp);
});

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 photo notification objects. If this

parameter is not supplied, the chunked stream is joined instead.

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

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.

event_id: Limit notifications to a specific event id. Use alphanumeric ids for repeating events.

Errors

connection_limit: the client IP has exceeded its maximum number of connections

Response

Photo 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.

photo_album: Photo album this photo belongs to

>

photo_album_id: ID for the photo album

>

event: Event, when available, associated with the photo album,[object Object]

>

group: Group associated with photo album,[object Object]

highres_link: URL for the original sized photo

photo_id: ID of the photo

member: Member that uploaded the photo

>

member_id: ID of the member

>

name: Name of the member

caption: Photo caption if available

ctime: Created time in millisseconds since the epoch

photo_link: URL for the standard sized photo

mtime: Last updated time in milliseconds since the epoch

thumb_link: URL for the thumbail sized photo

OpenEvents Stream

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.

meetup.getStreamOpenEvents(parameters, function(err, resp) {
	console.log(err, resp);
});

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_mtime: Return events with an mtime greater than the supplied time, in milliseconds since the epoch

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.

Errors

connection_limit: the client IP has exceeded its maximum number of connections

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.

utc_offset: The local offset from UTC time, in milliseconds

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

venue: Venue, if selected and not hidden

>

zip: if US or Canada

>

lat, lon: coordinates of venue

>

city, status, country: City, Country and if in US, State of the venue

>

phone: phone number of venue

>

address_1: line 1 of venue address

>

address_2: line 2 of venue address

>

name: venue name

>

address_3: line 3 of venue address

>

id: venue id

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

fee: fee info returned when payment is required

>

description: fee description

>

amount: amount of the fee

>

currency: currency accepted for fee

description: HTML Description of the event

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

event_url: URL of the event's page on meetup.com

yes_rsvp_count: Number of yes RSVPs including guests

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.

payment_required: "1" if required "0" otherwise

name: The name of the event

photo_url: URL of the event photo, if any

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

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

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

group: Group that is hosting

>

join_mode: "open", "approval", or "closed"

>

name: group name

>

id: group id

>

group_lon: group longitude, approximate

>

urlname: group url name

>

category: Group category,[object Object]

>

group_photo: Group photo if one is set,[object Object]

>

group_lat: group latitude, approximate

Recommended Venues

Returns venues Meetup finds relevant to you based on location and category. This method does not yet support sorting or pagination.

meetup.getRecommendedVenues(parameters, function(err, resp) {
	console.log(err, resp);
});

Request Parameters

All parameters are optional. If you do not supply a location your request will be based on your IP's geographic location. If the server is unable to produce recommendations in a suitable amount of time, a 503 error will be returned.

zip: Zip code you are searching for recommendations in

country: A valid two character country code, defaults to US

used_between: Return venues that have been used within the given time range, defined by two times separated with a single comma. Each end of the range may be specified with relative dates, such as "1m" for one month from now, or by absolute time in milliseconds since the epoch. If an endpoint is omitted, the range is unbounded on that end. The default value is unbounded on both ends (though restricted to the search window described above).

min_groups: The minimum number of groups that have hosted events at this venue

group_id: Comma-delimited list of up to 200 group ids to help inform recommendations

location: Raw text location query

lon: Approximate longitude

radius: Radius in miles

category: Comma-delimited list of up to 200 category ids to help inform recommendations

group_urlname: Comma-delimited list of up to 200 group urlnames to help inform recommendations

lat: Approximate latitude

Response

zip: If available, the venue's zipcode

country: If available, the name of the venue's country code

visibility: 'private' if this venue is a private home, otherwise 'public'

city: If available, the name of the venue's city

address_1: If available, the first address line of the venue

address_2: If available, the second address line of the venue

address_3: If available, the third address line of the venue

lon: If available, the venue's longitude

phone: If available, the venue's photo number

name: If available, the venue's name

state: If available and the venue's country id within the US or Canada, the venue's state

id: ID, of the venue

lat: If available, the venue's latitude

OpenVenues

Searches for public venues within a given geo space. To search for specific venues that your group has used, use the Venues method

meetup.getOpenVenues(parameters, function(err, resp) {
	console.log(err, resp);
});

Request Parameters

At least one of the required parameter(s) must be supplied with the request. If you are not able to provide a relative location you may supply a group_urlname which this method will use to infer location from. You can perform prefix searching by appending a * character to your query

*lat: A valid latitude, limits the returned venues to those within radius miles

*state: For the US, a valid 2 character state code

*text: Venues that contain the given term or terms somewhere in their content. Separate terms with " AND " for venues that have combined terms. Append a trailing * to treat this as a prefix search

*zip: A valid US zip code, limits the returned venues to those within radius miles

*country: A valid country code.

*lon: A valid longitude, limits the returned venues to those within radius miles

*group_urlname: Returns venues with location relative to the group associated with this urlname

*city: A valid city

radius: Radius, in miles for geographic requests, default 25.0 -- maximum 100.0

fields: Request that additional fields (separated by commas) be included in the output

Ordering

rating: average member rating

distance: (default order) ordering is approximate and will not exactly match the values in the "distance" field.

rating_count: number of member ratings.

Response

zip: if US or Canada

distance: Distance in miles from the search location, if one was specified

address_1: line 1 of venue address

address_2: line 2 of venue address

address_3: line 3 of venue address

rating: The average member rating

venue_url: URL of the venues's page on meetup.com

rating_count: The number of member ratings

taglist: Optional array of associated tagnames provided when a value of "taglist" is supplied with the "fields" request parameter

lat, lon: coordinates of venue

phone: phone number of venue

city, state, country: City, County and if in US state of venue

name: Name of the venue

id: ID of the venue

fax: fax number of venue

email: email address of venue

Venues

Search for Meetup venues by one of your groups, events, or venue identifiers. For a full text search on public venues use OpenVenues.

meetup.getVenues(parameters, function(err, resp) {
	console.log(err, resp);
});

Request Parameters

At least one of the required parameter(s) must be supplied with the request. You can use either group_urlname or group_id to filter by groups but not both.

*venue_id: multiple ids may be separated with commas

fields: Request that additional fields (separated by commas) be included in the output

*group_id: multiple ids may be separated with commas

*group_urlname: path to group from meetup.com, no slashes

*event_id: multiple ids may be separated with commas

Ordering

rating: average member rating

distance: (default order) ordering is approximate and will not exactly match the values in the "distance" field.

rating_count: number of member ratings.

Response

zip: if US or Canada

distance: Distance in miles from the search location, if one was specified

address_1: line 1 of venue address

address_2: line 2 of venue address

address_3: line 3 of venue address

rating: The average member rating

venue_url: URL of the venues's page on meetup.com

rating_count: The number of member ratings

taglist: Optional array of associated tagnames provided when a value of "taglist" is supplied with the "fields" request parameter

lat, lon: coordinates of venue

phone: phone number of venue

city, state, country: City, County and if in US state of venue

name: Name of the venue

id: ID of the venue

fax: fax number of venue

email: email address of venue

Clone this wiki locally