This Python + Pipenv + Flask application provides an endpoint to return event data for all organizations listed in the organizations API if they host events on:
- Meetup.com - example API call
- Eventbrite.com - example API call
Meeting services currently not supported: Facebook, Nvite, Open Collective, and custom websites.
If your organization is not included, then connect with us by commenting on one of the issues.
The events listed on supported evebt services are pulled, combined, and re-published in JSON format or JSON+LD every hour at our Events API endpoint. Additional filtering options are described below.
There are three ways to run the appliation (locally, locally with Docker, and web server), but start by reading our CONTRIBUTING.md.
By default, results are returned in JSON format. If an Accept: application/json+ld
header is sent to the API, then it will reply with Schema.org Event markup in JSON+LD format.
- Get all upcoming events by calling /api/gtc
- Get events within a date range by calling /api/gtc?start__date=2018-01-01&end__date=2018-02-01
- the API defaults to providing only upcoming meetings, unless a
start_date
andend_date
are specified - "past events" are limited by the
[past_events] max_days_in_the_past
set in the config.ini file - "US/Eastern" is assumed as the timezone when a date filter is provided
- the API defaults to providing only upcoming meetings, unless a
- Get events with a specific organizations tag by calling /api/gtc?tags=1 - "tags" are applied to an organization in the organizations API. Currently, the organizations API only provides integer tag IDs, such as with this tag #1, representing OpenWorks hosted events, https://events.openupstate.org/api/gtc?tags=1
The format of the JSON that returns is:
[{
"event_name": "Code For Greenville Work Night",
"group_name": "Code for Greenville",
"venue": null,
"url": "https://www.meetup.com/Code-for-Greenville/events/qwpbksyfchbdb/",
"time": "2023-05-02T22:00:00Z",
"tags": "1",
"rsvp_count": 0,
"created_at": "2021-05-27T02:26:52Z",
"description": "Come and Design, Write Copy, Hack on the Code for Greenville Projects. If you are attending for the first time, we'll have an organizer to explain the active projects. ",
"uuid": "9a1c536a-c0a8-4886-b327-435ec1382dd7",
"nid": "7",
"data_as_of": "2022-05-20T02:40:11Z",
"status": "upcoming",
"service_id": "qwpbksyfchbdb",
"service": "meetup"
}]
Note:
- Kudos to @Nunie123 for the initial development
- All timestamps are in UTC.
- The event description fields may include HTML markup. This application does not sanitize those fields and it's unclear if the upstream source should be trusted, so sanitize any output to avoid malicious XSS.