Developer
Programmatic access to fee benchmarking data for U.S. banks and credit unions. 49 fee categories, national and peer medians, percentile ranges, and institution-level detail -- all via a simple REST API.
Base URL
https://feeinsight.com/api/v1Authenticate requests using an API key. Pass it in the Authorization header as a Bearer token, or as an api_key query parameter.
Header authentication
curl -H "Authorization: Bearer YOUR_API_KEY" \ https://feeinsight.com/api/v1/fees
Query parameter authentication
curl "https://feeinsight.com/api/v1/fees?api_key=YOUR_API_KEY"
Rate limits are enforced per API key. Current window information is returned in response headers.
X-RateLimit-Limitheader-- Maximum requests in the current windowX-RateLimit-Remainingheader-- Requests remainingX-RateLimit-Resetheader-- UTC epoch timestamp when the window resets| Tier | Monthly limit | Burst rate |
|---|---|---|
| Free | 100 requests | 10/min |
| Pro | 10,000 requests | 60/min |
| Enterprise | Custom | Custom |
/feesList all fee categories
Returns all 49 fee categories with national median, P25/P75 percentiles, min/max, and institution counts. Free tier returns 6 spotlight categories.
Parameters
format | string | "csv" for CSV download (Pro/Enterprise only) |
Try it
curl -H "Authorization: Bearer YOUR_API_KEY" \ https://feeinsight.com/api/v1/fees
Response fields
totalinteger-- Number of categories returneddata[]array-- Array of fee summary objectsdata[].categorystring-- Slug identifier (e.g., overdraft)data[].mediannumber-- National median in USDdata[].p25number-- 25th percentiledata[].p75number-- 75th percentiledata[].tierstring-- spotlight | core | extended | comprehensiveExample response
{
"total": 49,
"data": [
{
"category": "overdraft",
"display_name": "Overdraft Fee",
"family": "Overdraft & NSF",
"tier": "spotlight",
"median": 35.00,
"p25": 30.00,
"p75": 36.00,
"min": 5.00,
"max": 40.00,
"institution_count": 842
},
...
]
}/fees?category={slug}ProGet fee category detail
Detailed breakdown for a single fee category with segmentation by charter type, asset tier, Federal Reserve district, and state.
Parameters
categoryrequired | string | Fee category slug (e.g., overdraft, nsf, monthly_maintenance) |
Try it
curl -H "Authorization: Bearer YOUR_API_KEY" \ "https://feeinsight.com/api/v1/fees?category=overdraft"
Response fields
by_charter_typeobject-- Bank vs credit union mediansby_asset_tierobject-- Breakdowns by asset size tierby_fed_districtobject-- Medians for each Fed district (1-12)by_stateobject-- Medians by state codeExample response
{
"category": "overdraft",
"display_name": "Overdraft Fee",
"family": "Overdraft & NSF",
"tier": "spotlight",
"summary": {
"institution_count": 842,
"observation_count": 1156
},
"by_charter_type": {
"bank": { "median": 36.00, "p25": 33.00, "p75": 36.00, "count": 510 },
"credit_union": { "median": 30.00, "p25": 25.00, "p75": 35.00, "count": 332 }
},
"by_asset_tier": { ... },
"by_fed_district": { ... },
"by_state": { ... }
}/indexNational and peer fee index
Returns the fee index for all categories. Apply filters for peer group benchmarking by state, charter type, or Federal Reserve district. Includes maturity indicators and bank/credit union counts.
Parameters
state | string | Two-letter state code (e.g., CA, TX) |
charter | string | "bank" or "credit_union" |
district | string | Fed district number(s), comma-separated (e.g., 7 or 2,7,12) |
format | string | "csv" for CSV download |
Try it
# National index curl -H "Authorization: Bearer YOUR_API_KEY" \ https://feeinsight.com/api/v1/index # California credit unions curl -H "Authorization: Bearer YOUR_API_KEY" \ "https://feeinsight.com/api/v1/index?state=CA&charter=credit_union" # Fed District 7, CSV download curl -H "Authorization: Bearer YOUR_API_KEY" \ "https://feeinsight.com/api/v1/index?district=7&format=csv" -o district7.csv
Response fields
scopestring-- "national" or "filtered"filtersobject-- Applied filter values (null if unused)data[].maturitystring-- strong | provisional | insufficientdata[].bank_countinteger-- Number of banks in sampledata[].cu_countinteger-- Number of credit unions in sampleExample response
{
"scope": "filtered",
"filters": {
"state": "CA",
"charter": "credit_union",
"district": null
},
"total": 42,
"data": [
{
"category": "monthly_maintenance",
"display_name": "Monthly Maintenance Fee",
"family": "Account Maintenance",
"tier": "spotlight",
"median": 10.00,
"p25": 5.00,
"p75": 12.00,
"min": 0.00,
"max": 25.00,
"institution_count": 189,
"bank_count": 0,
"cu_count": 189,
"maturity": "strong"
},
...
]
}/institutionsList institutions
Paginated list of financial institutions with fee data. Filter by state and charter type. Returns summary data including fee count, asset size, and Fed district.
Parameters
state | string | Two-letter state code |
charter | string | "bank" or "credit_union" |
page | integer | Page number (default: 1) |
limit | integer | Results per page (default: 50, max: 200) |
Try it
curl -H "Authorization: Bearer YOUR_API_KEY" \ "https://feeinsight.com/api/v1/institutions?state=NY&limit=10"
Response fields
totalinteger-- Total matching institutionspageinteger-- Current pagepagesinteger-- Total pagesdata[].asset_tierstring-- e.g., 1B-10B, 100M-1BExample response
{
"total": 312,
"page": 1,
"page_size": 10,
"pages": 32,
"data": [
{
"id": 4521,
"name": "First National Bank of New York",
"state": "NY",
"city": "New York",
"charter_type": "bank",
"asset_size": 2400000000,
"asset_tier": "1B-10B",
"fed_district": 2,
"fee_count": 22
},
...
]
}/institutions?id={id}ProGet institution detail
Returns a single institution profile with all extracted fees, including amounts, frequency, conditions, and review status.
Parameters
idrequired | integer | Institution ID |
Try it
curl -H "Authorization: Bearer YOUR_API_KEY" \ "https://feeinsight.com/api/v1/institutions?id=4521"
Response fields
fees[]array-- All non-rejected fees for this institutionfees[].amountnumber-- Fee amount in USDfees[].frequencystring-- e.g., "per item", "monthly"fees[].conditionsstring-- Waiver conditions, if anyExample response
{
"id": 4521,
"name": "First National Bank of New York",
"state": "NY",
"city": "New York",
"charter_type": "bank",
"asset_size": 2400000000,
"asset_tier": "1B-10B",
"fed_district": 2,
"fee_count": 22,
"fees": [
{
"fee_name": "Overdraft Fee",
"amount": 35.00,
"frequency": "per item",
"conditions": "Max 4 per day. Waived for balances over $5,000.",
"review_status": "approved"
},
{
"fee_name": "Monthly Maintenance Fee",
"amount": 12.00,
"frequency": "monthly",
"conditions": "Waived with $1,500 minimum balance.",
"review_status": "approved"
},
...
]
}Free
$0
Get started -- no card required
Pro
$200/mo
Start 14-day free trial
Enterprise
Custom
Contact sales
Machine-readable specification
Import our OpenAPI 3.0 spec into Postman, Swagger UI, or your code generator of choice.
Download OpenAPI Spec (JSON)