Traefik Labs HTTP API

Endpoints for inspecting HTTP routers, services, and middlewares.

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/traefik-http-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 email required.

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

OpenAPI Specification

traefik-http-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Traefik Proxy REST Entrypoints HTTP API
  description: 'The Traefik Proxy REST API provides read-only HTTP endpoints for inspecting the runtime configuration and state of a running Traefik instance. It exposes information about HTTP, TCP, and UDP routers, services, and middlewares, as well as entry points, raw dynamic configuration, the support-dump archive, and the current Traefik version. The API must be enabled in the Traefik static configuration (`api.insecure: true` for quick exploration, or by binding the `traefik` entrypoint behind an `IngressRoute` with `service: api@internal` for production) and should always be secured behind authentication before being exposed publicly. All endpoints listed here are mounted under the `/api` path prefix on the `traefik` entrypoint (default port 8080).'
  version: '3.7'
  contact:
    name: Traefik Labs
    url: https://traefik.io/
  license:
    name: MIT
    url: https://github.com/traefik/traefik/blob/master/LICENSE.md
servers:
- url: http://localhost:8080/api
  description: Default Traefik API endpoint (traefik entrypoint on port 8080)
tags:
- name: HTTP
  description: Endpoints for inspecting HTTP routers, services, and middlewares.
paths:
  /http/routers:
    get:
      operationId: listHTTPRouters
      summary: List All HTTP Routers
      description: Returns a list of all HTTP routers configured in the running Traefik instance, including their rules, entry points, middlewares, and service assignments.
      tags:
      - HTTP
      parameters:
      - $ref: '#/components/parameters/search'
      - $ref: '#/components/parameters/status'
      - $ref: '#/components/parameters/per_page'
      - $ref: '#/components/parameters/page'
      responses:
        '200':
          description: HTTP routers returned successfully
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/HTTPRouter'
  /http/routers/{name}:
    get:
      operationId: getHTTPRouter
      summary: Get a Specific HTTP Router
      description: Returns the configuration of a specific HTTP router by its name, including the rule, priority, entry points, service, and middlewares.
      tags:
      - HTTP
      parameters:
      - name: name
        in: path
        required: true
        description: The name of the HTTP router, in the format name@provider.
        schema:
          type: string
      responses:
        '200':
          description: HTTP router returned successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPRouter'
        '404':
          description: Router not found
  /http/services:
    get:
      operationId: listHTTPServices
      summary: List All HTTP Services
      description: Returns a list of all HTTP services configured in the running Traefik instance, including their load balancer configuration and server details.
      tags:
      - HTTP
      parameters:
      - $ref: '#/components/parameters/search'
      - $ref: '#/components/parameters/status'
      - $ref: '#/components/parameters/per_page'
      - $ref: '#/components/parameters/page'
      responses:
        '200':
          description: HTTP services returned successfully
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/HTTPService'
  /http/services/{name}:
    get:
      operationId: getHTTPService
      summary: Get a Specific HTTP Service
      description: Returns the configuration of a specific HTTP service by its name, including the load balancer servers and health check status.
      tags:
      - HTTP
      parameters:
      - name: name
        in: path
        required: true
        description: The name of the HTTP service, in the format name@provider.
        schema:
          type: string
      responses:
        '200':
          description: HTTP service returned successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPService'
        '404':
          description: Service not found
  /http/middlewares:
    get:
      operationId: listHTTPMiddlewares
      summary: List All HTTP Middlewares
      description: Returns a list of all HTTP middlewares configured in the running Traefik instance, including their type and configuration details.
      tags:
      - HTTP
      parameters:
      - $ref: '#/components/parameters/search'
      - $ref: '#/components/parameters/status'
      - $ref: '#/components/parameters/per_page'
      - $ref: '#/components/parameters/page'
      responses:
        '200':
          description: HTTP middlewares returned successfully
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/HTTPMiddleware'
  /http/middlewares/{name}:
    get:
      operationId: getHTTPMiddleware
      summary: Get a Specific HTTP Middleware
      description: Returns the configuration of a specific HTTP middleware by its name.
      tags:
      - HTTP
      parameters:
      - name: name
        in: path
        required: true
        description: The name of the HTTP middleware, in the format name@provider.
        schema:
          type: string
      responses:
        '200':
          description: HTTP middleware returned successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPMiddleware'
        '404':
          description: Middleware not found
