Moment Transactions API

The Transactions API from Moment — 2 operation(s) for transactions.

Operations 2

GET /v1/transactions/{instrument_id}/ List historical transactions #
GET /v1/transactions/{instrument_id}/summary/ Retrieve daily summary statistics for a given instrument #

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/moment:moment-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

moment-transactions-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Transactions API
  description: An HTTP/JSON API for looking up historical agency, corporate, and municipal bond transactions.
  version: 0.1.0
servers:
- url: https://live.moment-api.com
- url: https://paper.moment-api.com
security:
- ApiKeyAuth: []
tags:
- name: Transactions
paths:
  /v1/transactions/{instrument_id}/:
    summary: Historical transactions for a specific bond.
    get:
      summary: List historical transactions
      tags:
      - Transactions
      operationId: getTransactions
      parameters:
      - name: instrument_id
        in: path
        description: CUSIP or ISIN.
        schema:
          type: string
        required: true
      - name: start
        in: query
        description: Exclude transactions that occurred before the 'start' time. If not specified, the server will return all transactions.
        schema:
          type: string
          format: date-time
      - name: end
        in: query
        description: Exclude transactions that occurred after the 'end' time. Defaults to the current time if not specified.
        schema:
          type: string
          format: date-time
      - name: page_size
        in: query
        description: The maximum number of results per page. Defaults to 1000 if not specified. Maximum allowed value is 1000.
        schema:
          type: integer
          minimum: 1
          maximum: 1000
      - name: page_token
        in: query
        description: A pointer to the next page of results. If not specified, the server will return the first page of results. If specified, all parameters except 'page_size' must match the request that returned the token.
        schema:
          type: string
      responses:
        '200':
          description: One page of results.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransactionsPage'
              example:
                count: -1
                data:
                - counterparty: CUSTOMER
                  id: BTDS-144A9022820250716
                  isin: US501797AW48
                  price: 102.073
                  quantity: 50000
                  side: SELL
                  spread: 33
                  timestamp: '2025-07-16T12:07:13-04:00'
                  ytm: 5.93
                  ytw: 5.902
                - counterparty: CUSTOMER
                  id: BTDS-144A1450620250716
                  isin: US501797AW48
                  price: 102.279
                  quantity: 200000
                  side: SELL
                  spread: 28
                  timestamp: '2025-07-16T09:17:23-04:00'
                  ytm: 5.86
                  ytw: 5.831
                next: https://example.com/v1/transactions/US501797AW48/?page_size=2&page_token=eyJpc2luIjoiVVM1MDE3OTdBVzQ4Iiwic3RhcnQiOiIyMDI1LTA3LTE1VDEyOjAwOjAwLTA0OjAwIiwiZW5kIjoiMjAyNS0wNy0yN1QyMzo1MDo1Ni40MzQ4MjQtMDQ6MDAiLCJvZmZzZXQiOjJ9&start=2025-07-15T12%3A00%3A00-04%3A00
                prev: null
        '400':
          description: Invalid request parameters.
          content:
            application/json:
              schema:
                type: object
                description: Standard error response format returned by all API endpoints.
                properties:
                  error:
                    type: string
                    description: Human-readable error message describing what went wrong.
                  error_details:
                    description: Additional structured information about the error.
                    x-go-type: any
                    x-go-type-skip-optional-pointer: true
                    x-oapi-codegen-extra-tags:
                      exhaustruct: optional
                  error_type:
                    type: string
                    description: High-level error category for programmatic error handling.
                    enum:
                    - invalid_request
                    - not_found
                    - server_error
                    - unauthorized
                    - rate_limited
                    - forbidden
                    - closed
                    - not_implemented
                    - resource_conflict
                    x-enum-varnames:
                    - ErrorTypeInvalidRequest
                    - ErrorTypeNotFound
                    - ErrorTypeServerError
                    - ErrorTypeUnauthorized
                    - ErrorTypeRateLimited
                    - ErrorTypeForbidden
                    - ErrorTypeNeedsMarketState
                    - ErrorTypeNotImplemented
                    - ErrorTypeResourceConflict
                required:
                - error
                - error_type
  /v1/transactions/{instrument_id}/summary/:
    summary: Daily summary statistics for a given instrument.
    get:
      summary: Retrieve daily summary statistics for a given instrument
      tags:
      - Transactions
      operationId: getDailyTransactionSummaries
      parameters:
      - name: instrument_id
        in: path
        description: CUSIP or ISIN.
        schema:
          type: string
        required: true
      - name: start
        in: query
        description: The earliest date for which we want summary statistics.
        schema:
          type: string
          format: date
      - name: end
        in: query
        description: The most recent date for which we care about summary statistics.
        schema:
          type: string
          format: date
      - name: page_size
        in: query
        description: The maximum number of daily summaries per page of results. Defaults to 1000 if not specified. Maximum allowed value is 1000.
        schema:
          type: integer
          minimum: 1
          maximum: 100
      - name: page_token
        in: query
        description: A pointer to the next page of results. If not specified, the server will return the first page of results. If specified, all parameters except 'page_size' must match the request that returned the token.
        schema:
          type: string
      responses:
        '200':
          description: One page of results.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DailySummariesPage'
        '400':
          description: Invalid request parameters.
          content:
            application/json:
              schema:
                $ref: '#/paths/~1v1~1transactions~1{instrument_id}~1/get/responses/400/content/application~1json/schema'
