University of Amsterdam user agent analytics API

The user agent analytics API from University of Amsterdam — 6 operation(s) for user agent analytics.

Operations 6

GET /tag/distinct Get Distinct User Agent Tags #
GET /tag/dau Get Daily Active Users #
GET /tag/wau Get Weekly Active Users #
GET /tag/mau Get Monthly Active Users #
GET /tag/summary Get Tag Summary #
GET /tag/user-agent/per-user-analytics Get Per User Analytics #

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/university-of-amsterdam-user-agent-analytics-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

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

university-of-amsterdam-user-agent-analytics-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: LiteLLM user agent analytics API
  description: "Enterprise Edition \n\nProxy Server to call 100+ LLMs in the OpenAI format. [**Customize Swagger Docs**](https://docs.litellm.ai/docs/proxy/enterprise#swagger-docs---custom-routes--branding)\n\n\U0001F449 [```LiteLLM Admin Panel on /ui```](/ui). Create, Edit Keys with SSO. Having issues? Try [```Fallback Login```](/fallback/login)\n\n\U0001F4B8 [```LiteLLM Model Cost Map```](https://models.litellm.ai/).\n\n\U0001F50E [```LiteLLM Model Hub```](/ui/model_hub_table). See available models on the proxy. [**Docs**](https://docs.litellm.ai/docs/proxy/ai_hub)"
  version: 1.95.0
  x-operator: institution
  x-provenance:
    method: probed
    source: https://llmproxy.uva.nl/openapi.json
    retrieved: '2026-08-19'
    note: Document is generated by the LiteLLM proxy software the University of Amsterdam self-hosts; the deployment, the key issuance and the host (llmproxy.uva.nl, UvA Azure) are the institution's. servers[] added by API Evangelist because the served document omits it; nothing else altered.
servers:
- url: https://llmproxy.uva.nl
  description: University of Amsterdam / Amsterdam University of Applied Sciences shared AI gateway
