api-ninjas-com Insider Transactions API

The Insider Transactions API provides comprehensive insider trading transaction data from SEC filings (Form 3, Form 4, Form 5). Search and filter transactions by company, insider, transaction type, date range, and more.

Operations 3

GET /v1/insidertransactions Get insider trading transactions #
GET /v1/insiderdetails Get detailed transaction information for a given insider #
GET /v1/insiderslist Get list of insiders for a company #

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/api-ninjas-com:api-ninjas-com-insider-transactions-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

api-ninjas-com-insider-transactions-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Ninjas Insider Transactions API
  description: 'Combined OpenAPI specification for every API Ninjas endpoint. Requests go to https://api.api-ninjas.com with an `X-Api-Key` header; get a free key at https://api-ninjas.com/register. Human-readable docs: https://api-ninjas.com/api. Index for LLMs: https://api-ninjas.com/llms.txt.'
  version: 1.0.0
  contact:
    name: API Ninjas
    url: https://api-ninjas.com
  license:
    name: Proprietary
servers:
- url: https://api.api-ninjas.com
  description: API Ninjas Production
security:
- ApiKeyAuth: []
tags:
- name: Insider Transactions
  description: The Insider Transactions API provides comprehensive insider trading transaction data from SEC filings (Form 3, Form 4, Form 5). Search and filter transactions by company, insider, transaction type, date range, and more.
paths:
  /v1/insidertransactions:
    get:
      tags:
      - Insider Transactions
      summary: Get insider trading transactions
      description: 'Returns a list of insider trading transactions that match the specified filters. Returns at most 100 results per request. For more results, use the offset parameter. Results are limited by filing date to the plan''s history window: Free returns filings from the last 90 days, Developer the last 2 years, and Business and Professional the full history (2009+). Date filters before the window return an error.'
      operationId: getInsiderTransactions
      parameters:
      - $ref: '#/components/parameters/InsiderTradingOpenapi_ticker'
      - $ref: '#/components/parameters/InsiderTradingOpenapi_cik'
      - $ref: '#/components/parameters/InsiderTradingOpenapi_name'
      - $ref: '#/components/parameters/form_type'
      - $ref: '#/components/parameters/transaction_type'
      - $ref: '#/components/parameters/transaction_code'
      - $ref: '#/components/parameters/transaction_date'
      - $ref: '#/components/parameters/min_transaction_date'
      - $ref: '#/components/parameters/max_transaction_date'
      - $ref: '#/components/parameters/insider_type'
      - $ref: '#/components/parameters/min_transaction_value'
      - $ref: '#/components/parameters/max_transaction_value'
      - $ref: '#/components/parameters/InsiderTradingOpenapi_limit'
      - $ref: '#/components/parameters/InsiderTradingOpenapi_offset'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/InsiderTransaction'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InsiderTradingOpenapi_ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InsiderTradingOpenapi_ErrorResponse'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InsiderTradingOpenapi_ErrorResponse'
      security:
      - ApiKeyAuth: []
  /v1/insiderdetails:
    get:
      tags:
      - Insider Transactions
      summary: Get detailed transaction information for a given insider
      description: Returns detailed transaction information for a given insider with optional filtering by company. Returns a maximum of 10 transactions, ordered by filing date (most recent first). Premium subscriptions only.
      operationId: getInsiderDetails
      parameters:
      - $ref: '#/components/parameters/name_required'
      - $ref: '#/components/parameters/company_ticker'
      - $ref: '#/components/parameters/company_cik'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InsiderDetails'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InsiderTradingOpenapi_ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InsiderTradingOpenapi_ErrorResponse'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InsiderTradingOpenapi_ErrorResponse'
      security:
      - ApiKeyAuth: []
  /v1/insiderslist:
    get:
      tags:
      - Insider Transactions
      summary: Get list of insiders for a company
      description: Returns a list of all insiders for a given company (via ticker or CIK). For each insider, returns their name, position, and current share holdings based on their most recent filing. Either ticker or CIK is required. Premium subscriptions only.
      operationId: getInsidersList
      parameters:
      - $ref: '#/components/parameters/InsiderTradingOpenapi_ticker'
      - $ref: '#/components/parameters/InsiderTradingOpenapi_cik'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/InsiderListItem'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InsiderTradingOpenapi_ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InsiderTradingOpenapi_ErrorResponse'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InsiderTradingOpenapi_ErrorResponse'
      security:
      - ApiKeyAuth: []