components:
  schemas:
    DailySummary:
      type: object
      properties:
        date:
          type: string
          format: date
        buy_volume:
          type: integer
          description: Cumulative face value of buy transactions on 'date'.
        sell_volume:
          type: integer
          description: Cumulative face value of sell transactions on 'date'.
        inter_dealer_volume:
          type: integer
          description: Cumulative face value of inter-dealer transactions on 'date'.
        high_price:
          type: number
          description: Highest price of any transaction on 'date'.
          x-go-type: decimal.Decimal
          x-go-type-import:
            path: github.com/shopspring/decimal
        low_price:
          type: number
          description: Lowest price of any transaction on 'date'.
          x-go-type: decimal.Decimal
          x-go-type-import:
            path: github.com/shopspring/decimal
        total_volume:
          type: integer
          description: Cumulative face value of all transactions on 'date'.
      required:
      - date
      - buy_volume
      - sell_volume
      - inter_dealer_volume
      - high_price
      - low_price
      - total_volume
    Transaction:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier for this transaction.
        isin:
          type: string
          description: ISIN of the bond.
        quantity:
          type: integer
          description: The face value of the transaction.
        side:
          type: string
          enum:
          - BUY
          - SELL
          description: Whether this was a buy or sell transaction.
        price:
          type: number
          description: Percentage of par value.
          x-go-type: decimal.Decimal
          x-go-type-import:
            path: github.com/shopspring/decimal
        ytw:
          type: number
          description: Yield to worst.
          x-go-type: decimal.NullDecimal
          x-go-type-import:
            path: github.com/shopspring/decimal
        ytm:
          type: number
          description: Yield to maturity.
          x-go-type: decimal.NullDecimal
          x-go-type-import:
            path: github.com/shopspring/decimal
        spread:
          type: number
          description: Spread to benchmark in basis points.
          x-go-type: decimal.NullDecimal
          x-go-type-import:
            path: github.com/shopspring/decimal
        counterparty:
          type: string
          enum:
          - ATS
          - CUSTOMER
          - DEALER
          - NON_MEMBER_AFFILIATE
          description: Type of counterparty in the transaction.
        timestamp:
          type: string
          format: date-time
          description: When the transaction occurred.
      required:
      - id
      - isin
      - quantity
      - side
      - price
      - ytw
      - ytm
      - spread
      - counterparty
      - timestamp
      example:
        counterparty: CUSTOMER
        id: BTDS-144A9022820250716
        isin: US501797AW48
        price: 102.073
        quantity: 50000
        side: SELL
        spread: null
        timestamp: '2025-07-16T12:07:13-04:00'
        ytm: null
        ytw: 5.902
    TransactionsPage:
      type: object
      description: A paginated list of transactions.
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/Transaction'
          description: List of transactions in this page.
        count:
          type: integer
          description: Always -1. Retained for wire-shape compatibility; the value is no longer computed because no known consumer reads it and producing it required an extra full-history scan per request. Iterate `next` to enumerate the result set.
        next:
          type:
          - string
          - 'null'
          description: A hyperlink to the next page of results, requesting the same page size as the current request.
        prev:
          type:
          - string
          - 'null'
          description: Null. Paginating in reverse is not supported.
      required:
      - data
      - count
      - next
      - prev
    DailySummariesPage:
      type: object
      description: A paginated list of daily transaction summaries.
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/DailySummary'
          description: List of daily summaries in this page.
        count:
          type: integer
          description: Always -1. Retained for wire-shape compatibility; the value is no longer computed because no known consumer reads it.
        next:
          type:
          - string
          - 'null'
          description: A hyperlink to the next page of results, requesting the same page size as the current request.
        prev:
          type:
          - string
          - 'null'
          description: Null. Paginating in reverse is not supported.
      required:
      - data
      - count
      - next
      - prev
  securitySchemes:
    ApiKeyAuth:
      type: http
      scheme: bearer
x-provenance:
  method: searched
  source: https://docs.moment.com/reference
  harvested: '2026-10-14'
  tool: harvest-readme-openapi.py
  note: Assembled verbatim from the OpenAPI definition ReadMe embeds in each operation page of the provider's developer portal; paths and components merged by API title, nothing authored.
  assembled_from:
  - https://docs.moment.com/reference/getdailytransactionsummaries.md
  - https://docs.moment.com/reference/gettransactions.md
  merge:
    pages: 2
    deduped: 3
    conflicts_kept_first: 0