Skip to main content
POST
/
api
/
v1
/
muni_search
US municipal bond search
curl --request POST \
  --url https://terrapinfinance.com/api/v1/muni_search \
  --header 'Accept: <accept>' \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "interest_types": [
    "variable rate"
  ],
  "issuer_name": "ABAG FINANCE AUTHORITY FOR NONPROFIT CORPORATIONS",
  "maturity_date_min": "2030-10-30"
}
'
{
  "data": [
    {
      "coupon": 5,
      "has_official_statement": true,
      "interest_type": "fixed rate",
      "is_callable": true,
      "isin": "US00037CUQ13",
      "issuer_name": "ABAG FINANCE AUTHORITY FOR NONPROFIT CORPORATIONS",
      "maturity_date": "2035-11-15",
      "rating_group": "investment_grade",
      "state": "CA",
      "ticker": "CA AFAGEN 5 11/15/2035"
    }
  ],
  "total": 1
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Headers

Accept
enum<string>
default:application/json
required

Specify text/csv if you would like to receive a CSV file.

Available options:
application/json,
text/csv

Body

application/json
coupon_max
number

Maximum coupon rate of the municipal bond (in percentage).

coupon_min
number

Minimum coupon rate of the municipal bond (in percentage).

full_reference_data
boolean

Return full reference data as in from /api/v1/muni_reference. This option requires a special account tier.

include_bonds_without_os
boolean
default:false

Whether to include municipal bonds for which a final official statement is not found or is not yet available. This will most often correspond to recently issued bonds.

The fields in these bonds are provided on a best-effort basis from the limited information available at that stage.

include_callable
boolean

Whether to include callable municipal bonds, bonds that can be redeemed before maturity.

interest_types
enum<string>[]

Types of interest:

  • fixed rate: The bond pays a fixed interest rate throughout its life.
  • cab: Capital Appreciation Bond (CAB), interest accrues and is paid at maturity rather than periodically.
  • variable rate: The bond's interest rate can change over time, typically based on a reference rate or formula (e.g., SOFR, CPI).
  • term rate: The bond pays interest at a rate set for a specific term or period.
  • cab-to-fixed: The bond starts as a capital appreciation bond and converts to a fixed rate bond.
  • step rate: The bond's interest rate increases ("steps up") at predetermined intervals.
  • zero rate / discount rate: A bond that does pay or accrue interest.
Available options:
fixed rate,
zero rate / discount rate,
cab,
cab-to-fixed,
at maturity,
variable rate,
step rate,
term rate,
cash payment,
payment in kind,
fixed interest payments,
dividend payments,
variable interest payments,
no payments,
misc.
is_insured
boolean | null

Whether the bond is insured by a bond insurance company.

isins
string[]

International Securities Identification Number (ISIN), unique 12-character code for the security.

Required string length: 12
issue_date_max
string<date>

Maximum issue date of the municipal bond in ISO-8601 format (YYYY-MM-DD).

issue_date_min
string<date>

Minimum issue date of the municipal bond in ISO-8601 format (YYYY-MM-DD).

issued_amount_max
integer

Maximum size of total amount issued (in nominal value).

Required range: x >= 0
issued_amount_min
integer

Minimum size of total amount issued (in nominal value).

Required range: x >= 0
issuer_name
string

Name of the issuing entity (municipality, district, etc.).

limit
integer
default:100

Result count limit. E.g. if total number of results is 1450, limit of 100 with offset of 0 would return the first 100 results. Use limit of -1 to opt out of limits.

Required range: x >= -1
maturity_date_max
string<date>

Maximum maturity date of the municipal bond in ISO-8601 format (YYYY-MM-DD).

maturity_date_min
string<date>

Minimum maturity date of the municipal bond in ISO-8601 format (YYYY-MM-DD).

offset
integer
default:0

Offset for query pagination. E.g. limit of 100 with offset of 50 would return the results 50 to 150.

Required range: x >= 0
sectors
enum<string>[]

Sector of the municipal bond:

  • education: Educational institutions (schools, universities, colleges).
  • local: Local government entities (cities, counties, towns).
  • utilities: Utility companies and infrastructure.
  • transportation: Transportation and transit systems.
  • state: State government entities.
  • healthcare: Healthcare facilities and medical institutions.
  • housing: Housing and residential development.
  • industrial: Industrial and economic development.
  • tobacco: Tobacco settlement bonds.
Available options:
state,
local,
education,
healthcare,
housing,
utilities,
transportation,
industrial,
tobacco
sort
enum<string>[]

Sort order. Prefix with '-' for descending order.

Available options:
isin,
ticker,
coupon,
maturity_date,
state,
issuer_name,
interest_type,
rating_group,
is_callable,
has_official_statement,
-isin,
-ticker,
-coupon,
-maturity_date,
-state,
-issuer_name,
-interest_type,
-rating_group,
-is_callable,
-has_official_statement
sources_of_repayment
enum<string>[]

Sources of repayment for municipal bonds. Determines how the bond will be repaid.

  • Revenue: Repaid from specific project revenues (e.g., tolls, utilities).
  • General Obligation: Repaid from the issuer's general fund.
  • Double Barrel: A combination of General Obligation and Revenue sources.
Available options:
Revenue,
General Obligation,
Double Barrel
states
string[]

US states or territory where the bond is issued (ANSI 2-letter code).

Required string length: 2
use_categories
enum<string>[]

Filter bonds by use categories (middle level of use of funds hierarchy).

For the complete taxonomy, see the Use of Funds Taxonomy reference page.

Available options:
general purpose,
essential services,
higher education,
primary and secondary education,
pre-school,
airport,
port,
public transit,
roads,
bridges,
parking,
economic development,
industrial development,
recreational,
culture,
health system,
hospitals,
senior living,
single family housing,
multi-family housing,
military housing,
public housing,
power,
water and sewer,
waste removal,
gas,
electrical,
communication,
gas prepay,
student loan,
miscellaneous
use_sectors
enum<string>[]

Filter bonds by use sectors (top level of use of funds hierarchy).

For the complete taxonomy, see the Use of Funds Taxonomy reference page.

Available options:
government,
education,
transportation,
development,
recreation,
healthcare,
housing,
utility,
securitized,
miscellaneous
uses_of_proceeds
enum<string>[]

Filter bonds by uses of proceeds (most granular level of use of funds hierarchy).

For the complete taxonomy, see the Use of Funds Taxonomy reference page.

Available options:
tribal,
police,
fire,
courts,
correctional facilities,
public college,
private college,
community college,
student housing,
charter school,
standalone public school,
public school district,
pre-school and daycare,
airport,
combined port authority,
standalone port,
trains,
buses,
ferries,
state toll roads,
regional toll roads,
non-toll roads,
state toll bridges,
regional toll bridges,
non-toll bridges,
parking facilities,
hospitality,
office buildings,
public buildings,
shopping centres,
development district,
industrial development,
pollution control,
stadium,
parks,
library,
museum,
community centre,
health system,
critical access hospital,
standalone hospital,
specialty hospital,
assisted living,
independent living,
continuing care retirement community,
nursing home,
state hfa single family housing,
local hfa single family housing,
local standalone single family housing,
state hfa multi-family housing,
local hfa multi-family housing,
local standalone multi-family housing,
military housing,
public housing,
nuclear power,
coal power,
gas power,
wind power,
solar power,
alternative source power,
water,
sewer,
storm water,
flood control,
irrigation,
waste removal,
gas infrastructure,
electrical infrastructure,
telephone,
broadband,
gas prepay,
student loan,
miscellaneous
values_updated_since
string<date>

Optional date filter to only return bonds whose reference data has been updated since the specified UTC date in ISO-8601 format (YYYY-MM-DD).

Response

Partial reference data

data
object[]
required

List of response data objects, often capped to 1000.

total
integer
required

Total number of results in the database that match the query filters.