Skip to main content
Developers

Build on TappHQ

REST API, webhooks, MCP server, and custom connectors. Integrate TappHQ into your workflows, extend agent capabilities, and build on top of nonprofit data infrastructure.

REST API
Webhooks
MCP Server
Custom Connectors
40+
API Endpoints
3
SDK Languages
12
Webhook Types
5
Integration Methods
Quick Start

Up and running in three steps

01

Get Your API Key

Sign up, create an organization, and generate an API key from Settings → Integrations. Keys are scoped to your org with configurable permissions.

02

Make Your First Call

Hit the Funding Data API with your Bearer token. Search grants, pull funder profiles, or query 990 data. Full OpenAPI spec included for code generation.

03

Build Your Integration

Subscribe to webhooks for real-time events, connect via MCP for agent workflows, or build custom connectors with the AI-powered connector engine.

SDKs

Typed SDKs for TypeScript and Python

Auto-generated from the OpenAPI specification. Full type coverage, authentication helpers, and method stubs for every endpoint.

TypeScript SDK

Typed client with IntelliSense support. Two packages: @tapphq/sdk for the External API and @tapphq/sdk-tenant for the Tenant API.

Python SDK

httpx-based client with context manager support. Two packages: tapphq-sdk for the External API and tapphq-sdk-tenant for the Tenant API.

Developer Experience

Tools built for developers

API Explorer

Interactive API documentation with try-it-now functionality. Test endpoints directly from the browser with your API key - no Postman or curl required.

  • Full OpenAPI 3.0 specification
  • Interactive request builder with live responses
  • Code snippets in JavaScript, Python, and cURL
grants-search.sh
curl https://api.tapphq.com/v1/grants/search \
  -H "Authorization: Bearer fde_live_xxxxx" \
  -H "Content-Type: application/json" \
  -d '{"query":"environmental education","location":"CA"}'

# 200 OK
{
  "data": [
    {
      "id": "grnt_01J4K2MNP3QRSTUVWXYZ",
      "funder": "California Environmental Fund",
      "amount_max": 50000,
      "deadline": "2024-11-15",
      "match_score": 94
    }
  ],
  "total": 847,
  "page": 1
}

Webhook Configuration

Subscribe to platform events and receive real-time HTTP callbacks. Configure retry policies, filter by event type, and monitor delivery status from the dashboard.

  • HMAC-SHA256 signature verification
  • Configurable retry with exponential backoff
  • Event filtering and delivery logs
webhook-handler.ts
import crypto from "crypto"

function verifyWebhook(
  payload: string,
  signature: string,
  secret: string
): boolean {
  const expected = crypto
    .createHmac("sha256", secret)
    .update(payload)
    .digest("hex")
  return crypto.timingSafeEqual(
    Buffer.from(signature),
    Buffer.from(`sha256=${expected}`)
  )
}

app.post("/webhooks/tapphq", (req, res) => {
  const sig = req.headers["x-tapphq-signature"] as string
  if (!verifyWebhook(req.rawBody, sig, process.env.WEBHOOK_SECRET!)) {
    return res.status(401).send("Unauthorized")
  }
  const { event, data } = req.body
  // grant.matched, agent.completed, monitor.alert...
  res.sendStatus(200)
})

SDK & Integration Guides

Typed SDKs for JavaScript and Python with full IntelliSense support. Step-by-step guides cover authentication, pagination, error handling, and common integration patterns.

  • TypeScript and Python SDKs with full type coverage
  • Authentication and pagination guides
  • Example projects for common use cases
example.ts
import { TappHQClient } from "@tapphq/sdk"

const client = new TappHQClient({
  apiKey: process.env.TAPPHQ_API_KEY,
})

// Full type safety on every call
const results = await client.grants.search({
  query: "workforce development",
  location: "TX",
  amountMin: 10_000,
  amountMax: 100_000,
})

for (const grant of results.data) {
  console.log(`${grant.funder}: $${grant.amount_max}`)
  console.log(`Match score: ${grant.match_score}%`)
  // TypeScript knows the shape - no casting needed
}
Platform Capabilities

Everything to integrate

From simple data queries to full agent workflows, TappHQ gives developers multiple ways to connect and extend.

REST API

Full CRUD access to platform resources - grants, agents, monitoring sites, credentials, and more. Bearer token authentication with tier-based rate limits.

Webhooks

Subscribe to platform events - agent completions, monitoring alerts, credential expirations, grant matches - delivered via HTTP callbacks with signature verification.

MCP Server

Connect TappHQ as a tool provider to any MCP-compatible AI agent. Expose your org's data and operations to external agent frameworks like Claude Code or Cursor.

Agent Tools

228 platform tools available to AI agents - search grants, check compliance, generate reports, manage credentials. Build custom tools with the agent SDK.

Custom Connectors

Build integrations for any REST API using the AI-powered connector engine. Describe the API, map fields, and TappHQ generates the connector - no coding required.

Rate Limiting

Tier-based rate limits protect the platform while giving developers predictable throughput. Free tier: 30 req/min. Pro: 120 req/min. Enterprise: custom limits.

Agentic Operations Layer

A REST API and
an agentic operations surface.

TappHQ publishes its capabilities as machine-readable interfaces so AI agents can operate the platform natively. The REST API is the human-developer path; MCP, A2A, and the capabilities endpoint are the agent path.

MCP Server

Model Context Protocol endpoint at /api/mcp. Connect Claude Desktop, Claude Code, or Cursor and call 228 platform tools with scoped permissions. Pro: read. Enterprise: read + write.

Capabilities Endpoint

Public discovery at /api/v1/capabilities returns the full tool manifest, required scopes, and rate limits in a machine-readable format. Agents can bootstrap without pre-configuration.

A2A Protocol

Agent-to-Agent task delegation for composition across ecosystems. External agents send signed task requests; TappHQ agents execute and return structured results.

Get Started

Ready to build on TappHQ?

Start with the free tier. Access the Funding Data API and External Status API immediately. Full platform API and webhook subscriptions available on Starter and above.