algoum-de Institutional API

Quarterly portfolios of institutional investors and the aggregated picture per stock. 13F filings are due 45 days after quarter end, so the most recent quarter fills up over several weeks.

Operations 5

GET /institutional/funds Search funds/managers #
GET /institutional/funds/{id}/holdings Get a fund's portfolio #
GET /institutional/holdings Who holds a stock? #
GET /institutional/sentiment Aggregated buy/sell picture per stock #
GET /institutional/disclosures Most recently filed 13F disclosures #

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/algoum-de:algoum-de-institutional-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

algoum-de-institutional-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Algoum De Institutional API
  version: 1.0.0
  license:
    name: Proprietary
    identifier: LicenseRef-Proprietary
  description: 'Operations tagged institutional across 3 of this provider''s published API definitions: algoum-de-api-openapi.json, algoum-de-site-openapi.json, algoum-de-site-openapi.yaml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.algoum.de/v1
  name: production
  description: Production environment.
security:
- bearerAuth: []
tags:
- name: institutional
  summary: Institutional holdings (Form 13F)
  description: 'Quarterly portfolios of institutional investors and the aggregated

    picture per stock. 13F filings are due 45 days after quarter end, so the

    most recent quarter fills up over several weeks.'
paths:
  /institutional/funds:
    get:
      tags:
      - institutional
      operationId: listFunds
      summary: Search funds/managers
      description: 'Searches funds/managers by free text or CIK.

        Fixed sort order: fund name ascending.'
      parameters:
      - name: query
        in: query
        description: Free text, e.g. “Bridgewater”.
        schema:
          type: string
      - $ref: '#/components/parameters/Cik'
      - $ref: '#/components/parameters/Limit'
      - $ref: '#/components/parameters/Cursor'
      responses:
        '200':
          description: List of funds/managers.
          content:
            application/json:
              examples:
                default:
                  $ref: '#/components/examples/FundList'
              schema:
                allOf:
                - $ref: '#/components/schemas/Envelope'
                - type: object
                  properties:
                    data:
                      type: array
                      items:
                        $ref: '#/components/schemas/Fund'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/InternalServerError'
    servers:
    - url: https://api.algoum.de/v1
      name: production
      description: Production environment.
  /institutional/funds/{id}/holdings:
    get:
      tags:
      - institutional
      operationId: getFundHoldings
      summary: Get a fund's portfolio
      description: 'Returns the complete portfolio of a fund for one quarter.

        Without `quarter`, the latest quarter **of that fund** is used. 13F has a

        45-day filing deadline, so a fund is regularly missing from the most

        recent quarter; the globally latest quarter would yield an empty list

        for it.


        A fund we hold no 13F filing for at all answers `404`. A fund that does

        exist but reported nothing for the requested quarter answers `200` with

        an empty list plus a note in `meta.warnings` naming its most recent

        reported quarter. Because of the filing deadline that second case is

        routine rather than an error, and the two are worth telling apart.

        Fixed sort order: position value descending, then `id`.


        The path segment is the fund''s CIK. Leading zeros are optional:

        `0001067983` and `1067983` address the same fund.'
      parameters:
      - $ref: '#/components/parameters/PathId'
      - $ref: '#/components/parameters/Quarter'
      - $ref: '#/components/parameters/Limit'
      - $ref: '#/components/parameters/Cursor'
      responses:
        '200':
          description: Holdings of the fund in that quarter.
          content:
            application/json:
              examples:
                default:
                  $ref: '#/components/examples/HoldingList'
              schema:
                allOf:
                - $ref: '#/components/schemas/Envelope'
                - type: object
                  properties:
                    data:
                      type: array
                      items:
                        $ref: '#/components/schemas/Holding'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/InternalServerError'
    servers:
    - url: https://api.algoum.de/v1
      name: production
      description: Production environment.
  /institutional/holdings:
    get:
      tags:
      - institutional
      operationId: listHoldingsByStock
      summary: Who holds a stock?
      description: 'Returns all funds holding a position in the requested instrument.

        Fixed sort order: position value descending, then `id`.'
      parameters:
      - $ref: '#/components/parameters/TickerRequired'
      - $ref: '#/components/parameters/Quarter'
      - $ref: '#/components/parameters/Limit'
      - $ref: '#/components/parameters/Cursor'
      responses:
        '200':
          description: Funds with a position in the instrument.
          content:
            application/json:
              examples:
                default:
                  $ref: '#/components/examples/HoldingList'
              schema:
                allOf:
                - $ref: '#/components/schemas/Envelope'
                - type: object
                  properties:
                    data:
                      type: array
                      items:
                        $ref: '#/components/schemas/Holding'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/InternalServerError'
    servers:
    - url: https://api.algoum.de/v1
      name: production
      description: Production environment.
  /institutional/sentiment:
    get:
      tags:
      - institutional
      operationId: getInstitutionalSentiment
      summary: Aggregated buy/sell picture per stock
      description: 'Aggregates the buy/sell picture of a stock across all funds for one

        quarter. Note: 13F values are reported holdings, not actual cash flow.'
      parameters:
      - $ref: '#/components/parameters/TickerRequired'
      - $ref: '#/components/parameters/Quarter'
      responses:
        '200':
          description: Aggregated institutional sentiment.
          content:
            application/json:
              examples:
                default:
                  $ref: '#/components/examples/SentimentItem'
              schema:
                allOf:
                - $ref: '#/components/schemas/Envelope'
                - type: object
                  properties:
                    data:
                      $ref: '#/components/schemas/InstitutionalSentiment'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/InternalServerError'
    servers:
    - url: https://api.algoum.de/v1
      name: production
      description: Production environment.
  /institutional/disclosures:
    get:
      tags:
      - institutional
      operationId: listInstitutionalDisclosures
      summary: Most recently filed 13F disclosures
      description: '13F filings most recently submitted to the SEC, in chronological order

        by filing time (`filed_at`) and aggregated at fund level (not as a

        single-position feed). Unlike `insider/recent` this is not a feed of

        individual transactions: 13F holdings are quarterly snapshots; the

        “freshness” dimension is the filing time of the disclosure.

        Fixed sort order: `filed_at` descending, then `filing_id`.'
      parameters:
      - name: days
        in: query
        description: Window over the filing time in days, capped at 90.
        schema:
          type: integer
          minimum: 1
          maximum: 90
          default: 7
      - $ref: '#/components/parameters/Quarter'
      - $ref: '#/components/parameters/Limit'
      - $ref: '#/components/parameters/Cursor'
      responses:
        '200':
          description: Most recently filed disclosures (fund level).
          content:
            application/json:
              examples:
                default:
                  $ref: '#/components/examples/DisclosureList'
              schema:
                allOf:
                - $ref: '#/components/schemas/Envelope'
                - type: object
                  properties:
                    data:
                      type: array
                      items:
                        $ref: '#/components/schemas/Disclosure'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/InternalServerError'
    servers:
    - url: https://api.algoum.de/v1
      name: production
      description: Production environment.
