Skip to content

Animal NYC Events API

Animal NYC publishes its upcoming nights as a free, open feed: no key, no sign-up. Use it to list our events in your app or website.

Endpoints

GET https://animal.nyc/api/v1/events

schema.org JSON-LD (the default). Add a switch for plain JSON:

GET https://animal.nyc/api/v1/events?format=json

?format=jsonld is accepted too. Any other value gets a 400. Calendar feed:

GET https://animal.nyc/calendar.ics

Formats

The default is schema.org: an ItemList of MusicEvent, each at a BarOrPub. Google and most event aggregators already read it. Plain JSON is a flat shape for when you don’t want to learn schema.org.

Example

{ "@context": "https://schema.org", "@type": "ItemList", "itemListElement": [ { "@type": "MusicEvent", "@id": "https://animal.nyc/#night-2026-11-05", "identifier": "2026-11-05", "name": "Bears Are Animals", "url": "https://animal.nyc/#schedule", "doorTime": "2026-11-05T16:00:00-05:00", "startDate": "2026-11-05T19:00:00-05:00", "endDate": "2026-11-06T04:00:00-05:00", "eventStatus": "https://schema.org/EventScheduled", "eventAttendanceMode": "https://schema.org/OfflineEventAttendanceMode", "typicalAgeRange": "21-", "isAccessibleForFree": true, "offers": { "@type": "Offer", "description": "No Cover", "url": "https://animal.nyc" }, "image": "https://animal.nyc/og-image.png", "performer": [ { "@type": "Person", "name": "Sindri" }, { "@type": "Person", "name": "Daiyah" } ], "subEvent": [ { "@type": "MusicEvent", "name": "Sindri", "startDate": "2026-11-05T19:00:00-05:00", "endDate": "2026-11-05T22:00:00-05:00", "performer": { "@type": "Person", "name": "Sindri" } }, { "@type": "MusicEvent", "name": "Daiyah", "startDate": "2026-11-05T22:00:00-05:00", "endDate": "2026-11-06T04:00:00-05:00", "performer": { "@type": "Person", "name": "Daiyah" } } ], "organizer": { "@type": "Organization", "name": "ANIMAL", "url": "https://animal.nyc" }, "location": { "@type": "BarOrPub", "name": "ANIMAL", "alternateName": "Animal NYC", "url": "https://animal.nyc", "image": "https://animal.nyc/og-image.png", "description": "GRRL. A Queer Bar Grows in Brooklyn. 307 Meeker Avenue, Brooklyn 11211 | 2PM - 4AM Sat & Sun | 4PM - 4AM Mon - Fri", "sameAs": [ "https://www.instagram.com/animal.nyc" ], "geo": { "@type": "GeoCoordinates", "latitude": 40.7173904, "longitude": -73.9493112 }, "address": { "@type": "PostalAddress", "streetAddress": "307 Meeker Av", "addressLocality": "Brooklyn", "addressRegion": "NY", "postalCode": "11211", "addressCountry": "US" }, "hasMap": "https://maps.app.goo.gl/W7DAXA96AEZzXHyq7", "email": "info@animal.nyc", "telephone": "+17185500280" } } ] }

Times

Every time is Animal NYC’s own local time with its zone offset, such as 2026-11-05T19:00:00-05:00 for 7PM in Brooklyn. The offset says which zone it is; it is not a conversion to UTC. Nights that run past midnight end on the next date.

Caching

The data refreshes every 5 minutes, so please don’t poll more often. Each response is the full snapshot of the next 30 nights: if an event disappears, it was cancelled.

Errors

503 means the schedule is briefly unavailable. Retry later; we never send an empty list when something is wrong. 400 means an unknown format.

Calendar

Subscribe in Google Calendar, or in Apple Calendar and Outlook with webcal://animal.nyc/calendar.ics. Apple Calendar refreshes as often as you set it; Google Calendar refreshes subscribed feeds on its own schedule, often every few hours.

Using the data

Please credit and link back to animal.nyc, don’t rewrite lineups, send a descriptive User-Agent, and don’t read our backend directly.

Contact

Questions, or want to be listed as a partner? Email info@animal.nyc.