Animal LA Events API
Animal LA 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.la/api/v1/eventsschema.org JSON-LD (the default). Add a switch for plain JSON:
GET https://animal.la/api/v1/events?format=json?format=jsonld is accepted too. Any other value gets a 400. Calendar feed:
GET https://animal.la/calendar.icsFormats
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.la/#night-2026-11-11",
"identifier": "2026-11-11",
"name": "FILTHY ANIMAL",
"description": "7PM - CLOSE\nAll-night Happy Hour for queers in gear.\nOpen to all, and all fetish gear encouraged.\nCoat check available.",
"url": "https://animal.la/#schedule",
"doorTime": "2026-11-11T16:00:00-08:00",
"startDate": "2026-11-11T20:00:00-08:00",
"endDate": "2026-11-12T02:00:00-08:00",
"eventStatus": "https://schema.org/EventScheduled",
"eventAttendanceMode": "https://schema.org/OfflineEventAttendanceMode",
"typicalAgeRange": "21-",
"image": "https://animal.la/og-image-la.png",
"performer": [
{
"@type": "Person",
"name": "Rivussy"
}
],
"subEvent": [
{
"@type": "MusicEvent",
"name": "Rivussy",
"startDate": "2026-11-11T20:00:00-08:00",
"endDate": "2026-11-12T00:00:00-08:00",
"performer": {
"@type": "Person",
"name": "Rivussy"
}
}
],
"organizer": {
"@type": "Organization",
"name": "ANIMAL",
"url": "https://animal.la"
},
"location": {
"@type": "BarOrPub",
"name": "ANIMAL",
"alternateName": "Animal LA",
"url": "https://animal.la",
"image": "https://animal.la/og-image-la.png",
"description": "A Queer Bar Prowls into LA's Arts District. 428 S. Hewitt Street, Los Angeles 90013 | 2PM - 2AM Sat & Sun | 4PM - 2AM Tue - Fri",
"sameAs": [
"https://www.instagram.com/animal.losangeles"
],
"geo": {
"@type": "GeoCoordinates",
"latitude": 34.0428244,
"longitude": -118.2349209
},
"address": {
"@type": "PostalAddress",
"streetAddress": "428 S. Hewitt St",
"addressLocality": "Los Angeles",
"addressRegion": "CA",
"postalCode": "90013",
"addressCountry": "US"
},
"hasMap": "https://www.google.com/maps/place/ANIMAL/@34.0428288,-118.2374958,17z/data=!3m1!4b1!4m6!3m5!1s0x80c2c7daa5f04e73:0xf87e2e17d3d3537b!8m2!3d34.0428244!4d-118.2349209!16s%2Fg%2F11z65f_r4v!5m1!1e2",
"email": "info@animal.la"
}
}
]
}Times
Every time is Animal LA’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.la/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.la, 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.la.