FundzWatch API

Real-time business event intelligence for AI agents and sales teams.

Base URL: https://api.fundz.netv1 STABLE

Authentication

All API requests require a Bearer token in the Authorization header. Get your API key from the onboarding flow or your dashboard.

shell
curl https://api.fundz.net/v1/watch/events \
  -H "Authorization: Bearer YOUR_API_KEY"

Test keys start with fundz_test_ and work against live data with developer-tier limits. Production keys start with fundz_live_ and are available on paid plans.

Quick Start

Get AI-scored leads in under 30 seconds:

1. Get your API key
shell
# Sign up at fundzwatch.com/onboarding
# You'll receive a test key: fundz_test_...
2. Fetch AI-scored signals
shell
curl -X POST https://api.fundz.net/v1/watch/signals \
  -H "Authorization: Bearer fundz_test_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"min_score": 50, "max_results": 10}'
3. Get raw events
shell
curl "https://api.fundz.net/v1/watch/events?types=funding,acquisition&days=7&limit=20" \
  -H "Authorization: Bearer fundz_test_YOUR_KEY"
4. Python example
python
import requests

API_KEY = "fundz_test_YOUR_KEY"
headers = {"Authorization": f"Bearer {API_KEY}"}

# Get today's AI-scored leads
signals = requests.post(
    "https://api.fundz.net/v1/watch/signals",
    headers=headers,
    json={"min_score": 60, "max_results": 10}
).json()

for lead in signals["signals"]:
    print(f"{lead['company_name']} (score: {lead['score']})")
    print(f"  Pain point: {lead['pain_point']}")
    print(f"  Outreach: {lead['outreach_angle']}")
    print()

Rate Limits

Rate limits are based on your plan tier. When exceeded, the API returns 429 Too Many Requests.

PlanAPI Calls/moAI Score Calls/moWatchlistWebhooks
Developer (Free)1,000100501
Growth ($199/mo)10,0005005005
Scale ($599/mo)100,0005,0005,000Unlimited
EnterpriseUnlimitedUnlimitedUnlimitedUnlimited

AI Signals

AI-scored leads generated daily based on your ICP. Each signal includes buyer intent analysis powered by Claude.

Events

Raw business events across all signal types. Use for building custom scoring, alerts, or feeding AI agents.

Event Types

fundingVenture funding rounds (seed through late stage). Includes amount, series, and investors.
acquisitionM&A activity. Includes acquirer, target, and deal price when available.
hiringExecutive and senior hires (VP+). Indicates growth and strategic direction.
contractGovernment and enterprise contracts. Includes contract value.
product_launchNew product and feature launches. Indicates innovation and market expansion.

Watchlist

Track specific companies by domain. Get notified when events happen for companies you care about.

Market Intelligence

Aggregated market data and AI-generated intelligence briefs. Pre-computed nightly.

Webhooks

Receive real-time HTTP notifications when events match your criteria. All payloads are signed with HMAC-SHA256.

Verifying Webhook Signatures

Every webhook payload includes an X-Fundz-Signature header. Verify it by computing HMAC-SHA256 of the raw request body using your webhook secret.

python
import hmac, hashlib

def verify_signature(payload_body, signature, secret):
    expected = hmac.new(
        secret.encode(),
        payload_body,
        hashlib.sha256
    ).hexdigest()
    return hmac.compare_digest(f"sha256={expected}", signature)
javascript
const crypto = require('crypto');

function verifySignature(body, signature, secret) {
  const expected = crypto
    .createHmac('sha256', secret)
    .update(body)
    .digest('hex');
  return signature === `sha256=${expected}`;
}

Webhook Payload Format

json
{
  "event": "events.new",
  "timestamp": "2026-03-23T14:30:00Z",
  "application_id": "app_123456",
  "event_count": 2,
  "events": [
    {
      "type": "funding",
      "id": 57432,
      "title": "Acme Corp raises $50M Series B",
      "organization_id": "12345",
      "organization_name": "Acme Corp",
      "domain": "acme.com",
      "amount": 50000000,
      "series": "series_b",
      "date": "2026-03-23T14:30:00Z"
    }
  ]
}

Python SDK

Official Python client with built-in CrewAI and LangChain integrations.

shell
pip install fundzwatch

# With CrewAI support:
pip install fundzwatch[crewai]

# With LangChain support:
pip install fundzwatch[langchain]

# Everything:
pip install fundzwatch[all]

Basic Usage

python
from fundzwatch import FundzWatch

fw = FundzWatch(api_key="fundz_test_...")  # or set FUNDZWATCH_API_KEY env var

# Get AI-scored leads
leads = fw.get_leads(min_score=60, max_results=10)
for lead in leads["signals"]:
    print(f"{lead['company_name']} (score: {lead['score']})")
    print(f"  Stage: {lead['buying_stage']}")
    print(f"  Outreach: {lead['outreach_angle']}")

# Get recent funding events
events = fw.get_events(types="funding", days=7, limit=20)

