Skip to main content
Glama

Katzilla

300+ free public & government data sources behind one API key — the data API for AI agents.

npm (mcp) npm (sdk) license

Katzilla aggregates primary-source public data — US federal, case law, health, hazards, economics, 17+ international open-data portals, Eurostat, ECB, WHO, OECD, IMF, World Bank, and more — behind a single REST API and MCP server. Every response ships with structured citation metadata (source, license, URL, update frequency) and quality scoring (freshness, uptime, completeness, confidence).

Get a free API key at https://katzilla.dev/dashboard.

MCP Server

The fastest way to use Katzilla is as an MCP server in Claude Desktop, Cursor, Windsurf, Continue, or any stdio MCP client.

Claude Desktop

Edit claude_desktop_config.json:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

  • Linux: ~/.config/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "katzilla": {
      "command": "npx",
      "args": ["-y", "@katzilla/mcp"],
      "env": {
        "KATZILLA_API_KEY": "kz_your_key_here"
      }
    }
  }
}

Cursor

Add to ~/.cursor/mcp.json (or project-local .cursor/mcp.json):

{
  "mcpServers": {
    "katzilla": {
      "command": "npx",
      "args": ["-y", "@katzilla/mcp"],
      "env": {
        "KATZILLA_API_KEY": "kz_your_key_here"
      }
    }
  }
}

Restart the client — Katzilla's tools show up in the MCP menu. Full MCP package docs: packages/mcp/README.md.

TypeScript SDK

npm install @katzilla/sdk
import { Katzilla } from "@katzilla/sdk";

const kz = new Katzilla({ apiKey: process.env.KATZILLA_API_KEY! });

const quakes = await kz.agent("hazards").action("usgs-earthquakes", {
  minMagnitude: 5,
});
console.log(quakes.data, quakes.citation);

REST API

curl -X POST https://api.katzilla.dev/agents/hazards/actions/usgs-earthquakes \
  -H "X-API-Key: kz_your_key_here" \
  -H "Content-Type: application/json" \
  -d '{"minMagnitude": 5, "limit": 10}'

Public endpoints (no auth): /health, /status, /openapi.json, /agents, /agents/tools, /agents/datasets.

Data coverage

  • US federal — congress.gov, SEC EDGAR, Federal Register, Regulations.gov, USAspending, FEC, govinfo, State Department

  • US case law — CourtListener (opinions at every level)

  • US health — FDA recalls / adverse events / devices, NIH ClinicalTrials.gov, CMS, CDC

  • US hazards — USGS earthquakes & water, NWS alerts, FEMA disasters, NASA FIRMS wildfires

  • Economics — BLS, FRED, BEA, Census ACS, Treasury Fiscal Data

  • International portals — UK, France, Germany, Canada, Australia, Brazil, Ireland, Spain, Italy, Poland, and more

  • International bodies — Eurostat, ECB, WHO, OECD, IMF, World Bank, UN Comtrade, SIPRI

  • …plus crypto, space, demographics, energy, transport, agriculture.

Full source list at https://katzilla.dev.

Repository layout

Monorepo (pnpm workspaces).

Package

Purpose

packages/api

Fastify 5 REST API server

packages/app

React 19 + Vite SPA frontend

packages/sdk

Official TypeScript SDK (npm)

packages/python-sdk

Official Python SDK

packages/mcp

Standalone MCP server (npm)

packages/core

Shared types, schemas, utilities

packages/agents/*

One package per data-source category

Development

pnpm install
pnpm build          # build all packages
pnpm dev            # dev mode (api + app in parallel)
pnpm dev:api        # api only
pnpm dev:app        # frontend only
pnpm typecheck      # typecheck all packages
pnpm test:e2e       # Playwright E2E tests (needs app on :5173)

Required env vars: DATABASE_URL, JWT_SECRET, CREDENTIAL_ENCRYPT_KEY. Data-source keys (optional, BYOK): DATA_GOV_API_KEY, FRED_API_KEY, BLS_API_KEY, etc. See .env.example.

License

MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/codeislaw101/katzilla'

If you have feedback or need assistance with the MCP directory API, please join our Discord server