API and integrations
Deal Intelligence in your own tools.
A REST API for African deals, corporate events, investors, countries and market prices, and watchlist alerts delivered to Slack, Microsoft Teams, Discord, Google Chat or any webhook. Create a key on the API keys page once you have an account.
Free during early access. Paid plans are coming soon; everyone who joins before then gets founding-member pricing, kept for as long as they stay subscribed.
Quick start
Send your key in the Authorization header (or X-API-Key). Every response is JSON.
curl "https://api.deal-intelligence.app/v1/deals?country=KE&type=equity_funding&limit=5" \ -H "Authorization: Bearer di_live_..."
import requests
r = requests.get("https://api.deal-intelligence.app/v1/events",
params={"country": "NG", "type": "m_and_a_activity", "limit": 20},
headers={"Authorization": "Bearer di_live_..."})
r.raise_for_status()
print(r.headers["X-RateLimit-Remaining"], "requests left this month")
for e in r.json()["events"]:
print(e["day"], e["headline"])Keys belong on servers and in your tools' secret settings. Never put a key in a web page, a public repository or a chat message: anyone with it can use your allowance. Revoke a leaked key on the API keys page and create a new one.
Plans and limits
| Plan | Allowance | Keys |
|---|---|---|
| Free | 30 requests a month | 2 keys |
| Pro | 3,000 requests a month | 5 keys |
| Team | 15,000 requests a month | 10 keys |
| Institutional | 100,000 requests a month | 25 keys |
Every request made with a key counts, whatever its result, except /v1/usage. Usage is per account and shared by all its keys. The allowance resets on the 1st of each month (UTC). Each response carries X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset (Unix time). Bursts above 120 requests a minute from one address are slowed down.
Every plan is free during early access, with founding-member pricing for everyone who joins before paid plans launch. Need more than 30 requests a month for a team, an integration or research? Request Pro access from the API keys page or write to info@deal-intelligence.app.
Endpoints
All endpoints are GET under https://api.deal-intelligence.app/v1. Dates are YYYY-MM-DD; countries take ISO codes or names; list endpoints page with limit and offset.
Deal type: acquisition, merger, equity_funding, debt_financing, fund_raise, exit, ipo, joint_venture. Event type: m_and_a_activity, credit_risk, distressed_asset, earnings_surprise, leadership_change, regulatory_action, debt_restructuring, insider_activity.
This month's allowance and use. Not counted.
Search deals, newest and most relevant first.
q, country, type, sector, investor, since, until, min_usd, limit (≤100), offset
One deal with its sources, verification, parties and comparable deals.
Corporate events (M&A, credit, distress, leadership, regulatory and more).
country, type, since, q, limit (≤200), offset
Investors ranked on the deals that match the filters.
role, kind, sector, country, stage, type, since, until, min_usd, max_usd, lead_only, limit, offset
An investor's profile, portfolio and fund lifecycle.
Deal and event activity and risk for all 54 African countries.
One country in detail (ISO code, e.g. NG, KE, ZA).
Exchanges, movers, most traded and currency moves.
Listed shares across African exchanges, filtered and sorted.
exchange, sector, min_mcap_usd, q, sort, include_stale, limit (≤200), offset
Find a listing by company name or ticker.
q (required), limit (≤25)
Latest price for one listing.
exchange, symbol (both required)
Errors
Errors share one shape: {"error": {"code": "...", "message": "...", "docs": "..."}}
Alerts in Slack, Teams, Discord and Google Chat
Create a watchlist on the Alerts page and paste the channel's webhook URL. The format is chosen from the URL, and Send test message shows what alerts will look like before you save. Alerts arrive daily after each update, or as a Friday digest. Chat delivery does not use your API allowance.
- Slack: at api.slack.com/apps create an app, turn on Incoming Webhooks, choose Add New Webhook to Workspace, pick the channel and copy the URL (starts with https://hooks.slack.com/).
- Microsoft Teams: in the channel open Workflows and choose the template Post to a channel when a webhook request is received. Finish the steps and copy the URL it gives you.
- Discord: Channel settings, Integrations, Webhooks, New Webhook, then Copy Webhook URL.
- Google Chat: in the space open Apps and integrations, Webhooks, add one and copy its URL.
- Zapier, Make, n8n or your own server: use any HTTPS webhook URL. It receives the JSON payload below, so you can route alerts to email, a CRM, a spreadsheet or anywhere else.
Treat a webhook URL like a password: anyone with it can post into that channel.
Webhook payload
Webhooks that are not a chat tool receive this JSON as a POST. The Idempotency-Key header is the same on retries of the same batch, so you can ignore repeats.
{
"watchlist": {"id": "...", "name": "Nigerian fintech", "url": "https://deal-intelligence.app/app/watchlists/..."},
"generated_at": "2026-11-09T06:30:00+00:00",
"alerts": [
{"kind": "deal", "id": "...", "day": "2026-11-08", "title": "...",
"deal_type": "equity_funding", "amount_usd": 12000000,
"url": "https://...", "publisher": "TechCabal",
"why": ["company: Moniepoint"], "change_type": "new"}
]
}