Forced Alpha API

Forced Alpha API as documented publicly: 16 operations. Contract generated from the documentation by API Evangelist (2026-11-08); not the provider's own document.

GitHub OpenAPI

Operations 16

GET /api/v1/intelligence/asymmetry GET /api/v1/intelligence/asymmetry #
GET /api/v1/intelligence/cascade/AXTI GET /api/v1/intelligence/cascade/AXTI #
GET /api/v1/intelligence/chokepoints GET /api/v1/intelligence/chokepoints #
GET /api/v1/intelligence/chokepoints/ Graph chokepoint nodes #
GET /api/v1/nodes/{nodeid} GET /api/v1/nodes/AXTI #
GET /api/v1/verify/AXTI GET /api/v1/verify/AXTI #
GET /v1/intelligence/asymmetry/min_ratio Nodes ranked by downstream exposure relative to market value #
GET /v1/intelligence/cascade/{nodeId} Downstream break and stress analysis #
GET /v1/intelligence/chokepoints/severity_min Graph chokepoint nodes #
GET /v1/meta/stats Graph statistics #
GET /v1/nodes/search/q Matching nodes #
GET /v1/nodes/{nodeId} One node and optionally its incoming and outgoing edges #
GET /v1/verify/competitors/{nodeId} The node, its known competitors via competes_with edges, and a competitor count. Unmetered by the monthly full-analysis quota. #
GET /v1/verify/{nodeId} Competitor landscape and claim confidence for a node. #
POST /v1/verify_claim Natural-language claim verification #

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/forcedalpha-com:forcedalpha-com-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

forcedalpha-com-openapi-generated.yml Raw ↑
openapi: 3.1.0
info:
  title: Forced Alpha API
  version: '2026-11-08'
  description: 'GENERATED FROM DOCUMENTATION by API Evangelist on 2026-11-08: 16 operation(s) read from 2 public documentation page(s) (each operation
    names its page in x-source). This is not the provider''s published contract; Forced Alpha has published no machine-readable contract that
    the pipeline could find. Engine: local.'
  x-evidence-tiers:
    code-example: 7
    documentation: 9
    pages-with-code: 2
    pages-read: 2
  x-generated-from: documentation
  x-provenance: generated
  x-authored-by: API Evangelist
  x-generated: '2026-11-08'
  x-generator: generate-contract-from-docs.py
  x-engine: local
  x-sources:
  - https://forcedalpha.com/docs/api
  - https://forcedalpha.com/api-docs
