For developers & reviewers / v1.0.0
Venue search.
Clear answers.
A read-only JSON API for 200 independent private-event venues in Manhattan, Brooklyn, and Queens. Original wording. Public sources. No invented prices.
Connection details
API base URL: https://venuescoutnyc.com/api. Download the OpenAPI 3.1 specification. All money is in USD. The service does not book venues or check live availability.
Authentication
Send your key in the x-api-key header. The documented reviewer key is demo-key-venuescout; the operator must enable it in VENUE_SCOUT_API_KEYS. This is a public demonstration credential, not a private secret or a built-in bypass.
Search and venue details require a key. Health and the specification are public. Missing or invalid keys return 401:
{ "error": "invalid api key" }
GET /api/venues
All filters are optional and combine with AND. The following request looks for Manhattan venues with a stated capacity of at least 40, a published figure at or below $5,000 or quote-only pricing, and affirmative outdoor-space wording. limit=1 keeps this example compact; count still reports all 21 matches in the included dataset.
curl 'https://venuescoutnyc.com/api/venues?borough=manhattan&min_capacity=40&max_price=5000&outdoor=true&limit=1' \
-H 'x-api-key: demo-key-venuescout'Actual response from the included CSV
{
"count": 21,
"venues": [
{
"id": "the-sixth-floor-loft",
"name": "The Sixth Floor Loft",
"borough": "manhattan",
"neighborhood": "Flatiron District",
"address": "873 Broadway, Sixth Floor, New York, NY 10003",
"capacity_seated": "80 (Spacious Studio 2)",
"capacity_standing": "100 (Spacious Studio 2)",
"price": "Spacious Studio 2 rental from $400/hour (6-hour minimum) or $4,500/day; $250 cleaning fee",
"event_types": "Receptions; workshops; production shoots",
"amenities": {
"outdoor": "rooftop for photo/film shoots only, separately available",
"av_sound": "PA, microphones and projector",
"private_kitchen": "guest prep area with oven, refrigerator and sink",
"wheelchair": "lift and wheelchair access listed; accessible toilets unavailable"
},
"booking_contact": "info@sixthfloorloft.com; 212-982-8113; https://www.sixthfloorloft.com/book",
"sources": {
"name": [
"https://www.sixthfloorloft.com/spacious-studios-2"
],
"borough + neighborhood": [
"https://www.tagvenue.com/us/rooms/new-york/86313/the-sixth-floor-loft/spacious-studio-2"
],
"address": [
"https://www.sixthfloorloft.com/spacious-studios-2"
],
"capacity seated": [
"https://www.sixthfloorloft.com/spacious-studios-2"
],
"capacity standing": [
"https://www.sixthfloorloft.com/spacious-studios-2"
],
"rental fee or F&B minimum (exact public figures only)": [
"https://www.tagvenue.com/us/rooms/new-york/86313/the-sixth-floor-loft/spacious-studio-2"
],
"event types hosted": [
"https://www.tagvenue.com/us/rooms/new-york/86313/the-sixth-floor-loft/spacious-studio-2"
],
"amenities (outdoor, AV/sound, private kitchen, wheelchair access)": {
"outdoor": [
"https://www.sixthfloorloft.com/"
],
"AV/sound": [
"https://www.tagvenue.com/us/rooms/new-york/86313/the-sixth-floor-loft/spacious-studio-2"
],
"private kitchen": [
"https://www.tagvenue.com/us/rooms/new-york/86313/the-sixth-floor-loft/spacious-studio-2"
],
"wheelchair access": [
"https://www.tagvenue.com/us/rooms/new-york/86313/the-sixth-floor-loft/spacious-studio-2"
]
},
"booking contact (email, phone, or booking URL)": [
"https://www.sixthfloorloft.com/spacious-studios-2"
],
"independent/small-group evidence": [
"https://www.sixthfloorloft.com/"
]
}
}
]
}| Parameter | Type | Behavior |
|---|---|---|
borough | string | Borough match; case-insensitive. |
neighborhood | string | Case-insensitive substring; blank means no filter. |
min_capacity | integer | Match if a stated seated OR standing capacity is at least this number. Explicitly unknown capacity fields do not match. Numbers are used for filtering only; original strings remain unchanged. Capacities across rooms are never added. |
max_price | integer | USD threshold against the lowest explicit public rental fee or F&B minimum figure. Contact-for-quote venues are always retained. Priced venues sort first. Hourly, daily and session figures are not converted to event totals; deposits and identifiable extra charges are not base prices. A match is not a promise that the event will cost this amount. |
outdoor | boolean | Send true to require affirmative source wording. Omit to disable this filter; false is invalid. Unstated, negative or ambiguous availability does not match. Conditions and room limitations remain in the response. |
av_sound | boolean | Send true to require affirmative source wording. Omit to disable this filter; false is invalid. Unstated, negative or ambiguous availability does not match. Conditions and room limitations remain in the response. |
private_kitchen | boolean | Send true to require affirmative source wording. Omit to disable this filter; false is invalid. Unstated, negative or ambiguous availability does not match. Conditions and room limitations remain in the response. |
wheelchair | boolean | Send true to require affirmative source wording. Omit to disable this filter; false is invalid. Unstated, negative or ambiguous availability does not match. Conditions and room limitations remain in the response. |
event_type | string | Case-insensitive substring of event_types; blank means no filter. The source may contain negative qualifications, so read the returned text. |
q | string | Case-insensitive substring of venue name; blank means no filter. |
limit | integer | Page size. Values outside 1–50 are rejected. |
offset | integer | Number of matched venues to skip. count is always the total before pagination. |
How capacity and budget filters work
min_capacity checks either seated or standing capacity, without adding rooms together. An explicitly unknown seated or standing field does not match, even if it mentions a general occupancy figure. The response keeps the original text, including descriptions such as “El Café: 90.”
max_price compares against the lowest explicitly published rental fee or food & beverage minimum figure in the price text. It always retains “contact for quote” venues. Identifiable deposits, cleaning charges, staffing, and other extras are not treated as base prices. Hourly rates, day rates, and session minimums are not converted into a total event budget.
Results sort by priced venues first, then their lowest figure, then stable venue ID. Quote-only venues follow in ID order. A match does not promise that your event, selected room, or date will fit the budget. For example, a $400 hourly rental can match a $5,000 filter while still requiring minimum hours and additional fees. Read the full price string.
Amenity descriptions preserve restrictions such as separately bookable rooftops or limited accessibility. Filters describe the venue record; they do not establish that one room satisfies every requirement. Unknown, negative, and ambiguous amenity statements do not count as affirmative.
Pagination and input errors
limit defaults to 20 and accepts 1–50. offset defaults to zero. count is the total before pagination; an offset beyond the results returns an empty venues array. Text filters ignore case. Booleans must be true or omitted. Unknown parameters, repeated parameters, invalid numbers, and values outside the documented bounds return 400.
{ "error": "invalid query", "details": ["limit must be an integer from 1 to 50."] }
GET /api/venues/{id}
Use the stable id from a search result. IDs depend on the venue name, not CSV row order. A renamed venue may receive a new ID.
curl 'https://venuescoutnyc.com/api/venues/the-sixth-floor-loft' \
-H 'x-api-key: demo-key-venuescout'Actual response from the included CSV
{
"id": "the-sixth-floor-loft",
"name": "The Sixth Floor Loft",
"borough": "manhattan",
"neighborhood": "Flatiron District",
"address": "873 Broadway, Sixth Floor, New York, NY 10003",
"capacity_seated": "80 (Spacious Studio 2)",
"capacity_standing": "100 (Spacious Studio 2)",
"price": "Spacious Studio 2 rental from $400/hour (6-hour minimum) or $4,500/day; $250 cleaning fee",
"event_types": "Receptions; workshops; production shoots",
"amenities": {
"outdoor": "rooftop for photo/film shoots only, separately available",
"av_sound": "PA, microphones and projector",
"private_kitchen": "guest prep area with oven, refrigerator and sink",
"wheelchair": "lift and wheelchair access listed; accessible toilets unavailable"
},
"booking_contact": "info@sixthfloorloft.com; 212-982-8113; https://www.sixthfloorloft.com/book",
"sources": {
"name": [
"https://www.sixthfloorloft.com/spacious-studios-2"
],
"borough + neighborhood": [
"https://www.tagvenue.com/us/rooms/new-york/86313/the-sixth-floor-loft/spacious-studio-2"
],
"address": [
"https://www.sixthfloorloft.com/spacious-studios-2"
],
"capacity seated": [
"https://www.sixthfloorloft.com/spacious-studios-2"
],
"capacity standing": [
"https://www.sixthfloorloft.com/spacious-studios-2"
],
"rental fee or F&B minimum (exact public figures only)": [
"https://www.tagvenue.com/us/rooms/new-york/86313/the-sixth-floor-loft/spacious-studio-2"
],
"event types hosted": [
"https://www.tagvenue.com/us/rooms/new-york/86313/the-sixth-floor-loft/spacious-studio-2"
],
"amenities (outdoor, AV/sound, private kitchen, wheelchair access)": {
"outdoor": [
"https://www.sixthfloorloft.com/"
],
"AV/sound": [
"https://www.tagvenue.com/us/rooms/new-york/86313/the-sixth-floor-loft/spacious-studio-2"
],
"private kitchen": [
"https://www.tagvenue.com/us/rooms/new-york/86313/the-sixth-floor-loft/spacious-studio-2"
],
"wheelchair access": [
"https://www.tagvenue.com/us/rooms/new-york/86313/the-sixth-floor-loft/spacious-studio-2"
]
},
"booking contact (email, phone, or booking URL)": [
"https://www.sixthfloorloft.com/spacious-studios-2"
],
"independent/small-group evidence": [
"https://www.sixthfloorloft.com/"
]
}
}Unknown IDs return 404:
{ "error": "not found" }
GET /api/health
No API key required. The count comes from the loaded dataset.
curl 'https://venuescoutnyc.com/api/health'{
"status": "ok",
"venues": 200,
"version": "1.0.0"
}
GET /api/openapi.json
No API key required. Returns the full specification, including schemas, authentication, error responses, and dataset-derived examples.
curl 'https://venuescoutnyc.com/api/openapi.json'Open the complete JSON response.
Availability, CORS, and data handling
Only GET and OPTIONS are supported; other methods return 405. A missing or malformed dataset returns 503, never fabricated results. CORS allows all origins, including this website and browser-based Muse review tools, with the x-api-key header. Authentication still applies; the API uses no cookies or credentialed CORS.
Venue records are read from the bundled CSV once per function instance. Search parameters and keys are used for the request; application code does not log them or store search history. See the privacy policy for hosting and third-party processing.