Regional Data API

{"methods":[{"methodType":"GET","methodDesc":"Returns a cross section of regional data for a series group.","requestParams":[{"name":"seriesgroup","type":"string","required":true,"description":"The ID for a group of series in FRED."},{"name":"regiontype","type":"string","required":true,"description":"The region type. One of: bea, msa, frb, necta, state, co

Category: Finance And Markets

Price

$0.0001 per successful call ≈ 10,000 calls with the $1 signup credit.

Input schema is not available in the local snapshot. Call inspect first; fill body and queryParams as required and replace any pathParams placeholders before running.

Discover

curl https://keepbal.com/apis/v1/discover -H 'Authorization: Bearer YOUR_KEEPBAL_KEY' -H 'Content-Type: application/json' -d '{"query":"Regional Data"}'

Inspect

curl https://keepbal.com/apis/v1/inspect -H 'Authorization: Bearer YOUR_KEEPBAL_KEY' -H 'Content-Type: application/json' -d '{"publicId":"geofred/regional-data"}'

curl

curl https://keepbal.com/apis/v1/geofred/regional-data \
  -H 'Authorization: Bearer YOUR_KEEPBAL_KEY' \
  -H 'Content-Type: application/json' \
  -d '{}'

MCP run_tool

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "run_tool",
    "arguments": {
      "tool": "geofred/regional-data",
      "input": {}
    }
  }
}

Python

import json, os, requests

# Inspect first and replace input_data with the required parameters.
input_data = json.loads("{}")
response = requests.post(
    "https://keepbal.com/apis/v1/geofred/regional-data",
    headers={"Authorization": "Bearer " + os.environ["KEEPBAL_API_KEY"]},
    json=input_data,
)
response.raise_for_status()
print(response.json())

Errors and billing

Failed provider calls are not charged. HTTP 400 invalid_request means invalid JSON or parameters, including missing pathParams. HTTP 401 missing_api_key or invalid_api_key means authentication is required. HTTP 402 insufficient_credits means insufficient balance; top up before retrying. HTTP 503 provider_unavailable means the provider is unavailable. A pending run can settle later; poll GET /apis/v1/runs/{id} instead of starting another execution.

Frequently asked questions

How much does this API cost?

$0.0001 per successful call

How do I start?

Create a KeepBal account with $1 free credit, obtain an API key, and inspect this tool before running it.

Related tools

ToolWhat it returnsPrice
Series Data{"methods":[{"methodType":"GET","methodDesc":"Returns a cross section of regional data for a specified release date. If no date is specified, the most recent data available are returned.","requestParams":[{"name":"seriesid","type":"string","required":true,"description":"The FRED seriesid to request maps data for."},{"name":"date","type":"string","required"$0.0001 per successful call
Series Group{"methods":[{"methodType":"GET","methodDesc":"Returns the meta information needed to make requests for FRED map data. Includes min/max date and data range.","requestParams":[{"name":"seriesid","type":"string","required":true,"description":"The FRED series id to request maps meta information for. Not all series have geographical data."}],"responseParams":[{"$0.0001 per successful call
Shapes File{"methods":[{"methodType":"GET","methodDesc":"Returns shape files from FRED in GeoJSON format.","requestParams":[{"name":"shape","type":"string","required":true,"description":"The type of shape to pull GeoJSON data for. One of: bea, msa, frb, necta, state, country, county, censusregion, censusdivision."}],"responseParams":[{"name":"type","type":"string","des$0.0001 per successful call
DataForSEO SERP Google Finance ExploreFetch Google Finance's explore page: market movers, indexes, and news.$0.0027 per successful call
DataForSEO SERP Google Finance MarketsFetch Google Finance market summaries by region or asset class.$0.0027 per successful call
DataForSEO SERP Google Finance QuoteFetch a Google Finance quote page for a stock, index, or currency pair.$0.0027 per successful call

MCP documentation

Start with $1 free credit