paths:
  /api/v1/intelligence/asymmetry:
    get:
      operationId: get_api_v1_intelligence_asymmetry
      tags:
      - Api
      summary: GET /api/v1/intelligence/asymmetry
      x-source: https://forcedalpha.com/api-docs
      parameters:
      - name: limit
        in: query
        required: false
        schema:
          type: string
      - name: min_ratio
        in: query
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl \"https://forcedalpha.com/api/v1/intelligence/asymmetry/?min_ratio=100&limit=10\"  -H \"X-API-Key: fa_your_key_here\" \n\
          \ Use case: Portfolio managers \n Pain: You run a 30-stock book. You don't know that 11 positions share a single upstream supplier.\
          \ You find out when the supplier misses earnings. \n Without FA \n Read 10-Ks manually for each position \n Supply chain exposure is\
          \ implicit, not mapped \n"
  /api/v1/intelligence/cascade/AXTI:
    get:
      operationId: get_api_v1_intelligence_cascade_AXTI
      tags:
      - Api
      summary: GET /api/v1/intelligence/cascade/AXTI
      x-source: https://forcedalpha.com/api-docs
      parameters:
      - name: max_depth
        in: query
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Success (shape read from the example response on the page)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetApiV1IntelligenceCascadeAxtiResponse'
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl \"https://forcedalpha.com/api/v1/intelligence/cascade/AXTI?max_depth=1\"  -H \"X-API-Key: fa_your_key_here\" \n json —\
          \ response (abbreviated) \n {\n \"data\" : {\n \"seed_node\" : {\n \"id\" : \"AXTI\" ,\n \"name\" : \"AXT Inc.\" ,\n \"severity\" :\
          \ 4 ,\n \"market_cap_b\" : 6.09 \n },\n \"asymmetry_ratio\" : 4964.3 ,\n \"total_downstream_cap_b\" : 30232.45 ,\n \"breaks\" : ["
  /api/v1/intelligence/chokepoints:
    get:
      operationId: get_api_v1_intelligence_chokepoints
      tags:
      - Api
      summary: GET /api/v1/intelligence/chokepoints
      x-source: https://forcedalpha.com/api-docs
      parameters:
      - name: limit
        in: query
        required: false
        schema:
          type: string
      - name: severity_min
        in: query
        required: false
        schema:
          type: string
      - name: theme
        in: query
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl \"https://forcedalpha.com/api/v1/intelligence/chokepoints/?theme=AI&severity_min=4&limit=10\"  -H \"X-API-Key: fa_your_key_here\"\
          \ \n bash — what is upstream of a specific company "
  /api/v1/intelligence/chokepoints/:
    get:
      operationId: get_api_v1_intelligence_chokepoints
      tags:
      - Api
      summary: Graph chokepoint nodes
      x-source: https://forcedalpha.com/docs/api
      parameters:
      - name: theme
        in: query
        required: false
        schema:
          type: string
      - name: severity_min
        in: query
        required: false
        schema:
          type: string
      - name: limit
        in: query
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /api/v1/nodes/search:
    get:
      operationId: get_api_v1_nodes_search
      tags:
      - Api
      summary: GET /api/v1/nodes/search
      x-source: https://forcedalpha.com/api-docs
      parameters:
      - name: q
        in: query
        required: false
        schema:
          type: string
      - name: theme
        in: query
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Success (shape read from the example response on the page)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetApiV1NodesSearchResponse'
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl \"https://forcedalpha.com/api/v1/nodes/search?q=indium+phosphide&theme=AI\"  -H \"X-API-Key: fa_...\" \n Response format\
          \ \n All responses follow the same envelope: \n json \n {\n \"data\" : { /* endpoint-specific payload */ },\n \"meta\" : {\n \"request_id\"\
          \ : \"c90b8554\" ,\n \"execution_ms\" : 81 ,\n \"timestamp\" : \"2026-06-17T06:49:00Z\" \n },\n \"partial_failures\" : ["
  /api/v1/nodes/{nodeid}:
    get:
      operationId: get_api_v1_nodes_nodeid
      tags:
      - Api
      summary: GET /api/v1/nodes/AXTI
      x-source: https://forcedalpha.com/docs/api
      parameters:
      - name: nodeid
        in: path
        required: true
        schema:
          type: string
      - name: include_edges
        in: query
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl 'https://forcedalpha.com/api/v1/nodes/AXTI?include_edges=true'  -H 'X-API-Key: fa_YOUR_KEY_HERE' Use a key only in a header.\
          \ A missing graph node returns an HTTP 404 error. \n Use case: Portfolio managers Several positions in a book can depend on the same\
          \ upstream supplier without that being visible in any one company's filings. Query each holding's upstream nodes and compare them: the\
          \ API lis"
        collapsed_from: 2 example path(s) differing only at nodeId
  /api/v1/verify/AXTI:
    get:
      operationId: get_api_v1_verify_AXTI
      tags:
      - Api
      summary: GET /api/v1/verify/AXTI
      x-source: https://forcedalpha.com/api-docs
      responses:
        '200':
          description: Success (shape read from the example response on the page)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetApiV1VerifyAxtiResponse'
      x-evidence:
        kind: code-example
        language: curl
        snippet: 'curl "https://forcedalpha.com/api/v1/verify/AXTI"  -H "X-API-Key: fa_your_key_here" '
  /v1/intelligence/asymmetry/min_ratio:
    get:
      operationId: get_v1_intelligence_asymmetry_min_ratio
      tags:
      - Intelligence
      summary: Nodes ranked by downstream exposure relative to market value
      x-source: https://forcedalpha.com/docs/api
      parameters:
      - name: min_ratio
        in: query
        required: false
        schema:
          type: string
        description: default 10
      - name: max_cap_b
        in: query
        required: false
        schema:
          type: string
      - name: theme
        in: query
        required: false
        schema:
          type: string
      - name: severity_min
        in: query
        required: false
        schema:
          type: string
        description: default 3
      - name: limit
        in: query
        required: false
        schema:
          type: string
        description: default 50
      - name: view
        in: query
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /v1/intelligence/cascade/{nodeId}:
    get:
      operationId: get_v1_intelligence_cascade_nodeId
      tags:
      - Intelligence
      summary: Downstream break and stress analysis
      x-source: https://forcedalpha.com/docs/api
      parameters:
      - name: nodeId
        in: path
        required: true
        schema:
          type: string
      - name: max_depth
        in: query
        required: false
        schema:
          type: string
        description: defaults to 3 and accepts 1–5
      - name: scenario
        in: query
        required: false
        schema:
          type: string
        description: defaults to current and also accepts pre_controls , full_embargo , and us_only
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /v1/intelligence/chokepoints/severity_min:
    get:
      operationId: get_v1_intelligence_chokepoints_severity_min
      tags:
      - Intelligence
      summary: Graph chokepoint nodes
      x-source: https://forcedalpha.com/docs/api
      parameters:
      - name: severity_min
        in: query
        required: false
        schema:
          type: string
        description: default 4
      - name: theme
        in: query
        required: false
        schema:
          type: string
      - name: country
        in: query
        required: false
        schema:
          type: string
      - name: limit
        in: query
        required: false
        schema:
          type: string
        description: default 50
      - name: view
        in: query
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /v1/meta/stats:
    get:
      operationId: get_v1_meta_stats
      tags:
      - Meta
      summary: Graph statistics
      x-source: https://forcedalpha.com/docs/api
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /v1/nodes/search/q:
    get:
      operationId: get_v1_nodes_search_q
      tags:
      - Nodes
      summary: Matching nodes
      x-source: https://forcedalpha.com/docs/api
      parameters:
      - name: q
        in: query
        required: false
        schema:
          type: string
      - name: type
        in: query
        required: false
        schema:
          type: string
      - name: country
        in: query
        required: false
        schema:
          type: string
      - name: theme
        in: query
        required: false
        schema:
          type: string
      - name: severity_min
        in: query
        required: false
        schema:
          type: string
      - name: severity_max
        in: query
        required: false
        schema:
          type: string
      - name: verification_status
        in: query
        required: false
        schema:
          type: string
      - name: has_ticker
        in: query
        required: false
        schema:
          type: string
      - name: limit
        in: query
        required: false
        schema:
          type: string
        description: default 50
      - name: offset
        in: query
        required: false
        schema:
          type: string
        description: default 0
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /v1/nodes/{nodeId}:
    get:
      operationId: get_v1_nodes_nodeId
      tags:
      - Nodes
      summary: One node and optionally its incoming and outgoing edges
      x-source: https://forcedalpha.com/docs/api
      parameters:
      - name: nodeId
        in: path
        required: true
        schema:
          type: string
      - name: include_edges
        in: query
        required: false
        schema:
          type: string
        description: defaults to true
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /v1/verify/competitors/{nodeId}:
    get:
      operationId: get_v1_verify_competitors_nodeId
      tags:
      - Verify
      summary: The node, its known competitors via competes_with edges, and a competitor count. Unmetered by the monthly full-analysis quota.
      x-source: https://forcedalpha.com/docs/api
      parameters:
      - name: nodeId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /v1/verify/{nodeId}:
    get:
      operationId: get_v1_verify_nodeId
      tags:
      - Verify
      summary: Competitor landscape and claim confidence for a node.
      x-source: https://forcedalpha.com/api-docs
      parameters:
      - name: nodeId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetV1VerifyNodeidResponse'
      x-evidence:
        kind: documentation
  /v1/verify_claim:
    post:
      operationId: post_v1_verify_claim
      tags:
      - Verify Claim
      summary: Natural-language claim verification
      x-source: https://forcedalpha.com/docs/api
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostV1VerifyClaimRequest'
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
components:
  schemas:
    GetApiV1IntelligenceCascadeAxtiResponse:
      type: object
      properties:
        data:
          type: object
          properties:
            seed_node:
              type: object
              properties:
                id:
                  type: string
                name:
                  type: string
                severity:
                  type: integer
                market_cap_b:
                  type: number
            asymmetry_ratio:
              type: number
            total_downstream_cap_b:
              type: number
            breaks:
              type: array
              items: {}
            stresses:
              type: array
              items: {}
        meta:
          type: object
          properties:
            execution_ms:
              type: integer
            request_id:
              type: string
    GetApiV1NodesSearchResponse:
      type: object
      properties:
        data:
          type: object
        meta:
          type: object
          properties:
            request_id:
              type: string
            execution_ms:
              type: integer
            timestamp:
              type: string
              format: date-time
        partial_failures:
          type: array
          items:
            type: object
            properties:
              field:
                type: string
              reason:
                type: string
    GetApiV1VerifyAxtiResponse:
      type: object
      properties:
        data:
          type: object
        meta:
          type: object
          properties:
            request_id:
              type: string
            execution_ms:
              type: integer
            timestamp:
              type: string
              format: date-time
        partial_failures:
          type: array
          items:
            type: object
            properties:
              field:
                type: string
              reason:
                type: string
    GetV1VerifyNodeidResponse:
      type: object
      properties:
        data:
          type: object
          description: Endpoint‑specific payload with verification details.
        meta:
          type: object
          description: Metadata such as request_id, execution_ms, timestamp.
        partial_failures:
          type: array
          description: Field‑level failures, if any.
    PostV1VerifyClaimRequest:
      type: object
      properties:
        claim:
          type: string
          description: a plain-English claim of up to 500 characters
      required:
      - claim
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: X-API-Key
security:
- apiKey: []
tags:
- name: Api
- name: Intelligence
- name: Meta
- name: Nodes
- name: Verify
- name: Verify Claim