components:
  parameters:
    search:
      name: search
      in: query
      required: false
      description: Filter results by name using a search string.
      schema:
        type: string
    status:
      name: status
      in: query
      required: false
      description: Filter results by status (enabled or disabled).
      schema:
        type: string
        enum:
        - enabled
        - disabled
    per_page:
      name: per_page
      in: query
      required: false
      description: Number of results per page.
      schema:
        type: integer
        default: 100
    page:
      name: page
      in: query
      required: false
      description: Page number for paginated results.
      schema:
        type: integer
        default: 1
  schemas:
    HTTPMiddleware:
      type: object
      description: An HTTP middleware that modifies requests or responses.
      properties:
        name:
          type: string
          description: The name of the middleware in name@provider format.
        type:
          type: string
          description: The type of middleware (e.g., addPrefix, basicAuth, buffering, chain, circuitBreaker, compress, headers, ipAllowList, rateLimit, redirectScheme, replacePath, retry, stripPrefix).
        status:
          type: string
          description: The current status of the middleware.
          enum:
          - enabled
          - disabled
          - warning
        provider:
          type: string
          description: The configuration provider that created this middleware.
        usedBy:
          type: array
          description: Routers currently using this middleware.
          items:
            type: string
    HTTPRouter:
      type: object
      description: An HTTP router that matches incoming requests and routes them to services.
      properties:
        name:
          type: string
          description: The name of the router in name@provider format.
        entryPoints:
          type: array
          description: Entry points this router is bound to.
          items:
            type: string
        middlewares:
          type: array
          description: Middlewares applied to this router in order.
          items:
            type: string
        service:
          type: string
          description: The service this router routes traffic to.
        rule:
          type: string
          description: The routing rule expression (e.g., Host, Path, Headers matchers).
        ruleSyntax:
          type: string
          description: The syntax version of the rule.
        priority:
          type: integer
          description: The priority of the router when multiple routers match.
        status:
          type: string
          description: The current status of the router.
          enum:
          - enabled
          - disabled
          - warning
        using:
          type: array
          description: Entry points being used by this router.
          items:
            type: string
        provider:
          type: string
          description: The configuration provider that created this router.
        tls:
          type: object
          description: TLS configuration for this router.
          properties:
            options:
              type: string
            certResolver:
              type: string
            domains:
              type: array
              items:
                type: object
                properties:
                  main:
                    type: string
                  sans:
                    type: array
                    items:
                      type: string
    HTTPService:
      type: object
      description: An HTTP service representing one or more backend servers.
      properties:
        name:
          type: string
          description: The name of the service in name@provider format.
        type:
          type: string
          description: The type of service (loadBalancer, weighted, mirroring).
        status:
          type: string
          description: The current status of the service.
          enum:
          - enabled
          - disabled
          - warning
        provider:
          type: string
          description: The configuration provider that created this service.
        loadBalancer:
          type: object
          description: Load balancer configuration with backend servers.
          properties:
            servers:
              type: array
              items:
                type: object
                properties:
                  url:
                    type: string
                    description: The URL of the backend server.
            passHostHeader:
              type: boolean
              description: Whether to pass the host header to backends.
            healthCheck:
              type: object
              description: Health check configuration for the backend servers.
              properties:
                scheme:
                  type: string
                path:
                  type: string
                port:
                  type: integer
                interval:
                  type: string
                timeout:
                  type: string
        serverStatus:
          type: object
          description: Map of server URLs to their current health status.
          additionalProperties:
            type: string
externalDocs:
  description: Traefik API Documentation
  url: https://doc.traefik.io/traefik/operations/api/