tags:
- name: user agent analytics
paths:
  /tag/distinct:
    get:
      tags:
      - user agent analytics
      summary: Get Distinct User Agent Tags
      description: "Get all distinct user agent tags up to a maximum of {MAX_TAGS} tags.\n\nThis endpoint returns all unique user agent tags found in the database,\nsorted by frequency of usage.\n\nReturns:\n    DistinctTagsResponse: List of distinct user agent tags"
      operationId: get_distinct_user_agent_tags_tag_distinct_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DistinctTagsResponse'
      security:
      - APIKeyHeader: []
  /tag/dau:
    get:
      tags:
      - user agent analytics
      summary: Get Daily Active Users
      description: "Get Daily Active Users (DAU) by tags for the last {MAX_DAYS} days ending on UTC today + 1 day.\n\nThis endpoint efficiently calculates unique users per tag for each of the last {MAX_DAYS} days\nusing a single optimized SQL query, perfect for dashboard time series visualization.\n\nArgs:\n    tag_filter: Optional filter to specific tag (legacy)\n    tag_filters: Optional filter to multiple specific tags (takes precedence over tag_filter)\n\nReturns:\n    ActiveUsersAnalyticsResponse: DAU data by tag for each of the last {MAX_DAYS} days"
      operationId: get_daily_active_users_tag_dau_get
      security:
      - APIKeyHeader: []
      parameters:
      - name: tag_filter
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Filter by specific tag (optional)
          title: Tag Filter
        description: Filter by specific tag (optional)
      - name: tag_filters
        in: query
        required: false
        schema:
          anyOf:
          - type: array
            items:
              type: string
          - type: 'null'
          description: Filter by multiple specific tags (optional, takes precedence over tag_filter)
          title: Tag Filters
        description: Filter by multiple specific tags (optional, takes precedence over tag_filter)
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActiveUsersAnalyticsResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /tag/wau:
    get:
      tags:
      - user agent analytics
      summary: Get Weekly Active Users
      description: "Get Weekly Active Users (WAU) by tags for the last {MAX_WEEKS} weeks ending on UTC today + 1 day.\n\nShows week-by-week breakdown:\n- Week 1 (Jan 1): Earliest week (7 weeks ago)\n- Week 2 (Jan 8): Next week (6 weeks ago)\n- Week 3 (Jan 15): Next week (5 weeks ago)\n- ... and so on for {MAX_WEEKS} weeks total\n- Week 7: Most recent week ending on UTC today + 1 day\n\nArgs:\n    tag_filter: Optional filter to specific tag (legacy)\n    tag_filters: Optional filter to multiple specific tags (takes precedence over tag_filter)\n\nReturns:\n    ActiveUsersAnalyticsResponse: WAU data by tag for each of the last {MAX_WEEKS} weeks with descriptive week labels (e.g., \"Week 1 (Jan 1)\")"
      operationId: get_weekly_active_users_tag_wau_get
      security:
      - APIKeyHeader: []
      parameters:
      - name: tag_filter
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Filter by specific tag (optional)
          title: Tag Filter
        description: Filter by specific tag (optional)
      - name: tag_filters
        in: query
        required: false
        schema:
          anyOf:
          - type: array
            items:
              type: string
          - type: 'null'
          description: Filter by multiple specific tags (optional, takes precedence over tag_filter)
          title: Tag Filters
        description: Filter by multiple specific tags (optional, takes precedence over tag_filter)
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActiveUsersAnalyticsResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /tag/mau:
    get:
      tags:
      - user agent analytics
      summary: Get Monthly Active Users
      description: "Get Monthly Active Users (MAU) by tags for the last {MAX_MONTHS} months ending on UTC today + 1 day.\n\nShows month-by-month breakdown:\n- Month 1 (Nov): Earliest month (7 months ago, 30-day period)\n- Month 2 (Dec): Next month (6 months ago)\n- Month 3 (Jan): Next month (5 months ago)\n- ... and so on for {MAX_MONTHS} months total\n- Month 7: Most recent month ending on UTC today + 1 day\n\nArgs:\n    tag_filter: Optional filter to specific tag (legacy)\n    tag_filters: Optional filter to multiple specific tags (takes precedence over tag_filter)\n\nReturns:\n    ActiveUsersAnalyticsResponse: MAU data by tag for each of the last {MAX_MONTHS} months with descriptive month labels (e.g., \"Month 1 (Nov)\")"
      operationId: get_monthly_active_users_tag_mau_get
      security:
      - APIKeyHeader: []
      parameters:
      - name: tag_filter
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Filter by specific tag (optional)
          title: Tag Filter
        description: Filter by specific tag (optional)
      - name: tag_filters
        in: query
        required: false
        schema:
          anyOf:
          - type: array
            items:
              type: string
          - type: 'null'
          description: Filter by multiple specific tags (optional, takes precedence over tag_filter)
          title: Tag Filters
        description: Filter by multiple specific tags (optional, takes precedence over tag_filter)
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActiveUsersAnalyticsResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /tag/summary:
    get:
      tags:
      - user agent analytics
      summary: Get Tag Summary
      description: "Get summary analytics for tags including unique users, requests, tokens, and spend.\n\nArgs:\n    start_date: Start date for the analytics period (YYYY-MM-DD)\n    end_date: End date for the analytics period (YYYY-MM-DD)\n    tag_filter: Optional filter to specific tag (legacy)\n    tag_filters: Optional filter to multiple specific tags (takes precedence over tag_filter)\n\nReturns:\n    TagSummaryResponse: Summary analytics data by tag"
      operationId: get_tag_summary_tag_summary_get
      security:
      - APIKeyHeader: []
      parameters:
      - name: start_date
        in: query
        required: true
        schema:
          type: string
          description: Start date in YYYY-MM-DD format
          title: Start Date
        description: Start date in YYYY-MM-DD format
      - name: end_date
        in: query
        required: true
        schema:
          type: string
          description: End date in YYYY-MM-DD format
          title: End Date
        description: End date in YYYY-MM-DD format
      - name: tag_filter
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Filter by specific tag (optional)
          title: Tag Filter
        description: Filter by specific tag (optional)
      - name: tag_filters
        in: query
        required: false
        schema:
          anyOf:
          - type: array
            items:
              type: string
          - type: 'null'
          description: Filter by multiple specific tags (optional, takes precedence over tag_filter)
          title: Tag Filters
        description: Filter by multiple specific tags (optional, takes precedence over tag_filter)
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TagSummaryResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /tag/user-agent/per-user-analytics:
    get:
      tags:
      - user agent analytics
      summary: Get Per User Analytics
      description: "Get per-user analytics including successful requests, tokens, and spend by individual users.\n\nThis endpoint provides usage metrics broken down by individual users based on their\ntag activity during the last 30 days ending on UTC today + 1 day.\n\nArgs:\n    tag_filter: Optional filter to specific tag (legacy)\n    tag_filters: Optional filter to multiple specific tags (takes precedence over tag_filter)\n    page: Page number for pagination\n    page_size: Number of items per page\n\nReturns:\n    PerUserAnalyticsResponse: Analytics data broken down by individual users for the last 30 days"
      operationId: get_per_user_analytics_tag_user_agent_per_user_analytics_get
      security:
      - APIKeyHeader: []
      parameters:
      - name: tag_filter
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Filter by specific tag (optional)
          title: Tag Filter
        description: Filter by specific tag (optional)
      - name: tag_filters
        in: query
        required: false
        schema:
          anyOf:
          - type: array
            items:
              type: string
          - type: 'null'
          description: Filter by multiple specific tags (optional, takes precedence over tag_filter)
          title: Tag Filters
        description: Filter by multiple specific tags (optional, takes precedence over tag_filter)
      - name: page
        in: query
        required: false
        schema:
          type: integer
          minimum: 1
          description: Page number for pagination
          default: 1
          title: Page
        description: Page number for pagination
      - name: page_size
        in: query
        required: false
        schema:
          type: integer
          maximum: 1000
          minimum: 1
          description: Items per page
          default: 50
          title: Page Size
        description: Items per page
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PerUserAnalyticsResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    TagActiveUsersResponse:
      properties:
        tag:
          type: string
          title: Tag
        active_users:
          type: integer
          title: Active Users
        date:
          type: string
          title: Date
        period_start:
          anyOf:
          - type: string
          - type: 'null'
          title: Period Start
        period_end:
          anyOf:
          - type: string
          - type: 'null'
          title: Period End
      type: object
      required:
      - tag
      - active_users
      - date
      title: TagActiveUsersResponse
      description: Response for tag active users metrics
    TagSummaryMetrics:
      properties:
        tag:
          type: string
          title: Tag
        unique_users:
          type: integer
          title: Unique Users
        total_requests:
          type: integer
          title: Total Requests
        successful_requests:
          type: integer
          title: Successful Requests
        failed_requests:
          type: integer
          title: Failed Requests
        total_tokens:
          type: integer
          title: Total Tokens
        total_spend:
          type: number
          title: Total Spend
      type: object
      required:
      - tag
      - unique_users
      - total_requests
      - successful_requests
      - failed_requests
      - total_tokens
      - total_spend
      title: TagSummaryMetrics
      description: Summary metrics for a tag
    DistinctTagsResponse:
      properties:
        results:
          items:
            $ref: '#/components/schemas/DistinctTagResponse'
          type: array
          title: Results
      type: object
      required:
      - results
      title: DistinctTagsResponse
      description: Response for all distinct user agent tags
    ActiveUsersAnalyticsResponse:
      properties:
        results:
          items:
            $ref: '#/components/schemas/TagActiveUsersResponse'
          type: array
          title: Results
      type: object
      required:
      - results
      title: ActiveUsersAnalyticsResponse
      description: Response for active users analytics
    TagSummaryResponse:
      properties:
        results:
          items:
            $ref: '#/components/schemas/TagSummaryMetrics'
          type: array
          title: Results
      type: object
      required:
      - results
      title: TagSummaryResponse
      description: Response for tag summary analytics
    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
    PerUserAnalyticsResponse:
      properties:
        results:
          items:
            $ref: '#/components/schemas/PerUserMetrics'
          type: array
          title: Results
        total_count:
          type: integer
          title: Total Count
        page:
          type: integer
          title: Page
        page_size:
          type: integer
          title: Page Size
        total_pages:
          type: integer
          title: Total Pages
      type: object
      required:
      - results
      - total_count
      - page
      - page_size
      - total_pages
      title: PerUserAnalyticsResponse
      description: Response for per-user analytics
    DistinctTagResponse:
      properties:
        tag:
          type: string
          title: Tag
      type: object
      required:
      - tag
      title: DistinctTagResponse
      description: Response for distinct user agent tags
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    PerUserMetrics:
      properties:
        user_id:
          type: string
          title: User Id
        user_email:
          anyOf:
          - type: string
          - type: 'null'
          title: User Email
        user_agent:
          anyOf:
          - type: string
          - type: 'null'
          title: User Agent
        successful_requests:
          type: integer
          title: Successful Requests
          default: 0
        failed_requests:
          type: integer
          title: Failed Requests
          default: 0
        total_requests:
          type: integer
          title: Total Requests
          default: 0
        total_tokens:
          type: integer
          title: Total Tokens
          default: 0
        spend:
          type: number
          title: Spend
          default: 0.0
      type: object
      required:
      - user_id
      title: PerUserMetrics
      description: Metrics for individual user
  securitySchemes:
    APIKeyHeader:
      type: apiKey
      description: Bearer token
      in: header
      name: x-litellm-api-key