algoum-de · Schema

InsiderTransaction

CompanyFinanceSECInsiderTradingAPI

Properties

Name Type Description
ticker string
cik string
insider_name string
role object
role_detail string Free text from the filing about the role: for `officer` the job title, for `other` the kind of relationship. Not set for `director` and `10%-owner`, and otherwise only when the filing states it.
reporting_owners array All reporters of the filing. A joint filing (a fund, its general partner and the acting person, for instance) lists several; the transaction itself is still reported only once and appears here once. `
side string Trade direction; empty for Form 5 codes without buy/sell.
code string Raw SEC transaction code (P, S, G, A, …).
form_type string Source of the transaction – Form 4 (ongoing), Form 5 (annual report) or an amendment of either (`4/A`, `5/A`). An amendment is a correction the insider files later, sometimes months later. It is retur
original_filed_on stringnull For an amendment (`4/A`, `5/A`), the filing date of the original filing it corrects, as stated in the amendment; `null` for Form 4 and Form 5. The amendment names only this date, not the original's ac
shares number
price object Price per share. `null` when the filing states none – that happens when a trade consisted of several partial executions at different prices and the reporter gives the price in a footnote instead. A re
transaction_date string
filed_at string
is_10b5_1 booleannull Planned 10b5-1 sale where detectable; otherwise `null`.
ownership string Whether the insider holds the shares directly (`direct`) or through a vehicle (`indirect`). Empty when the filing states nothing.
ownership_detail string The holding vehicle in case of indirect ownership. An insider reports the same trade separately per vehicle; without this field such rows are identical in date, share count and price and look like dup
shares_owned_after numbernull Reported holding after the transaction, relative to the holding vehicle of this row. `null` when the filing does not state it – a holding of `0` after a full sale, by contrast, is a real statement.
filing_id string Accession number of the filing. All modules return it without a prefix; `/filings/{id}` additionally accepts the spelling with `fil_`.
source_url string
View JSON Schema on GitHub

JSON Schema

algoum-de-insider-transaction-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/algoum-de/json-schema/algoum-de-insider-transaction-schema.json",
  "title": "InsiderTransaction",
  "x-generated": "2026-10-30",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/algoum-de-api-openapi.json#/components/schemas/InsiderTransaction",
  "type": "object",
  "required": [
    "ticker",
    "cik",
    "insider_name",
    "role",
    "side",
    "shares",
    "price",
    "transaction_date",
    "filed_at",
    "filing_id",
    "source_url",
    "reporting_owners"
  ],
  "properties": {
    "ticker": {
      "type": "string"
    },
    "cik": {
      "type": "string"
    },
    "insider_name": {
      "type": "string"
    },
    "role": {
      "$ref": "#/$defs/InsiderRole"
    },
    "role_detail": {
      "type": "string",
      "description": "Free text from the filing about the role: for `officer` the job title, for `other` the kind of relationship. Not set for `director` and `10%-owner`, and otherwise only when the filing states it."
    },
    "reporting_owners": {
      "type": "array",
      "description": "All reporters of the filing. A joint filing (a fund, its general partner and the acting person, for instance) lists several; the transaction itself is still reported only once and appears here once. `insider_name`, `role` and `role_detail` describe the first entry of this list.",
      "items": {
        "$ref": "#/$defs/ReportingOwner"
      }
    },
    "side": {
      "type": "string",
      "enum": [
        "buy",
        "sell",
        ""
      ],
      "description": "Trade direction; empty for Form 5 codes without buy/sell."
    },
    "code": {
      "type": "string",
      "description": "Raw SEC transaction code (P, S, G, A, …)."
    },
    "form_type": {
      "type": "string",
      "enum": [
        "4",
        "5",
        "4/A",
        "5/A"
      ],
      "description": "Source of the transaction – Form 4 (ongoing), Form 5 (annual report) or an amendment of either (`4/A`, `5/A`). An amendment is a correction the insider files later, sometimes months later. It is returned as rows of its own next to the original, which stays unchanged; it usually repeats the whole filing, so do not add the rows of an original and its amendment together."
    },
    "original_filed_on": {
      "type": [
        "string",
        "null"
      ],
      "format": "date",
      "description": "For an amendment (`4/A`, `5/A`), the filing date of the original filing it corrects, as stated in the amendment; `null` for Form 4 and Form 5. The amendment names only this date, not the original's accession number, so match the original by issuer, insider and this date."
    },
    "shares": {
      "type": "number"
    },
    "price": {
      "oneOf": [
        {
          "$ref": "#/$defs/Money"
        },
        {
          "type": "null"
        }
      ],
      "description": "Price per share. `null` when the filing states none – that happens when a trade consisted of several partial executions at different prices and the reporter gives the price in a footnote instead. A reported price of `0` is a real statement, by contrast. Form 4 has no currency field. `currency` is `USD` unless the filing itself says otherwise: a footnote on the price naming another currency (for example `CAD`), or a security title that names a listing outside the US (for example `BRL` for \"Preference shares - BBDC4\" on B3). A footnote stating that the price was converted into US dollars keeps `USD`. Prices in pence are reported as `GBX`."
    },
    "transaction_date": {
      "type": "string",
      "format": "date"
    },
    "filed_at": {
      "type": "string",
      "format": "date-time"
    },
    "is_10b5_1": {
      "type": [
        "boolean",
        "null"
      ],
      "description": "Planned 10b5-1 sale where detectable; otherwise `null`."
    },
    "ownership": {
      "type": "string",
      "enum": [
        "direct",
        "indirect",
        ""
      ],
      "description": "Whether the insider holds the shares directly (`direct`) or through a vehicle (`indirect`). Empty when the filing states nothing."
    },
    "ownership_detail": {
      "type": "string",
      "description": "The holding vehicle in case of indirect ownership. An insider reports the same trade separately per vehicle; without this field such rows are identical in date, share count and price and look like duplicates."
    },
    "shares_owned_after": {
      "type": [
        "number",
        "null"
      ],
      "description": "Reported holding after the transaction, relative to the holding vehicle of this row. `null` when the filing does not state it – a holding of `0` after a full sale, by contrast, is a real statement."
    },
    "filing_id": {
      "type": "string",
      "description": "Accession number of the filing. All modules return it without a prefix; `/filings/{id}` additionally accepts the spelling with `fil_`."
    },
    "source_url": {
      "type": "string",
      "format": "uri"
    }
  },
  "$defs": {
    "InsiderRole": {
      "type": "string",
      "description": "Relationship of the reporter to the issuer, taken from the four check boxes of the Form 4 section “Relationship of Reporting Person(s) to Issuer”. `other` stands for the *Other* box; the label entered there (e.g. “Trustee”) is in `role_detail`.",
      "enum": [
        "officer",
        "director",
        "10%-owner",
        "other"
      ]
    },
    "Money": {
      "type": "object",
      "description": "Monetary amount with currency.",
      "required": [
        "amount",
        "currency"
      ],
      "properties": {
        "amount": {
          "type": "number"
        },
        "currency": {
          "type": "string",
          "description": "ISO 4217 code, except `GBX` for prices in British pence."
        }
      }
    },
    "ReportingOwner": {
      "type": "object",
      "description": "A reporting person or entity of a §16 filing.",
      "required": [
        "name",
        "cik",
        "role"
      ],
      "properties": {
        "name": {
          "type": "string"
        },
        "cik": {
          "type": "string"
        },
        "role": {
          "$ref": "#/$defs/InsiderRole"
        },
        "role_detail": {
          "type": "string",
          "description": "Free text from the filing about the role: for `officer` the job title, for `other` the kind of relationship."
        }
      }
    }
  }
}

Work with this as data

Every JSON Schema 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 schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema 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 JSON Schema
curl "https://apis.io/api/v1/json-schemas/algoum-de-insider-transaction"
All schemas
curl "https://apis.io/api/v1/json-schemas?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.