# Market intelligence
pulse = fw.get_market_pulse()
brief = fw.get_market_brief()

# Watchlist
fw.add_to_watchlist(["stripe.com", "notion.so"])
fw.get_watchlist_events(days=14)

# Check usage
usage = fw.get_usage()

Method Reference

get_leads()
AI-scored leads matched to your ICP
POST /v1/watch/signals(min_score, max_results, buying_stages, industries)
get_events()
Real-time business events
GET /v1/watch/events(types, days, limit, offset, industries, locations)
get_market_pulse()
Market activity overview
GET /v1/watch/market/pulse
get_market_brief()
AI-generated intelligence brief
GET /v1/watch/market/brief
get_watchlist()
List tracked companies
GET /v1/watch/watchlist
add_to_watchlist()
Track companies by domain
POST /v1/watch/watchlist(domains)
remove_from_watchlist()
Stop tracking companies
DELETE /v1/watch/watchlist(domains)
get_watchlist_events()
Events for tracked companies
GET /v1/watch/watchlist/events(days, types)
get_usage()
API usage and limits
GET /v1/watch/usage

Error Handling

python
from fundzwatch import FundzWatch, AuthenticationError, RateLimitError, ValidationError, APIError

fw = FundzWatch(api_key="fundz_test_...")

try:
    leads = fw.get_leads(min_score=60)
except AuthenticationError:
    print("Invalid API key")
except RateLimitError:
    print("Monthly limit exceeded - upgrade at fundzwatch.com/dashboard")
except ValidationError as e:
    print(f"Bad request: {e.message}")
except APIError as e:
    print(f"API error {e.status_code}: {e.message}")

CrewAI Integration

python
from fundzwatch import FundzWatch
from fundzwatch.tools.crewai import get_fundzwatch_tools
from crewai import Agent, Task, Crew

fw = FundzWatch(api_key="fundz_test_...")
tools = get_fundzwatch_tools(fw)

researcher = Agent(
    role="Sales Intelligence Researcher",
    goal="Find high-intent leads from recent business events",
    tools=tools
)

task = Task(
    description="Find 5 companies that recently raised Series B+ with score above 70",
    agent=researcher
)

crew = Crew(agents=[researcher], tasks=[task])
result = crew.kickoff()

LangChain Integration

python
from fundzwatch import FundzWatch
from fundzwatch.tools.langchain import get_fundzwatch_tools
from langchain_anthropic import ChatAnthropic
from langchain.agents import create_tool_calling_agent, AgentExecutor
from langchain_core.prompts import ChatPromptTemplate

fw = FundzWatch(api_key="fundz_test_...")
tools = get_fundzwatch_tools(fw)

llm = ChatAnthropic(model="claude-sonnet-4-20250514")
prompt = ChatPromptTemplate.from_messages([
    ("system", "You are a sales intelligence assistant."),
    ("human", "{input}"),
    ("placeholder", "{agent_scratchpad}")
])

agent = create_tool_calling_agent(llm, tools, prompt)
executor = AgentExecutor(agent=agent, tools=tools)
result = executor.invoke({"input": "Find recent funding rounds in healthtech"})

MCP Server

Use FundzWatch directly in Claude, Cursor, Windsurf, or any MCP-compatible client. No code required.

Claude Desktop

Add to your Claude Desktop config:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
Linux: ~/.config/Claude/claude_desktop_config.json

json
{
  "mcpServers": {
    "fundzwatch": {
      "command": "npx",
      "args": ["-y", "@fundzwatch/mcp-server"],
      "env": {
        "FUNDZWATCH_API_KEY": "fundz_test_YOUR_KEY"
      }
    }
  }
}

Cursor / Windsurf

json
{
  "mcpServers": {
    "fundzwatch": {
      "command": "npx",
      "args": ["-y", "@fundzwatch/mcp-server"],
      "env": {
        "FUNDZWATCH_API_KEY": "fundz_test_YOUR_KEY"
      }
    }
  }
}

Available Tools

get_scored_leadsAI-scored leads with buyer intent, pain points, and outreach angles
get_eventsReal-time funding, acquisitions, hires, contracts, and launches
get_market_pulseMarket activity overview with 7d and 30d totals
get_market_briefAI-generated strategic intelligence narrative
manage_watchlistAdd, remove, or list tracked companies
get_watchlist_eventsEvents for companies on your watchlist
get_usageCheck API usage and plan limits

Example prompts: "Find companies that raised Series B in healthtech this week", "Show my top 5 scored leads", "Track stripe.com on my watchlist"

Error Codes

401Invalid or missing API key
403API key does not have access to this resource
404Endpoint or resource not found
422Invalid request parameters
429Rate limit exceeded. Check your plan limits.
500Internal server error. Contact support if persistent.

All error responses follow the format: {"error": "error_code", "message": "Human-readable details"}

Need help? Contact support@fundzwatch.com

Go to Dashboard