FundzWatch API
Real-time business event intelligence for AI agents and sales teams.
Base URL: https://api.fundz.netv1 STABLEAuthentication
All API requests require a Bearer token in the Authorization header. Get your API key from the onboarding flow or your dashboard.
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:
# Sign up at fundzwatch.com/onboarding # You'll receive a test key: fundz_test_...
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}'curl "https://api.fundz.net/v1/watch/events?types=funding,acquisition&days=7&limit=20" \ -H "Authorization: Bearer fundz_test_YOUR_KEY"
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.
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
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.
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)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
{
"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.
pip install fundzwatch # With CrewAI support: pip install fundzwatch[crewai] # With LangChain support: pip install fundzwatch[langchain] # Everything: pip install fundzwatch[all]
Basic Usage
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
Error Handling
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
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
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
{
"mcpServers": {
"fundzwatch": {
"command": "npx",
"args": ["-y", "@fundzwatch/mcp-server"],
"env": {
"FUNDZWATCH_API_KEY": "fundz_test_YOUR_KEY"
}
}
}
}Cursor / Windsurf
{
"mcpServers": {
"fundzwatch": {
"command": "npx",
"args": ["-y", "@fundzwatch/mcp-server"],
"env": {
"FUNDZWATCH_API_KEY": "fundz_test_YOUR_KEY"
}
}
}
}Available Tools
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
All error responses follow the format: {"error": "error_code", "message": "Human-readable details"}
Need help? Contact support@fundzwatch.com
Go to Dashboard