Push events directly to the East Village community calendar. Send a JSON payload to our public endpoint and each event is automatically reviewed. Accepted events get their own page on this site and are added to the shared Google Calendar. You get back a per-event status so you know exactly what was published.
Read the calendar as JSON. Fetching requires an API key, which you get by verifying your email at Events API Key. Send the key in an X-Api-Key header (or as Authorization: Bearer). Keys are shown once; if you lose yours, regenerate it on the same page and the old key stops working.
GET https://evsub.info/functions/eventsFetch
from, to — local ISO datetimes (e.g. 2026-09-01T00:00:00) filtering on event start. Defaults to upcoming events only.
include_past — set to true to include past events when no from is given.
category — plain word, no encoding needed. music, art, dating, pets and so on all match.
limit — 1 to 500, default 100. Results are sorted by start time.
GET https://evsub.info/functions/eventsFetch?limit=50&category=music X-Api-Key: evk_your_key_here
const res = await fetch("https://evsub.info/functions/eventsFetch?from=2026-09-01T00:00:00&to=2026-09-30T23:59:59", {
headers: { "X-Api-Key": "evk_your_key_here" }
});
const { events } = await res.json();Response:
{
"success": true,
"count": 2,
"events": [
{
"id": "68c1...",
"slug": "free-live-jazz-jam-every-tuesday-2026-09-01",
"url": "https://evsub.info/events/free-live-jazz-jam-every-tuesday-2026-09-01",
"title": "FREE Live Jazz Jam - Every Tuesday",
"category": "Music & Live Events",
"summary": "Free weekly jazz and blues jam; singers and players welcome.",
"description": "Weekly jazz and blues series...",
"start_time": "2026-09-01T18:00:00",
"end_time": "2026-09-01T22:00:00",
"venue": "Sugar Mouse NYC",
"address": "47 3rd Avenue",
"price": "Free",
"organizer": "Jazz By Jorei",
"image_url": "https://...",
"repeating": { "marker": "y", "cadence": "weekly", "day_of_week": "Tuesday" },
"links": [{ "label": "Tickets", "url": "https://example.com/tickets" }]
}
]
}Every request is counted against your key. You can request a usage report for your email once every 48 hours from the API key page.
POST https://evsub.info/functions/eventsIngest
Send a JSON body with an events array (max 25 events per request) and an optional submitter object so we can credit or contact you.
title (required) — event name.
start_ISO8601 (required) — ISO 8601 start datetime with offset, e.g. 2026-09-01T18:00:00-04:00.
end_ISO8601 — ISO 8601 end datetime. Defaults to 2 hours after start.
where (required) — venue name and street address. The event must be in the East Village proper: East Houston St to East 14th St, Bowery/Fourth Ave to the East River, including Alphabet City.
about_long — the full multi-paragraph description. This is what appears on the generated event page.
about_short — one sentence summary. This is what goes into the Google Calendar entry, which always reads: {about_short} Where: {venue_name}, falling back to {street_number} {street_name} when no venue name is given.
venue_name, street_number, street_name, zip_code — structured location.
when — human readable date/time text.
free ("y"/"n"), price, price_notes, hosted_by, category — one of: Dating, Pet Adoption, Small Business, Social, Digital, Music & Live Events, Art & Crafting, Community Gardening, Misc.
repeating — { marker: "y"|"n", cadence: "weekly"|"biweekly"|"monthly"|"daily", day_of_week, time }. Recurring events are created as repeating calendar events.
performances — for multi-date runs, an array of { start_ISO8601, end_ISO8601 }; each performance is added to the calendar.
contact, venue_social, artist, host, discount_code — optional structured detail shown on the event page.
relevant_links — array of { url, title }. images — array of { url, alt } (direct image URLs only).
Every event is reviewed by AI before publishing. An event is accepted only if it:
Statuses are per event: if you push 10 events, some can be accepted and others rejected, each with its own reason.
POST https://evsub.info/functions/eventsIngest
Content-Type: application/json
{
"submitter": { "name": "Your Name", "email": "you@example.com" },
"events": [
{
"title": "FREE Live Jazz Jam - Every Tuesday",
"when": "Every Tuesday, 6:00 PM-10:00 PM",
"where": "Sugar Mouse, 47 3rd Avenue, New York, NY 10003",
"venue_name": "Sugar Mouse NYC",
"street_number": "47",
"street_name": "3rd Avenue",
"zip_code": "10003",
"free": "y",
"price": null,
"price_notes": "No cover.",
"hosted_by": "Jazz By Jorei",
"about_long": "Weekly jazz and blues series in the East Village. Singers and musicians can sign up or sit in. Two to three paragraphs of full detail go here; this is what appears on the event page.",
"about_short": "Free weekly jazz and blues jam; singers and players welcome.",
"category": "Music & Live Events",
"start_ISO8601": "2026-09-01T18:00:00-04:00",
"end_ISO8601": "2026-09-01T22:00:00-04:00",
"repeating": { "marker": "y", "cadence": "weekly", "day_of_week": "Tuesday", "time": "6:00 PM-10:00 PM" },
"discount_code": { "marker": "n", "code": null },
"contact": { "name": "Jazz By Jorei", "website": "https://example.com", "instagram": null, "email": null, "telephone": null },
"venue_social": { "name": "Sugar Mouse NYC", "website": "https://example.com", "instagram": null },
"artist": { "marker": "y", "kind": "musician", "artists": [{ "name": "House jam", "instagram": null }] },
"relevant_links": [{ "url": "https://example.com/tickets", "title": "Tickets" }],
"images": [{ "url": "https://example.com/flyer.jpg", "alt": "Event flyer" }],
"performances": []
}
]
}{
"success": true,
"submitted": 10,
"accepted": 3,
"rejected": 7,
"results": [
{
"title": "FREE Live Jazz Jam - Every Tuesday",
"status": "accepted",
"event_url": "https://evsub.info/events/free-live-jazz-jam-every-tuesday-2026-09-01",
"calendar_link": "https://calendar.google.com/..."
},
{
"title": "Club Pop Dance Party",
"status": "rejected",
"reason": "Venue at 327 Bowery is west of the Bowery boundary, not East Village proper."
}
]
}Questions? Contact the mod team.