IntentLink Event Search API

The event-search API from IntentLink — 2 operation(s) for event-search.

GitHub OpenAPI

Operations 2

POST /api/v1/events/search Search #
GET /api/v1/events/categories Categories #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/intentlink-io:intentlink-io-event-search-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

intentlink-io-event-search-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Affiliate Recommendation Service Event Search API
  version: 0.1.0
tags:
- name: event-search
paths:
  /api/v1/events/search:
    post:
      tags:
      - event-search
      summary: Search
      description: 'Search ticketing/events and get ranked event bundles. Only ``query`` is required. Each

        result''s ``sessions[]`` (and ``matched_sessions[]`` when a date filter was given) carries a

        per-date ``buy_url`` — a ready-to-use trackable link (CJ sid + redirect-wrapped) — hand it to

        the buyer directly. ``landing_url`` is the plain event page.'
      operationId: search_api_v1_events_search_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EventSearchRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EventSearchResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/events/categories:
    get:
      tags:
      - event-search
      summary: Categories
      description: 'List the event categories (L1 with L2 children + counts) so a caller knows the valid values

        for the ``categories`` filter. Live facet over the ``events`` index; falls back to the known

        L1 list when ES is unavailable.'
      operationId: categories_api_v1_events_categories_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                additionalProperties: true
                type: object
                title: Response Categories Api V1 Events Categories Get
