Skip to content
Eden Engine

U.S. Public Debt by Security Class and Holder, Monthly

fiscaldata/debt-by-security-class

The U.S. public debt outstanding at each month end, broken out by security class (Bills, Notes, Bonds, Treasury Inflation-Protected Securities, Floating Rate Notes, Government Account Series, savings securities and the rest) and within each class split between debt held by the public and intragovernmental holdings, with the marketable, nonmarketable and grand totals. Monthly from January 2001, newest month first. Taken directly from the U.S. Treasury's Fiscal Data API (Monthly Statement of the Public Debt, Table 1). Amounts are in millions of dollars. The set of security classes changes over the range as instruments are issued and retired.

activeper callv1

Price

$0.00273 per call

You pay the price shown. If a call turns out to cost more than its quote, you pay the actual price, capped at twice the quote. No monthly minimum. Top-ups start at $5.

Data source

U.S. Department of the Treasury (Fiscal Data)

Data from the U.S. Department of the Treasury, Bureau of the Fiscal Service (Fiscal Data, fiscaldata.treasury.gov), offered without restriction per fiscaldata.treasury.gov/api-documentation.

Use it

Five steps: search, inspect, learn, run, settle. No per-tool setup; your agent reaches this tool through the meta-tools it already has.

Connect once and your AI can find and run this tool, and any other it needs.

agent
// 1. search: find the tool
omnial_search({ query: "what you need" })

// 2. inspect: price and input schema
omnial_inspect({ tool: "fiscaldata/debt-by-security-class" })

// 3. learn: read the usage guide at runtime
omnial_learn({ tool: "fiscaldata/debt-by-security-class" })

// 4. run: price the exact call first, then run it
omnial_execute({ tool: "fiscaldata/debt-by-security-class", input: { /* see input_schema */ }, dry_run: true })
omnial_execute({ tool: "fiscaldata/debt-by-security-class", input: { /* ... */ } })

// 5. settle: the call is charged when it finishes, nothing to do

Not connected yet? Point your MCP client at https://mcp.eden-engine.com/mcp, then copy a config for your client.

Pricing

Every charge this tool can incur.

ChargePrice
Per call
$0.00273
Updated
Oct 19, 2026

Input and output schemas

Input schema
input_schema.json
{
  "type": "object",
  "required": [
    "limit"
  ],
  "properties": {
    "page": {
      "type": "integer",
      "default": 1,
      "maximum": 10000,
      "minimum": 1,
      "description": "Which page of `limit` rows to return, starting at 1. A page past the last one is an error; meta.total-pages says how many there are."
    },
    "limit": {
      "type": "integer",
      "maximum": 1000,
      "minimum": 1,
      "description": "How many rows to return, newest month first, 1 to 1000. A month has 14 to 16 rows depending on which security classes existed then, so 16 covers the latest month's full table."
    },
    "filter": {
      "type": "string",
      "default": "",
      "maxLength": 500,
      "description": "Optional Fiscal Data filter: field:operator:value terms separated by commas, all of which must hold. Fields: record_date (the month end, YYYY-MM-DD), security_type_desc (Marketable, Nonmarketable, Total Marketable, Total Nonmarketable or Total Public Debt Outstanding), security_class_desc (for example Bills, Notes, Bonds, Treasury Inflation-Protected Securities, Government Account Series; the underscore for a total row), debt_held_public_mil_amt, intragov_hold_mil_amt and total_mil_amt. Operators: eq, lt, lte, gt, gte, in (a parenthesised list). Examples: record_date:eq:2026-09-30 for one month's whole table, security_class_desc:eq:Bills for the history of Bills outstanding, and security_type_desc:eq:Total Public Debt Outstanding,record_date:gte:2020-01-01 for the grand total since 2020. Leave empty for no filter. A value that matches nothing returns an empty list; an unknown field or operator is a validation error."
    }
  },
  "additionalProperties": false
}
Output schema
output_schema.json
{
  "type": "object",
  "required": [
    "data",
    "meta"
  ],
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "record_date",
          "security_type_desc",
          "security_class_desc",
          "debt_held_public_mil_amt",
          "intragov_hold_mil_amt",
          "total_mil_amt",
          "src_line_nbr"
        ],
        "properties": {
          "record_date": {
            "type": "string",
            "description": "The month end the figures are as of, YYYY-MM-DD."
          },
          "src_line_nbr": {
            "type": "string",
            "description": "The row's position in the Treasury's own table for that month, as a string; 1 is Bills."
          },
          "total_mil_amt": {
            "type": "string",
            "description": "Total outstanding for the row, in MILLIONS of dollars, as a decimal string. It is the sum of the two holder columns."
          },
          "security_type_desc": {
            "type": "string",
            "description": "Marketable or Nonmarketable on a class row; Total Marketable, Total Nonmarketable or Total Public Debt Outstanding on a total row."
          },
          "security_class_desc": {
            "type": "string",
            "description": "The security class, for example Bills, Notes, Bonds or Government Account Series. A single underscore on the three total rows, which carry their label in security_type_desc instead. Exclude those rows when summing classes or the total is counted twice."
          },
          "intragov_hold_mil_amt": {
            "type": "string",
            "description": "Intragovernmental holdings, in MILLIONS of dollars, as a decimal string. The Treasury sends the string null where it publishes no figure."
          },
          "debt_held_public_mil_amt": {
            "type": "string",
            "description": "Debt held by the public, in MILLIONS of dollars, as a decimal string. The Treasury sends the string null where it publishes no figure."
          }
        },
        "additionalProperties": true
      },
      "description": "One row per security class per month, plus three total rows per month. Empty when nothing matches."
    },
    "meta": {
      "type": "object",
      "required": [
        "count",
        "total-count",
        "total-pages"
      ],
      "properties": {
        "count": {
          "type": "integer",
          "description": "How many rows this page holds."
        },
        "labels": {
          "type": "object",
          "description": "Human-readable name of each column."
        },
        "dataTypes": {
          "type": "object",
          "description": "The Treasury's type name for each column."
        },
        "dataFormats": {
          "type": "object",
          "description": "The Treasury's display format for each column."
        },
        "total-count": {
          "type": "integer",
          "description": "How many rows match the filter in all, across every page."
        },
        "total-pages": {
          "type": "integer",
          "description": "How many pages of `limit` rows the whole match makes."
        }
      },
      "additionalProperties": true
    },
    "links": {
      "type": "object",
      "description": "Treasury's own self, first, prev, next and last page links."
    }
  },
  "description": "The Treasury's response: the debt rows, newest month first and in the Treasury's own order within a month, and a meta block with the match count.",
  "additionalProperties": true
}