🔵 API Reference

EventNab Discovery APIs

Two endpoints. One integration. Find nearby venues and retrieve every confirmed event happening at those locations — up to 90 days in advance.

ROOT URL | https://discoveryapi.eventnab.com/V1/

  • REST / GET
  • JSON Responses
  • API Key Auth
  • Python · C# · Node.js

ON THIS PAGE

Endpoints

GET

/venuesearch

GET

/discoverevents

  • Overview

EventNab Discovery APIs

Two endpoints. One integration. Find nearby venues and retrieve every confirmed event happening at those locations — up to 90 days in advance.

GET

/V1/venuesearch

Venue Search

Find venues by name, address, coordinates, or a combination of all three.

By name (full or partial)

By address (full or partial)

By lat/lng coordinates

Combined multi-parameter search

GET

/V1/discoverevents

Discover Events

Retrieve confirmed events at a specific venue, filterable by name and date range.

By venue ID (from Venue Search)

By event name (full or partial)

By date range (start + end)

Combined filtered search

  • Authentication

Authentication

All requests must include your API key in the x-api-key request header. Keys are issued upon access approval and are scoped to your account.

Request Headers

Content-Type: application/json
x-api-key: your-api-key-here

Rate LIMITS

Rate Limits

Both endpoints share the same default quota. Contact us to discuss higher-volume plans.

Venue Search API

Daily quota

100 calls / day

Rate limit

5 req / second

Results / call

20 results per call

Daily capacity

2,000 venues / day

Discover Events API

Daily quota

100 calls / day

Rate limit

5 req / second

Results / call

100 results per call

Daily capacity

10,000 events / day

ENDPOINT 1

Venue Search API GET

https://discoveryapi.eventnab.com/V1/venuesearch

Search for venues using a flexible combination of name, address, and geographic coordinates. At least one parameter is recommended for a useful result.

Parameters

Parameter Type Required Default Description
venueName
string
Optional
Search by full or partial venue name.
address
string
Optional

Search by full or partial street address.

latitude
float
Optional

Venue geographic coordinates — latitude.

longitude
float
Optional

Venue geographic coordinates — longitude.

radius
int
Optional

Search radius around coordinates, in miles.

pageNumber
int
Optional

Page number for paginated results.

Response Fields

Field Type Description
id
string
Unique venue identifier — use this as venueId in Discover Events.
name
string
Venue display name.
address
string
Full formatted street address.
latitude
float
Geographic latitude of the venue.
longitude
float
Geographic longitude of the venue.
mapsUri
string
Google Maps deep link for the venue.
url
string
Official venue website URL.
rating
float
Venue rating (e.g. 4.7 out of 5).
ratingCount
int
Total number of ratings contributing to the score.
phoneNumber
string
Venue contact phone number.

Code Example

File icon
Python.py
Copy to clipboard
import requests

url = "https://discoveryapi.eventnab.com/V1/venuesearch"

headers = {
    "Content-Type": "application/json",
    "x-api-key": "your-api-key-here"
}

params = {
    "venueName": "Hollywood Bowl",
    "address": "2301 Highland Ave",
    "latitude": 34.112224,
    "longitude": -118.3391279,
    "radius": 2,
    "pageNumber": 1
}

response = requests.get(url, headers=headers, params=params)

if response.status_code == 200:
    print("Response JSON:", response.json())
else:
    print(f"Error: {response.status_code} - {response.text}")
File icon
C#.cs
Copy to clipboard
using System;
using System.Net.Http;
using System.Threading.Tasks;

class Program
{
    static async Task Main()
    {
        var apiKey = "your-api-key-here";
        var baseUrl = "https://discoveryapi.eventnab.com/V1/venuesearch";

        var queryParams = "?venueName=Hollywood Bowl" +
                          "&address=2301 Highland Ave" +
                          "&latitude=34.112224" +
                          "&longitude=-118.3391279" +
                          "&radius=2" +
                          "&pageNumber=1";

        var fullUrl = baseUrl + queryParams;

        using (var client = new HttpClient())
        {
            client.DefaultRequestHeaders.Add("x-api-key", apiKey);

            var response = await client.GetAsync(fullUrl);
            var content  = await response.Content.ReadAsStringAsync();
            Console.WriteLine($"Status: {response.StatusCode}");
            Console.WriteLine(content);
        }
    }
}
Node JS.js
Copy to clipboard
const axios = require('axios');

const url = 'https://discoveryapi.eventnab.com/V1/venuesearch';

const headers = { 'x-api-key': 'your-api-key-here' };

const params = {
  venueName: "Hollywood Bowl",
  address:   "2301 Highland Ave",
  latitude:  34.112224,
  longitude: -118.3391279,
  radius:    2,
  pageNumber: 1
};

axios.get(url, { headers, params })
  .then(response => {
    console.log('Status:', response.status);
    console.log('Data:',   response.data);
  })
  .catch(error => {
    if (error.response) {
      console.error('API Error:', error.response.status, error.response.data);
    } else {
      console.error('Request Error:', error.message);
    }
  });

Response Example

200 OK — application/json.json
Copy to clipboard
{
    "statusCode": 200,
    "result": [
        {
            "id":          "DEN1324",
            "name":        "Hollywood Bowl",
            "address":     "2301 Highland Ave, Los Angeles, CA 90068, USA",
            "latitude":    34.112224,
            "longitude":   -118.3391279,
            "mapsUri":     "https://maps.google.com/?cid=7669457332576117501",
            "url":         "https://www.hollywoodbowl.com/",
            "rating":      4.7,
            "ratingCount": 16404,
            "phoneNumber": "(323) 850-2000"
        }
    ],
    "message": "Venues fetched successfully",
    "success": true
}