components:
  schemas:
    EventResult:
      properties:
        bundle_id:
          type: string
          title: Bundle Id
        title:
          type: string
          title: Title
        performers:
          items:
            type: string
          type: array
          title: Performers
        category_path:
          items:
            type: string
          type: array
          title: Category Path
        category_l1:
          anyOf:
          - type: string
          - type: 'null'
          title: Category L1
        category_l2:
          anyOf:
          - type: string
          - type: 'null'
          title: Category L2
        venue_name:
          anyOf:
          - type: string
          - type: 'null'
          title: Venue Name
        city:
          anyOf:
          - type: string
          - type: 'null'
          title: City
        state:
          anyOf:
          - type: string
          - type: 'null'
          title: State
        country:
          anyOf:
          - type: string
          - type: 'null'
          title: Country
        next_date:
          anyOf:
          - type: string
            format: date
          - type: 'null'
          title: Next Date
        date_from:
          anyOf:
          - type: string
            format: date
          - type: 'null'
          title: Date From
        date_to:
          anyOf:
          - type: string
            format: date
          - type: 'null'
          title: Date To
        price_min:
          anyOf:
          - type: number
          - type: 'null'
          title: Price Min
        price_max:
          anyOf:
          - type: number
          - type: 'null'
          title: Price Max
        currency:
          anyOf:
          - type: string
          - type: 'null'
          title: Currency
        session_count:
          type: integer
          title: Session Count
          default: 0
        sessions:
          items:
            $ref: '#/components/schemas/EventSession'
          type: array
          title: Sessions
        matched_sessions:
          items:
            $ref: '#/components/schemas/EventSession'
          type: array
          title: Matched Sessions
        why:
          anyOf:
          - type: string
          - type: 'null'
          title: Why
        score:
          anyOf:
          - type: number
          - type: 'null'
          title: Score
      type: object
      required:
      - bundle_id
      - title
      title: EventResult
      description: One event bundle (a show run at a venue/city), with per-date ``sessions``.
    EventSession:
      properties:
        date:
          type: string
          format: date
          title: Date
        price_amount:
          anyOf:
          - type: number
          - type: 'null'
          title: Price Amount
        buy_url:
          anyOf:
          - type: string
          - type: 'null'
          title: Buy Url
        landing_url:
          anyOf:
          - type: string
          - type: 'null'
          title: Landing Url
        source_event_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Source Event Id
      type: object
      required:
      - date
      title: EventSession
      description: 'One per-date listing within a bundle. ``buy_url`` is the ready-to-use trackable link (hand it

        to the buyer); ``landing_url`` is the plain event page.'
    EventWhen:
      type: string
      enum:
      - this_weekend
      - this_week
      - this_month
      - next_7_days
      - next_30_days
      title: EventWhen
      description: 'Fuzzy-time helper. Expanded server-side to a ``date_from``/``date_to`` window (explicit

        ``date_from``/``date_to`` always win). Weeks are Mon–Sun; all windows start no earlier than

        today (the feed only holds upcoming events).'
    Caller:
      properties:
        agent_id:
          type: string
          title: Agent Id
        developer_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Developer Id
        agent_name:
          anyOf:
          - type: string
          - type: 'null'
          title: Agent Name
        agent_version:
          anyOf:
          - type: string
          - type: 'null'
          title: Agent Version
        developer_account_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Developer Account Id
        app_id:
          anyOf:
          - type: string
          - type: 'null'
          title: App Id
        integration_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Integration Id
      type: object
      required:
      - agent_id
      title: Caller
    TrackingContext:
      properties:
        agent_session_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Agent Session Id
        end_user_id_hash:
          anyOf:
          - type: string
          - type: 'null'
          title: End User Id Hash
        sub_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Sub Id
        channel:
          anyOf:
          - type: string
          - type: 'null'
          title: Channel
      type: object
      title: TrackingContext
    Attribution:
      properties:
        attribution_id:
          type: string
          title: Attribution Id
        click_id:
          type: string
          title: Click Id
        agent_id:
          type: string
          title: Agent Id
        developer_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Developer Id
        developer_account_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Developer Account Id
        revenue_share_policy_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Revenue Share Policy Id
        settlement_status:
          $ref: '#/components/schemas/SettlementStatus'
          default: pending_click
      type: object
      required:
      - attribution_id
      - click_id
      - agent_id
      title: Attribution
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
            - type: string
            - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
        input:
          title: Input
        ctx:
          type: object
          title: Context
      type: object
      required:
      - loc
      - msg
      - type
      title: ValidationError
    EventSort:
      type: string
      enum:
      - relevance
      - soonest
      - cheapest
      title: EventSort
      description: 'Result ordering. ``relevance`` (default) is text-match first with a soonest tie-break;

        ``soonest`` sorts by the next upcoming date; ``cheapest`` by the lowest ''from'' price.'
    SettlementStatus:
      type: string
      enum:
      - pending_click
      - pending_conversion
      - eligible
      - rejected
      - paid
      title: SettlementStatus
    EventSearchResponse:
      properties:
        request_id:
          type: string
          title: Request Id
        status:
          type: string
          title: Status
        query:
          anyOf:
          - type: string
          - type: 'null'
          title: Query
        results:
          items:
            $ref: '#/components/schemas/EventResult'
          type: array
          title: Results
        best:
          anyOf:
          - $ref: '#/components/schemas/EventResult'
          - type: 'null'
        total_found:
          anyOf:
          - type: integer
          - type: 'null'
          title: Total Found
        attribution:
          anyOf:
          - $ref: '#/components/schemas/Attribution'
          - type: 'null'
        agent_message:
          type: string
          title: Agent Message
        reason:
          anyOf:
          - type: string
          - type: 'null'
          title: Reason
        errors:
          items:
            additionalProperties: true
            type: object
          type: array
          title: Errors
      type: object
      required:
      - request_id
      - status
      - agent_message
      title: EventSearchResponse
      description: 'Event search response. ``status`` is "ok" for results, "no_results" when nothing matched,

        "error" for a rejected agent / backend failure (see ``errors``).'
    EventSearchRequest:
      properties:
        query:
          type: string
          minLength: 1
          title: Query
          description: Natural-language intent, e.g. 'taylor swift concert near LA this summer'.
        keywords:
          items:
            type: string
          type: array
          title: Keywords
          description: Exact terms — performer / team / show / venue. Signals a precise lookup (BM25-leaning). Prefer a specific noun phrase over a bare generic word.
        categories:
          items:
            type: string
          type: array
          title: Categories
          description: Category filter, e.g. 'Concerts' / 'Sports' / 'Theater' (L1) or a full category-path level. Read GET /events/categories for valid values.
        city:
          anyOf:
          - type: string
          - type: 'null'
          title: City
          description: City name, e.g. 'Los Angeles'.
        state:
          anyOf:
          - type: string
          - type: 'null'
          title: State
          description: US state abbreviation, e.g. 'CA'.
        country:
          type: string
          title: Country
          default: US
        date_from:
          anyOf:
          - type: string
            format: date
          - type: 'null'
          title: Date From
          description: Earliest event date (YYYY-MM-DD).
        date_to:
          anyOf:
          - type: string
            format: date
          - type: 'null'
          title: Date To
          description: Latest event date (YYYY-MM-DD).
        when:
          anyOf:
          - $ref: '#/components/schemas/EventWhen'
          - type: 'null'
          description: Fuzzy-time helper expanded to a date window when date_from/to are omitted.
        min_price:
          anyOf:
          - type: number
            minimum: 0.0
          - type: 'null'
          title: Min Price
        max_price:
          anyOf:
          - type: number
            minimum: 0.0
          - type: 'null'
          title: Max Price
        sort:
          $ref: '#/components/schemas/EventSort'
          default: relevance
        caller:
          $ref: '#/components/schemas/Caller'
        tracking:
          $ref: '#/components/schemas/TrackingContext'
        limit:
          type: integer
          maximum: 50.0
          minimum: 1.0
          title: Limit
          default: 10
      type: object
      required:
      - query
      - caller
      title: EventSearchRequest
      description: Event search request. Only ``query`` is required; the rest narrows recall/filtering.
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
  securitySchemes:
    HTTPBearer:
      type: http
      scheme: bearer