Developer API Access

Build powerful integrations with Vexvegan API

Access our RESTful API to integrate Vexvegan events data into your applications

Real-time event data
Flexible queries
Secure authentication
Rate limiting protection

What You Can Build

Explore the possibilities with the Vexvegan API

Query Events

Search and filter events by category, location, date range, and more

Custom Dashboards

Build personalized event dashboards and analytics tools

Mobile Applications

Create iOS and Android apps with vegan event discovery

Third-Party Integrations

Connect Vexvegan with CRM, calendar, and social platforms

Automation Workflows

Automate event discovery and notification systems

Data Analysis

Analyze trends and patterns in vegan events worldwide

Who Can Access

Eligibility and prerequisites for API access

Free for Registered Users

Create a free account to start using the API immediately

Email Verification Required

Verify your email address to generate API keys

Rate Limits Based on Plan

Free, Premium, and Enterprise plans available

Plan Comparison

PlanDaily RequestsRequests/SecondMax API KeysPrice
Free1,00053$0/month
Premium10,0002010$29/month
EnterpriseCustomCustomUnlimitedContact Sales

Authentication

How to authenticate your API requests

Authentication Method

All API requests must include your API key in the X-API-Key header

Request Example
curl -H "X-API-Key: your_api_key_here" \
  https://api.vexvegan.live/v1/public/events

Security Best Practices

Never commit API keys to version control

Use environment variables for storing keys

Rotate keys periodically to enhance security

Restrict IPs if your use case allows

Revoke unused keys immediately

API Endpoints & Usage

Base URL

https://api.vexvegan.live/v1

Current Version

v1

Available Endpoints

GET/public/events

List all public events with optional filters

GET/public/events/{id}

Get details for a single event

GET/public/events/search

Search events with advanced filters

GET/public/events/categories

Get list of available event categories

Query Parameters

ParameterTypeDescriptionDefault
pageintegerPage number for pagination1
pageSizeintegerResults per page (max: 100)20
categorystringFilter by event category-
countrystringFilter by country-
citystringFilter by city-
startDateISO 8601Events starting after this date-
endDateISO 8601Events ending before this date-
searchstringFull-text search query-

Example Request

GET Request
GET /public/events?category=food-festival&country=USA&page=1&pageSize=20

Success Response (200 OK)

Response
{
  "status": "success",
  "code": 200,
  "message": "Events retrieved successfully",
  "data": {
    "events": [
      {
        "id": "evt_123abc",
        "title": "Vegan Food Festival 2024",
        "subtitle": "Celebrating plant-based cuisine",
        "description": "Join us for the largest vegan food festival...",
        "start": "2024-06-15T10:00:00Z",
        "end": "2024-06-15T18:00:00Z",
        "category": "food-festival",
        "country": "USA",
        "city": "Los Angeles",
        "venueName": "Convention Center",
        "isVirtual": false,
        "image": "https://cdn.vexvegan.live/events/evt_123abc.jpg",
        "website": "https://veganfoodfest.live"
      }
    ],
    "totalCount": 45,
    "totalPages": 3,
    "currentPage": 1,
    "pageSize": 20
  },
  "errors": null
}

Error Response (401 Unauthorized)

Error Response
{
  "status": "error",
  "code": 401,
  "message": "Invalid or missing API key",
  "data": null,
  "errors": ["Authentication failed"]
}

HTTP Status Codes

200Success
400Bad Request (invalid parameters)
401Unauthorized (invalid/missing API key)
403Forbidden (insufficient permissions)
429Too Many Requests (rate limit exceeded)
500Internal Server Error

Rate Limits & Quotas

Understanding API usage limits

How Rate Limiting Works

We implement rate limiting to ensure fair usage and maintain API performance for all users. Limits are applied per API key and reset daily at midnight UTC.

Rate Limit Headers

Every API response includes the following headers:

X-RateLimit-LimitTotal requests allowed per day
X-RateLimit-RemainingRequests remaining today
X-RateLimit-ResetUnix timestamp when limit resets

Rate Limit Exceeded Response (429)

Rate Limit Error
{
  "status": "error",
  "code": 429,
  "message": "Rate limit exceeded. Try again later.",
  "data": { "retryAfter": 3600 },
  "errors": ["Daily quota of 1000 requests exceeded"]
}

Support & Resources

Frequently Asked Questions