ENDPOINT 2

Discover Events API GET

https://discoveryapi.eventnab.com/V1/discoverevents

Retrieve confirmed events. You may optionally filter by venueId, event name, and date range to narrow results. The venueId can be obtained from the Venue Search API. Supports up to 100 results per page and 10,000 event records per day.

Parameters

Parameter Type Required Default Description
venueId
string
Optional
Unique venue ID from the Venue Search API (e.g. DEN1324).
eventName
string
Optional

Filter events by full or partial event name.

startDate
string
Optional

Filter events from this date onward. Format: yyyy-mm-dd.

endDate
string
Optional
Filter events up to and including this date. Format: yyyy-mm-dd.
resultPerPage
int
Optional
50

Number of events returned per page. Range: 1–100.

pageNumber
int
Optional
1

Page number for paginated results.

Response Fields

Field Type Description
eventId
string
Unique identifier for the event.
eventName
string
Full event display name.
eventVenue
string
Name of the hosting venue.
eventAddress
string
Full street address of the event.
imageUrl
string
Primary event image URL.
startDate
string
Event start date and time in ISO 8601 format.
attractionId
string
Pipe-separated list of performer/attraction names.
attractionImageUrl
string
Pipe-separated list of performer image URLs.
classificationSegment
string
Broad event category (e.g. Arts & Theatre, Sports, Music).
classificationGenre
string
Specific genre within the segment (e.g. Theatre, Rock, Basketball).

Code Example

File icon
Copy to clipboard
import requests

url = "https://discoveryapi.eventnab.com/V1/discoverevents"

headers = { "x-api-key": "your-api-key-here" }

params = {
    "venueId":       "DEN1324",
    "eventName":     "SmartLess Live with Jason Bateman",
    "startDate":     "2025-10-22",
    "endDate":       "2025-11-24",
    "resultPerPage": 50,
    "pageNumber":    1
}

response = requests.get(url, headers=headers, params=params)

if response.status_code == 200:
    print("Response JSON:", response.json())
else:
    print(f"Error: {response.status_code} - {response.text}")
File icon
Copy to clipboard
using System;
using System.Net.Http;
using System.Threading.Tasks;

class Program
{
    static async Task Main()
    {
        var apiKey  = "your-api-key-here";
        var baseUrl = "https://discoveryapi.eventnab.com/V1/discoverevents";

        var queryParams = $"?venueId=DEN1324" +
                          $"&eventName=SmartLess Live with Jason Bateman" +
                          $"&startDate=2025-10-22" +
                          $"&endDate=2025-11-24" +
                          $"&resultPerPage=50" +
                          $"&pageNumber=1";

        var fullUrl = baseUrl + queryParams;

        using (var client = new HttpClient())
        {
            client.DefaultRequestHeaders.Add("x-api-key", apiKey);

            var response = await client.GetAsync(fullUrl);
            var content  = await response.Content.ReadAsStringAsync();
            Console.WriteLine($"Status: {response.StatusCode}");
            Console.WriteLine(content);
        }
    }
}
File icon
Copy to clipboard
const axios = require('axios');

const url = 'https://discoveryapi.eventnab.com/V1/discoverevents';

const headers = { 'x-api-key': 'your-api-key-here' };

const params = {
  venueId:       'DEN1324',
  eventName:     'SmartLess Live with Jason Bateman',
  startDate:     '2025-10-22',
  endDate:       '2025-11-24',
  resultPerPage: 50,
  pageNumber:    1
};

axios.get(url, { headers, params })
  .then(response => {
    console.log('Response status:', response.status);
    console.log('Response data:',  response.data);
  })
  .catch(error => {
    if (error.response) {
      console.error('API Error:', error.response.status, error.response.data);
    } else {
      console.error('Request Error:', error.message);
    }
  });

Response Example

200 OK — application/json.json
Copy to clipboard
{
    "statusCode": 200,
    "result": [
        {
            "eventId":               "vvG1iZbs3DqsPy",
            "eventName":             "SmartLess Live with Jason Bateman, Sean Hayes, & Will Arnett",
            "eventVenue":            "Hollywood Bowl",
            "eventAddress":          "2301 N Highland Ave, Hollywood, CA 90068",
            "imageUrl":              "https://s1.ticketm.net/dam/a/155/feaed16b-..._SOURCE",
            "startDate":             "2025-11-15T19:30:00",
            "attractionId":          "SmartLess Podcast|Jason Bateman|Sean Hayes|Will Arnett",
            "attractionImageUrl":    "https://s1.ticketm.net/dam/a/155/feaed16b-...",
            "classificationSegment": "Arts & Theatre",
            "classificationGenre":   "Theatre"
        }
    ],
    "message": "Events fetched successfully",
    "success": true
}
  • Status Codes
HTTP Status Codes
Code Status Description
200
OK
Request succeeded. Results returned in the result array.
400
OK
Invalid or missing parameters. Check your request format.
401
Unauthorized
Missing or invalid x-api-key header.
429
Rate Limited
Daily quota or per-second rate limit exceeded.
500
Server Error
Something went wrong on our end. Our team is alerted automatically.

Ready to Integrate?

Request API access and we'll get your keys set up within one business day.