Display your Meetup.com Group as an HTML calendar
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.



Meetup is great to organise your local meetup. Meetup also has great sharing and API options. They do support embeding the meetup group together with the next meetup. However, there is no out-of-the-box support to embed your schedule to another website.

This is a Ruby Sinatra project that solves this issue by accessing the Meetup API and simply rendering an HTML table. Hosting can be done on Heroku to get you started. There is also a hosted SaaS version (see below).


As a tutor of the Insopor Zen Academy, I run the Sinopa Zen House. There is a daily meditation schedule that regularly updated on Meetup. However, I want that schedule also to be seen on our website. You can see this as a demo here.

Use as a Service

meetup_cal is generic in that it can render any public Meetup schedule. Instead of installing meetup_cal yourself, you can use this hosted version:


With YourMeetupGroupURL being the Meetup Group URL, eg nystartrek.

If you want to use meetup_\cal as a Service, please note that it will display times for the Europe/Berlin timezone.


If you want to embed it to your own website, use an iframe - similar to Youtube or Voice Republic:

<iframe width="800px" height="800px"

Load via Ajax

You can also load the html via Ajax into your page. For example if you want to show a loading spinner upfront. The required access-control headers are set on this service, so no worries about CORS.

$.get("http://meetup-calendar.herokuapp.com/meetup/MyMeetupGroup", function(data) {


meetup_cal takes the following parameters:

  • 'filter': takes a RegExp to filter the name of the meetup
  • 'show_from_to': when set, this changes the default table columns from |date|time| to |date from|date to|
  • 'limit': set a limit of how often a specific meetup shall be repeated in the table, the default is 25


  • /meetup/MyMeetupGroup
    • will show all meetups with the table columns |date|time|
  • /meetup/MyMeetupGroup?limit=5
    • will show up to 5 meetups per category with the table columns |date|time|
  • /meetup/MyMeetupGroup?limit=5&filter=retreat
    • will show up to 5 meetups that include 'retreat' in the title with the table columns |date|time|
  • /meetup/MyMeetupGroup?limit=5&filter=retreat&show\_from\_to=1
    • will show up to 5 meetups that include 'retreat' in the title with the table columns |date from|date to|



Please refer to the documentation of Heroku to install


To access your meetup calendar via API you will require your API key. You can find it here: https://secure.meetup.com/meetup_api/key/

And then configure Heroku to know about it like this:

heroku config:set MEETUP_API_KEY=[your-api-key]


Export your MEETUP_API_KEY and run rackup config.ru.