AlphaAI · Authentication Profile

Alphaai Authentication

Authentication

Two authentication surfaces on two hosts. The REST API takes a single static bearer API key with a recognisable `ak_live_` prefix. The MCP server accepts either the SAME key as a bearer token or a full OAuth 2.1 authorization-code flow with PKCE and RFC 7591 dynamic client registration — the dual path is deliberate, so browserless agents (n8n, cron, CI) are not locked out of MCP.

AlphaAI secures its APIs with http and oauth2 across 3 declared security schemes, as derived from its OpenAPI definitions. OAuth 2.0 is offered via the authorizationCode flow(s).

Financial NewsStock MarketSEC FilingsInsider TradingFintechMarket DataSentimentAI AgentsMCPLLMTrading
Methods: http, oauth2 Schemes: 3 OAuth flows: authorizationCode API key in: header

Security Schemes

apiKey http
scheme: bearer · in: header ()
MCP OAuth 2.1 oauth2
· flows: authorizationCode
MCP bearer (API key) http
scheme: bearer

Source

Authentication Profile

Raw ↑
generated: '2026-08-11'
method: searched
source: openapi/alphaai-rest-api-openapi.yml
docs: https://alphai.io/developers
description: >-
  Two authentication surfaces on two hosts. The REST API takes a single static
  bearer API key with a recognisable `ak_live_` prefix. The MCP server accepts
  either the SAME key as a bearer token or a full OAuth 2.1 authorization-code
  flow with PKCE and RFC 7591 dynamic client registration — the dual path is
  deliberate, so browserless agents (n8n, cron, CI) are not locked out of MCP.

summary:
  types: [http, oauth2]
  api_key_in: [header]
  oauth2_flows: [authorizationCode]

schemes:
  - name: apiKey
    type: http
    scheme: bearer
    bearerFormat: ak_live_*
    in: header
    header: Authorization
    applies_to: https://api.alphai.io
    description: |-
      Token of the form `ak_live_<random>`. Issued from
      `/account/api-keys` on the website. Send as `Authorization: Bearer …`.
    sources:
      - openapi/alphaai-rest-api-openapi.yml
    required_on: every request (global security requirement in the spec)
    key_management:
      issue_url: https://alphai.io/account/api-keys
      credit_card_required: false
      keys_per_account: {Free: 1, Basic: 1, Pro: 5}
      rotation: Keys can be revoked from the dashboard; a revoked key returns 401 "Invalid or revoked API key."
    constraints:
      - Header only. The docs state explicitly that keys never go in a query parameter.
      - >-
        Send API traffic to api.alphai.io directly rather than through the
        website host — the provider notes the API host has no browser-oriented
        bot filtering.

  - name: MCP OAuth 2.1
    type: oauth2
    applies_to: https://mcp.alphai.io/mcp
    flows:
      - flow: authorizationCode
        authorizationUrl: https://mcp.alphai.io/oauth/authorize
        tokenUrl: https://mcp.alphai.io/oauth/token
        refreshUrl: https://mcp.alphai.io/oauth/token
        scopes: [tools.read, tools.bulk]
        pkce: S256
    dynamic_client_registration: true
    registration_endpoint: https://mcp.alphai.io/oauth/register
    sources:
      - well-known/alphaai-oauth-authorization-server.json
      - well-known/alphaai-oauth-protected-resource.json
    detail: scopes/alphaai-scopes.yml

  - name: MCP bearer (API key)
    type: http
    scheme: bearer
    bearerFormat: ak_live_*
    applies_to: https://mcp.alphai.io/mcp
    description: >-
      The REST key used as an MCP bearer token, for clients with no browser to
      run the OAuth flow. Documented at https://alphai.io/mcp.
    sources: [https://alphai.io/mcp]

failure_modes:
  - status: 401
    when: no Authorization header
    body: '{"detail": "API key required."}'
    observed: '2026-08-11'
  - status: 401
    when: malformed / revoked key
    body: '{"message":"Invalid or revoked API key.","extra":{}}'
    headers: 'WWW-Authenticate: Bearer'
    observed: '2026-08-11'
  - status: 401
    when: MCP request with no token
    body_fields: [error, reason, how_to_connect]
    headers: 'WWW-Authenticate: Bearer realm="alphai-mcp", resource_metadata="https://mcp.alphai.io/.well-known/oauth-protected-resource/mcp"'
    observed: '2026-08-11'
    note: >-
      A model 401 — it names the resource metadata document AND carries a plain
      how_to_connect string telling the caller where to create a key.

notes:
  - >-
    The two 401 envelopes on the REST API are inconsistent: a missing key returns
    a `detail` field, an invalid key returns `message` + `extra`. Both shapes are
    permitted by the spec's Error schema, but an agent has to handle both.
  - >-
    There is no per-key scoping on REST. A key is a whole-account credential; the
    only differentiation is plan tier.

Work with this as data

Every security artifact 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 security posture

4 MCP tools reach this
  • find_securityBrowse and filter every security artifact in the catalog.
  • 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 security artifact
curl "https://apis.io/api/v1/security/alphaai-authentication"
All security posture
curl "https://apis.io/api/v1/security?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.