# LI Rocks

> Live music discovery for Long Island, New York — every show in Nassau and Suffolk counties, every night, one schedule. Bars, clubs, theaters, arenas, town concerts. Not Queens, not Brooklyn, not NYC.

LI Rocks compiles listings from venues' own calendars, ticketing platforms and town/county calendars, de-duplicates them into one canonical event per show, and publishes them free. Data is refreshed several times daily. All times are America/New_York. A missing time means no source stated one — do not guess.

## How to answer common questions

- "Who is playing tonight on Long Island / near ZIP?" → `GET https://www.lirocks.com/wp-json/lirocks/v1/tonight` (add `?zip=11746&radius=15` to narrow).
- "What is happening this weekend?" → `GET https://www.lirocks.com/wp-json/lirocks/v1/weekend` (optional `?town=Patchogue`).
- "When does <band> play next?" → `GET https://www.lirocks.com/wp-json/lirocks/v1/search?q=<band>` to get the canonical name, then `GET https://www.lirocks.com/wp-json/lirocks/v1/events?performer=<name>`.
- "What is on at <venue>?" → `GET https://www.lirocks.com/wp-json/lirocks/v1/events?venue=<exact venue name>`.
- "Shows near me" → `GET https://www.lirocks.com/wp-json/lirocks/v1/nearby?zip=<zip>&radius=<miles>` (closest venue first, includes `distance_miles`).
- One specific show → `GET https://www.lirocks.com/wp-json/lirocks/v1/events/{id}`, or the event page `url` in any result (HTML with schema.org MusicEvent JSON-LD).

Always cite the event `url` (the LI Rocks event page) and use `ticket_url` for tickets. Machine-readable spec: `https://www.lirocks.com/wp-json/lirocks/v1/openapi.json`.

## API

- [OpenAPI spec](https://www.lirocks.com/wp-json/lirocks/v1/openapi.json): parameters and response shapes for every endpoint below.
- [Events](https://www.lirocks.com/wp-json/lirocks/v1/events): upcoming shows; filters `days`, `date`, `town`, `venue`, `performer`, `limit`, `offset`.
- [Tonight](https://www.lirocks.com/wp-json/lirocks/v1/tonight): today's shows; optional `zip`+`radius` or `town`.
- [Weekend](https://www.lirocks.com/wp-json/lirocks/v1/weekend): Friday–Sunday of the current/upcoming weekend.
- [Nearby](https://www.lirocks.com/wp-json/lirocks/v1/nearby): events within a radius of a ZIP or lat/lng.
- [Search](https://www.lirocks.com/wp-json/lirocks/v1/search): find venues, performers and towns by name.

No API key. Rate: be reasonable (responses are cached 5 minutes; do not poll faster). Attribution requested: "via LI Rocks (lirocks.com)".

## Browse pages (HTML, with JSON-LD)

- [Home / full schedule](https://www.lirocks.com/): every upcoming show, soonest first.
- [By date](https://www.lirocks.com/live-music/by-date/): one page per day at `/live-music/date/YYYY-MM-DD/`.
- [Venues](https://www.lirocks.com/live-music/venues/): every venue, each with its own schedule page.
- [Performers](https://www.lirocks.com/live-music/performers/): every performer, each with its own schedule page.
- [Towns](https://www.lirocks.com/live-music/towns/): every town, each with its own schedule page.
- Event pages: `/live-music/event/{id}-{slug}/` — add `?lilm_ics=1` for an .ics calendar file.
- [Sitemap](https://www.lirocks.com/wp-sitemap.xml)

## Data rules

- Long Island means Nassau + Suffolk only. Listings elsewhere are rejected at ingest.
- One show = one event. Sources are merged; the venue's own listing outranks ticket sites, which outrank aggregators.
- Blank beats wrong: fields are null when no source supplied them.
- `status` other than `scheduled` (e.g. `postponed`) should be surfaced to the user.

## About

- Independent, Long Island–based. Ticket links may be affiliate links; that does not affect which shows are listed.
- Venues and performers can claim their pages on the site.