components:
  parameters:
    transaction_type:
      name: transaction_type
      in: query
      required: false
      description: Type of transaction (e.g., Purchase, Sale, Award, etc.).
      schema:
        type: string
    InsiderTradingOpenapi_cik:
      name: cik
      in: query
      required: false
      description: Central Index Key (CIK) of the company.
      schema:
        type: string
    insider_type:
      name: insider_type
      in: query
      required: false
      description: 'Type of insider: ''director'' (matches director or chairman), ''10_percent_owner'' (matches 10% Owner), or ''officer'' (excludes director, 10% owner, and chairman).'
      schema:
        type: string
        enum:
        - director
        - 10_percent_owner
        - officer
    InsiderTradingOpenapi_limit:
      name: limit
      in: query
      required: false
      description: 'Maximum number of results to return (1-100, default: 10). Premium subscriptions only.'
      schema:
        type: integer
        minimum: 1
        maximum: 100
        default: 10
    transaction_code:
      name: transaction_code
      in: query
      required: false
      description: Transaction code (e.g., P, S, A, D, F, etc.).
      schema:
        type: string
    form_type:
      name: form_type
      in: query
      required: false
      description: SEC form type (3, 4, or 5).
      schema:
        type: string
        enum:
        - '3'
        - '4'
        - '5'
    max_transaction_date:
      name: max_transaction_date
      in: query
      required: false
      description: 'Maximum transaction date in YYYY-MM-DD format. How far back you can query depends on the plan: Free covers the last 90 days, Developer the last 2 years, and Business and Professional the full history (2009+).'
      schema:
        type: string
        format: date
        pattern: ^\d{4}-\d{2}-\d{2}$
    name_required:
      name: name
      in: query
      required: true
      description: Name of the insider (exact match). Use /v1/insiderslist to look up insider names.
      schema:
        type: string
    InsiderTradingOpenapi_ticker:
      name: ticker
      in: query
      required: false
      description: Company ticker symbol (e.g., AAPL, MSFT). Share classes and preferred shares can be written in any common form, e.g. BRK.B, BRK-B, BRK/B or BRKB, and BAC.PRL or BAC-PL.
      schema:
        type: string
    min_transaction_value:
      name: min_transaction_value
      in: query
      required: false
      description: Minimum transaction value in USD.
      schema:
        type: number
        format: float
    min_transaction_date:
      name: min_transaction_date
      in: query
      required: false
      description: 'Minimum transaction date in YYYY-MM-DD format. How far back you can query depends on the plan: Free covers the last 90 days, Developer the last 2 years, and Business and Professional the full history (2009+).'
      schema:
        type: string
        format: date
        pattern: ^\d{4}-\d{2}-\d{2}$
    InsiderTradingOpenapi_offset:
      name: offset
      in: query
      required: false
      description: 'Number of results to skip for pagination (default: 0). Premium subscriptions only.'
      schema:
        type: integer
        minimum: 0
        default: 0
    max_transaction_value:
      name: max_transaction_value
      in: query
      required: false
      description: Maximum transaction value in USD.
      schema:
        type: number
        format: float
    company_ticker:
      name: company_ticker
      in: query
      required: false
      description: Company ticker symbol to filter transactions (e.g., AAPL, MSFT).
      schema:
        type: string
    InsiderTradingOpenapi_name:
      name: name
      in: query
      required: false
      description: Name of the insider (exact match). Use /v1/insiderslist to look up insider names.
      schema:
        type: string
    company_cik:
      name: company_cik
      in: query
      required: false
      description: Central Index Key (CIK) of the company to filter transactions (e.g., 789019).
      schema:
        type: string
    transaction_date:
      name: transaction_date
      in: query
      required: false
      description: 'Transaction date in YYYY-MM-DD format. How far back you can query depends on the plan: Free covers the last 90 days, Developer the last 2 years, and Business and Professional the full history (2009+).'
      schema:
        type: string
        format: date
        pattern: ^\d{4}-\d{2}-\d{2}$
  schemas:
    InsiderListItem:
      type: object
      properties:
        insider_name:
          type: string
          description: The name of the insider.
          example: Timothy D Cook
        position:
          type: string
          description: The position/title of the insider (e.g., CEO, Director, 10% Owner).
          example: Chief Executive Officer
        shares:
          type: integer
          description: The number of shares currently owned by the insider (from their most recent filing's remaining_shares).
          example: 3280295
        value:
          type:
          - number
          - 'null'
          format: float
          description: The total value of the shares in USD (shares × price from most recent filing).
          example: 835917574.85
        last_filing_date:
          type: string
          format: date
          description: The date of the insider's most recent filing (YYYY-MM-DD).
          example: '2025-10-03'
        ticker:
          type: string
          description: The stock ticker symbol of the company.
          example: AAPL
        cik:
          type: string
          description: The Central Index Key (CIK) of the company.
          example: '320193'
        company_name:
          type: string
          description: The name of the company (issuer).
          example: Apple Inc.
    InsiderTransaction:
      type: object
      properties:
        accession_number:
          type: string
          description: The SEC accession number (filing ID) for the transaction.
          example: 0000320193-24-000001
        form:
          type: string
          description: The SEC form type (e.g., 3, 4, 5).
          example: '4'
        filing_date:
          type: string
          format: date
          description: The date the filing was submitted to the SEC (YYYY-MM-DD).
          example: '2024-01-15'
        sec_filing_url:
          type: string
          format: uri
          description: URL to the SEC filing document.
          example: https://www.sec.gov/Archives/edgar/data/320193/000032019324000001/xslF345X03/form4.xml
        cik:
          type: string
          description: The Central Index Key (CIK) of the company.
          example: '320193'
        ticker:
          type: string
          description: The stock ticker symbol of the company.
          example: AAPL
        company_name:
          type: string
          description: The name of the company (issuer).
          example: Apple Inc.
        insider_name:
          type: string
          description: The name of the insider who executed the transaction.
          example: Timothy D. Cook
        insider_position:
          type: string
          description: The position/title of the insider (e.g., CEO, Director, 10% Owner).
          example: Chief Executive Officer
        transaction_code:
          type: string
          description: The transaction code (e.g., P, S, A, D, F, etc.).
          example: P
        transaction_name:
          type: string
          description: Description of the transaction.
          example: Purchase
        transaction_type:
          type: string
          description: The type of transaction (e.g., Purchase, Sale, Award, etc.).
          example: Purchase
        transaction_price:
          type: number
          format: float
          description: The price per share of the transaction.
          example: 150.25
        shares:
          type: integer
          description: The number of shares involved in the transaction.
          example: 1000
        transaction_value:
          type: number
          format: float
          description: The total value of the transaction.
          example: 150250
        pre_transaction_shares:
          type: integer
          description: The number of shares held before the transaction.
          example: 836605
        pre_transaction_shares_value:
          type: number
          format: float
          description: The total value of shares held before the transaction in USD (pre_transaction_shares × price).
          example: 125490750.25
        remaining_shares:
          type: integer
          description: The number of shares remaining after the transaction.
          example: 837605
        remaining_shares_value:
          type: number
          format: float
          description: The total value of remaining shares after the transaction in USD (remaining_shares × price).
          example: 125640750.25
    InsiderTradingOpenapi_ErrorResponse:
      type: object
      properties:
        error:
          type: string
          description: Error message describing the problem.
    InsiderDetails:
      type: object
      properties:
        insider_name:
          type: string
          description: The name of the insider.
          example: Timothy D Cook
        position:
          type: string
          description: The position/title of the insider (e.g., CEO, Director, 10% Owner).
          example: Chief Executive Officer
        ticker:
          type: string
          description: The stock ticker symbol of the company.
          example: AAPL
        cik:
          type: string
          description: The Central Index Key (CIK) of the company.
          example: '320193'
        company_name:
          type: string
          description: The name of the company (issuer).
          example: Apple Inc.
        shares:
          type:
          - integer
          - 'null'
          description: The number of shares currently owned by the insider (from their most recent filing's remaining_shares).
          example: 3280295
        value:
          type:
          - number
          - 'null'
          format: float
          description: The total value of the shares in USD (shares × price from most recent filing).
          example: 839296278.7
        transactions:
          type: array
          description: An array of transaction objects with detailed information about each transaction. Maximum of 10 transactions, ordered by filing date (most recent first).
          items:
            $ref: '#/components/schemas/InsiderTransaction'
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-Api-Key
externalDocs:
  description: API Ninjas documentation
  url: https://api-ninjas.com/api