Getting started overview

Eventbrite's API facilitates programmatic interaction with its event management platform, allowing developers to automate tasks such as creating events, managing ticket sales, and retrieving attendee information. The API adheres to RESTful principles and uses JSON for data exchange. Authentication is handled via OAuth 2.0, requiring developers to register their applications to obtain client credentials. Once authenticated, developers can interact with various endpoints to build custom integrations.

This guide outlines the initial steps to begin working with the Eventbrite API, including account setup, obtaining necessary credentials, and executing a basic API request. The process generally involves:

  1. Creating an Eventbrite organizer account.
  2. Registering an application to receive client ID and client secret.
  3. Implementing the OAuth 2.0 flow to obtain an access token.
  4. Making an authenticated API call using the access token.

Quick Reference: Eventbrite API Setup

Step What to do Where to do it
1. Create Account Set up an Eventbrite organizer account. Eventbrite Platform API page
2. Register Application Create a new application to get Client ID and Client Secret. Eventbrite Developer Portal (Developer Apps section)
3. Get Access Token Implement OAuth 2.0 flow to exchange an authorization code for an access token. Your application's backend or client-side, interacting with Eventbrite's OAuth endpoints, as described in the Eventbrite API documentation
4. Make Request Send a GET request to an API endpoint using the access token. Your code editor/terminal using tools like curl or a programming language's HTTP client.

Create an account and get keys

To access the Eventbrite API, you first need an Eventbrite organizer account. This account provides the necessary context for creating and managing events. If you do not have one, you can sign up on the Eventbrite homepage.

Application Registration

Once you have an organizer account, you must register your application within the Eventbrite developer portal. This step is crucial for obtaining the credentials required for OAuth 2.0 authentication. Follow these steps:

  1. Navigate to the Eventbrite Platform API page and locate the developer application registration section.
  2. Click on "Create An API Key" or "Manage Your Apps."
  3. Provide details for your application, including its name, description, and importantly, the Redirect URI (also known as Callback URL). The Redirect URI is where Eventbrite will send the authorization code after a user grants your application permission. For development and testing, you might use http://localhost:8000/callback or similar.
  4. Upon successful registration, you will be provided with a Client ID (sometimes called Consumer Key) and a Client Secret (sometimes called Consumer Secret). These are your application's unique identifiers and should be kept confidential.

OAuth 2.0 Authentication Flow

Eventbrite utilizes the OAuth 2.0 authorization framework. This means your application will not directly handle user credentials but instead obtains an access token on behalf of the user. The typical flow involves:

  1. Authorization Request: Redirecting the user to Eventbrite's authorization endpoint with your Client ID and Redirect URI. Example: https://www.eventbrite.com/oauth/authorize?response_type=code&client_id=YOUR_CLIENT_ID&redirect_uri=YOUR_REDIRECT_URI
  2. User Authorization: The user logs into Eventbrite (if not already logged in) and grants your application permission.
  3. Authorization Code: Eventbrite redirects the user back to your specified Redirect URI, appending an authorization_code in the query parameters.
  4. Token Exchange: Your application's backend sends a POST request to Eventbrite's token endpoint, exchanging the authorization_code, your Client ID, and Client Secret for an access_token. Example payload includes grant_type=authorization_code, code=THE_CODE_FROM_STEP3, client_id=YOUR_CLIENT_ID, client_secret=YOUR_CLIENT_SECRET, and redirect_uri=YOUR_REDIRECT_URI.
  5. Access Token: Eventbrite responds with a JSON object containing the access_token, typically with an expiration time. This token is used to authenticate subsequent API requests.

For a detailed explanation of the OAuth 2.0 flow and its security considerations, refer to the OAuth 2.0 specification.

Your first request

Once you have successfully obtained an access_token, you can use it to make authenticated calls to the Eventbrite API. All requests to Eventbrite's API require the access_token to be included in the Authorization header.

Example: Fetching User Organizations

A common first request is to retrieve the organizations associated with the authenticated user. This confirms your token is valid and demonstrates interaction with a protected endpoint.

The endpoint for user organizations is https://www.eventbriteapi.com/v3/users/me/organizations/.

curl -X GET \
  'https://www.eventbriteapi.com/v3/users/me/organizations/' \
  -H 'Authorization: Bearer YOUR_ACCESS_TOKEN'

Replace YOUR_ACCESS_TOKEN with the actual access token you obtained from the OAuth 2.0 flow.

Expected Response (JSON):

{
      "pagination": {
        "page_number": 1,
        "page_size": 50,
        "page_count": 1,
        "has_more_items": false
      },
      "organizations": [
        {
          "id": "1234567890",
          "name": "My Event Company",
          "is_default": true,
          "resource_uri": "https://www.eventbriteapi.com/v3/organizations/1234567890/"
        }
      ]
    }

If successful, you will receive a JSON response listing the organizations the authenticated user belongs to. This confirms that your API access token is correctly configured and that you can make authenticated requests.

Common next steps

After successfully making your first request, you can explore more advanced functionalities of the Eventbrite API:

  • Event Creation: Use the /organizations/{organization_id}/events/ endpoint to programmatically create new events. This typically involves defining event details like name, description, start/end times, and venue information. Refer to the Eventbrite event creation documentation for required parameters.
  • Ticket Management: Once an event is created, you can define ticket types and prices using endpoints like /events/{event_id}/ticket_classes/. This allows for setting up different tiers of tickets (e.g., Early Bird, VIP).
  • Webhook Integration: For real-time updates on events like ticket sales or attendee registrations, set up webhooks. Eventbrite can send POST requests to a specified URL when certain events occur, enabling immediate reactions in your application. For general guidance on webhook security, consider resources like Cloudflare's webhook processing tutorials.
  • Reporting and Analytics: Retrieve detailed reports on ticket sales, attendees, and event performance using various reporting endpoints. This can be valuable for custom dashboards or internal analytics.
  • Pagination and Rate Limiting: As you integrate further, understand Eventbrite's pagination strategies for handling large datasets and its rate limits to avoid hitting API request ceilings.

Troubleshooting the first call

Encountering issues during your first API call is common. Here are some troubleshooting tips:

  • 401 Unauthorized: Invalid or Missing Token:
    • Check your access_token: Ensure the token is correctly placed in the Authorization: Bearer YOUR_ACCESS_TOKEN header and that there are no typos or extra spaces.
    • Token Expiration: OAuth 2.0 access tokens have a limited lifespan. Confirm your token has not expired. If it has, you will need to refresh it (if a refresh token was issued) or re-run the authorization flow.
    • Scopes: Verify that the access token was granted the necessary permissions (scopes) for the endpoint you are trying to access. The users:read scope is typically required to fetch user organizations.
  • 403 Forbidden: Permission Denied:
    • API Key Permissions: Double-check that your registered application has the correct permissions assigned in the Eventbrite developer portal.
    • User Permissions: The authenticated Eventbrite user might not have the necessary permissions within Eventbrite to access the requested resource (e.g., they might not be an organizer for the specified organization).
  • 400 Bad Request: Malformed Request:
    • Endpoint URL: Verify the URL for the endpoint is exactly correct, including any /v3/ prefix.
    • Headers: Ensure all required headers are present and correctly formatted (e.g., Content-Type: application/json for POST/PUT requests).
    • JSON Body: If sending a JSON payload, validate that it is well-formed and adheres to the API's expected schema.
  • Network Issues:
    • Verify your internet connection and ensure no firewalls or proxies are blocking access to https://www.eventbriteapi.com.
  • Refer to Eventbrite Documentation: The Eventbrite API documentation provides specific error codes and messages that can help pinpoint the exact problem.