components:
  parameters:
    PathId:
      name: id
      in: path
      required: true
      description: Resource ID.
      schema:
        type: string
    Quarter:
      name: quarter
      in: query
      description: Reporting quarter, e.g. `2026-Q1`.
      schema:
        type: string
        pattern: ^\d{4}-Q[1-4]$
        example: 2026-Q1
    TickerRequired:
      name: ticker
      in: query
      required: true
      description: Stock ticker, e.g. `AAPL`.
      schema:
        type: string
        example: AAPL
    Limit:
      name: limit
      in: query
      description: Maximum number of results.
      schema:
        type: integer
        minimum: 1
        maximum: 500
        default: 50
    Cursor:
      name: cursor
      in: query
      description: Opaque cursor for the next page.
      schema:
        type: string
    Cik:
      name: cik
      in: query
      description: 'Central Index Key (alternative to the ticker). Leading zeros are optional: `0000320193` and `320193` return the same rows. In responses the key is always ten digits, so it is safe to use as a join key.'
      schema:
        type: string
        example: 0000320193
  schemas:
    Envelope:
      type: object
      description: Uniform response envelope. `data` is specialised per endpoint.
      required:
      - meta
      properties:
        meta:
          $ref: '#/components/schemas/Meta'
    Fund:
      type: object
      required:
      - cik
      - name
      properties:
        cik:
          type: string
          description: Central Index Key of the fund, always ten digits.
          example: 0001067983
        name:
          type: string
          example: Berkshire Hathaway Inc
        latest_quarter:
          type: string
          description: Most recent reporting quarter of the fund.
          example: 2026-Q1
    Meta:
      type: object
      description: Uniform metadata present in every response.
      required:
      - request_id
      - source
      properties:
        request_id:
          type: string
          example: req_01H...
        source:
          type: string
          example: sec_edgar
        data_freshness:
          type: string
          format: date-time
          description: Filing time of the most recently processed filing. Absent as long as no data has been imported – no freshness is claimed in that case.
          example: '2026-07-13T21:05:00-04:00'
        next_cursor:
          type:
          - string
          - 'null'
          description: Cursor for the next page; `null` at the end.
        warnings:
          type: array
          items:
            type: string
    ErrorResponse:
      type: object
      required:
      - error
      properties:
        error:
          type: object
          required:
          - code
          - message
          - request_id
          properties:
            code:
              type: string
              example: invalid_parameter
            message:
              type: string
              example: Parameter 'ticker' or 'cik' is required.
            request_id:
              type: string
              example: req_01H...
    Holding:
      type: object
      required:
      - fund_name
      - fund_cik
      - ticker
      - cusip
      - shares
      - value
      - quarter
      - filed_at
      - filing_id
      properties:
        fund_name:
          type: string
          example: Berkshire Hathaway Inc
        fund_cik:
          type: string
          description: Central Index Key of the reporting fund, always ten digits.
          example: 0001067983
        ticker:
          type: string
          example: AAPL
        cusip:
          type: string
          example: 037833100
        issuer_name:
          type: string
          description: Issuer name from the filing (nameOfIssuer).
          example: APPLE INC
        shares:
          type: number
          example: 300000000
        value:
          $ref: '#/components/schemas/Money'
        put_call:
          type:
          - string
          - 'null'
          enum:
          - put
          - call
          - null
          description: Option type; `null` for a stock position.
        quarter:
          type: string
          example: 2026-Q1
        filed_at:
          type: string
          format: date-time
          example: '2026-05-15T20:10:00-04:00'
        filing_id:
          type: string
          example: fil_0001067983-26-000012
    Money:
      type: object
      description: Monetary amount with currency.
      required:
      - amount
      - currency
      properties:
        amount:
          type: number
          example: 190.12
        currency:
          type: string
          description: ISO 4217 code, except `GBX` for prices in British pence.
          example: USD
    Disclosure:
      type: object
      required:
      - fund_name
      - fund_cik
      - quarter
      - filed_at
      - holdings_count
      - total_value
      - filing_id
      properties:
        fund_name:
          type: string
          example: Berkshire Hathaway Inc
        fund_cik:
          type: string
          description: Central Index Key of the reporting fund, always ten digits.
          example: 0001067983
        quarter:
          type: string
          example: 2026-Q1
        filed_at:
          type: string
          format: date-time
          example: '2026-05-15T20:10:00-04:00'
        holdings_count:
          type: integer
          description: Number of positions in the disclosure.
          example: 42
        total_value:
          $ref: '#/components/schemas/Money'
        filing_id:
          type: string
          example: fil_0001067983-26-000012
    InstitutionalSentiment:
      type: object
      required:
      - ticker
      - quarter
      - funds_holding
      - funds_increased
      - funds_decreased
      properties:
        ticker:
          type: string
          example: NVDA
        quarter:
          type: string
          example: 2026-Q1
        funds_holding:
          type: integer
          description: Number of funds with a position in the reporting quarter.
          example: 570
        funds_increased:
          type: integer
          description: Funds that increased the position versus the previous quarter.
          example: 450
        funds_decreased:
          type: integer
          description: Funds that reduced the position versus the previous quarter.
          example: 120
        funds_new:
          type: integer
          description: Funds that newly opened the position.
        funds_exited:
          type: integer
          description: Funds that closed the position. As long as quarter_complete is false, the value also contains funds that have simply not reported yet, and is inflated as a result.
        total_shares:
          type: number
          description: Sum of the reported share holdings (not a cash flow).
        total_value:
          $ref: '#/components/schemas/Money'
        quarter_complete:
          type: boolean
          description: Whether the 13F filing deadline of the quarter has passed (quarter end plus 45 days). If false, the quarter is still incomplete; meta.warnings then contains a note.
        filing_deadline:
          type: string
          format: date
          description: Last filing day for this quarter.
          example: '2026-08-14'
  examples:
    DisclosureList:
      summary: Most recently filed 13F disclosures
      value:
        meta:
          request_id: req_01K4W88P3L6Z
          source: sec_edgar
          data_freshness: '2026-05-15T20:10:00-04:00'
          next_cursor: null
          warnings: []
        data:
        - fund_name: Berkshire Hathaway Inc
          fund_cik: 0001067983
          quarter: 2026-Q1
          filed_at: '2026-05-15T20:10:00-04:00'
          holdings_count: 42
          total_value:
            amount: 302000000000.0
            currency: USD
          filing_id: 0001067983-26-000012
        - fund_name: Bridgewater Associates LP
          fund_cik: 0001350694
          quarter: 2026-Q1
          filed_at: '2026-05-14T18:45:00-04:00'
          holdings_count: 812
          total_value:
            amount: 21400000000.0
            currency: USD
          filing_id: 0001350694-26-000008
    FundList:
      summary: Funds matching a free-text search
      value:
        meta:
          request_id: req_01K4W85D1F8T
          source: sec_edgar
          data_freshness: '2026-05-15T20:10:00-04:00'
          next_cursor: null
          warnings: []
        data:
        - cik: 0001067983
          name: Berkshire Hathaway Inc
          latest_quarter: 2026-Q1
        - cik: 0001350694
          name: Bridgewater Associates LP
          latest_quarter: 2026-Q1
    SentimentItem:
      summary: Aggregated institutional picture of one stock
      value:
        meta:
          request_id: req_01K4W87M9J4Y
          source: sec_edgar
          data_freshness: '2026-05-15T20:10:00-04:00'
          next_cursor: null
          warnings:
          - The filing deadline of quarter 2026-Q1 has not passed yet; the picture is incomplete.
        data:
          ticker: NVDA
          quarter: 2026-Q1
          funds_holding: 570
          funds_increased: 450
          funds_decreased: 120
          funds_new: 65
          funds_exited: 38
          total_shares: 1820000000
          total_value:
            amount: 214000000000.0
            currency: USD
          quarter_complete: false
          filing_deadline: '2026-08-14'
    HoldingList:
      summary: Positions of one quarter
      value:
        meta:
          request_id: req_01K4W86H5G2W
          source: sec_edgar
          data_freshness: '2026-05-15T20:10:00-04:00'
          next_cursor: eyJvIjo1MH0
          warnings: []
        data:
        - fund_name: Berkshire Hathaway Inc
          fund_cik: 0001067983
          ticker: AAPL
          cusip: 037833100
          issuer_name: APPLE INC
          shares: 300000000
          value:
            amount: 57036000000.0
            currency: USD
          put_call: null
          quarter: 2026-Q1
          filed_at: '2026-05-15T20:10:00-04:00'
          filing_id: 0001067983-26-000012
        - fund_name: Berkshire Hathaway Inc
          fund_cik: 0001067983
          ticker: KO
          cusip: '191216100'
          issuer_name: COCA COLA CO
          shares: 400000000
          value:
            amount: 27600000000.0
            currency: USD
          put_call: null
          quarter: 2026-Q1
          filed_at: '2026-05-15T20:10:00-04:00'
          filing_id: 0001067983-26-000012
  responses:
    TooManyRequests:
      description: Rate limit exceeded. The rejection is issued at the edge, in front of the API, so it does not necessarily carry the JSON error envelope and has no `request_id`. Slow down and retry.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    NotFound:
      description: Resource not found.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    Unauthorized:
      description: Missing or invalid API key.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    BadRequest:
      description: Invalid request parameters.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    InternalServerError:
      description: Unexpected server-side error, error code `internal_error`. The message is always the same; the cause stays in the server log, keyed by the `request_id` that the response repeats. Quote it in a support request.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: 'Your own API key as a bearer token (`Authorization: Bearer <key>`).'
externalDocs:
  description: Guides – getting started, conventions, streaming.
  url: https://www.algoum.de/docs
x-refined-from:
- algoum-de-api-openapi.json
- algoum-de-site-openapi.json
- algoum-de-site-openapi.yaml