Documentation
Base URL: https://api.africacompliancedata.com. All endpoints are GET and return JSON. Country codes are ISO 3166-1 alpha-2 (e.g. KE, NG, ZA, CI, EG).
Authentication
Get a key from the pricing section (the free plan takes a minute). Send it on every request:
curl -H "x-api-key: ACD-XXXX-XXXX-XXXX" \
https://api.africacompliancedata.com/v1/countries/NG/vat
Authorization: Bearer ACD-… also works. Requests without a valid key get 401; over the plan's rate limit, 429 with Retry-After.
Plans
| Plan | Data | Rate limit |
|---|---|---|
| Free | Holidays, business days, country list (non-commercial use) | 30 / min |
| Starter | Holidays, business days, country list; commercial use | 60 / min |
| Pro | Everything: + VAT, withholding tax, tax ID checks, filing deadlines | 300 / min |
| Compliance | Everything, + email change alerts and priority support | 1,000 / min |
On Free and Starter, the VAT, withholding-tax, tax-ID and deadline endpoints (and matching MCP tools) return 403 with an upgrade message; the country profile omits those blocks and lists them in not_in_plan.
Fair use: full country profiles are limited to 5 per minute per key. A key that reads an unusually large part of the dataset in one day is paused for review (403, “Access paused”); email support to restore it. Need the whole dataset? Ask about a data licence. See the Terms, section 3a.
Response format
Every response includes:
| Field | Meaning |
|---|---|
coverage | ready (sourced), partial (main value sourced, a detail missing) or gap (not yet sourced) |
sources | For each source: url, legal_basis, source_type, effective_date, confidence (high / medium / low), last_verified |
dataset_version | Date the dataset was built |
disclaimer | Reference information, not legal or tax advice |
Endpoints
| Endpoint | Returns |
|---|---|
/v1/countries | All countries with currency and per-feature coverage |
/v1/countries/{cc} | Full compliance profile of a country |
/v1/countries/{cc}/holidays?year=2026 | Public holidays. Add &include_religious_scopes=true for holidays limited to one faith (e.g. Kenya's Idd-ul-Azha for Muslims) |
/v1/countries/{cc}/is-business-day?date=2026-12-24 | business_day true/false and the reason |
/v1/countries/{cc}/business-days?from=2026-12-01&to=2026-12-31 | Working days in the range (inclusive) and the holidays skipped |
/v1/countries/{cc}/add-business-days?date=2026-12-24&days=5 | The date N working days later (negative N: earlier) |
/v1/countries/{cc}/vat | Standard and other rates, registration threshold, notes |
/v1/countries/{cc}/withholding-tax?payment_type=dividends | Resident and non-resident rates; payment_type optional (dividends, interest, royalties, rent, services, professional_fees, management_fees, technical_fees, contracts, goods, commissions, directors_fees, other) |
/v1/countries/{cc}/tax-id/validate?value=… | Format check against the official format. Does not confirm registration; the value is not stored or logged |
/v1/countries/{cc}/deadlines?year=2026&month=11 | Tax due dates falling in that month, adjusted for weekends and holidays per the country's rule |
Holiday status values
| Status | Meaning |
|---|---|
rule | Fixed by law (fixed date, Easter-based, nth weekday) |
estimated | Moon-sighted holiday computed in advance; may move by a day or two when officially announced |
confirmed | Date taken from an official announcement (source_url included); moved_from shows the original date when a holiday was moved |
observed | Substitute day under the country's weekend rule (observed_for shows the holiday) |
MCP server
Endpoint https://api.africacompliancedata.com/mcp (Streamable HTTP, protocol 2025-06-18). Send your key in the x-api-key header. Tools (all read-only): list_countries, get_public_holidays, is_business_day, count_business_days, add_business_days, get_vat, get_withholding_tax, validate_tax_id_format, get_filing_deadlines, get_country_profile.
Claude Code
claude mcp add --transport http africa-compliance \
https://api.africacompliancedata.com/mcp \
--header "x-api-key: ACD-XXXX-XXXX-XXXX"
Cursor and other clients (mcp.json)
{
"mcpServers": {
"africa-compliance": {
"url": "https://api.africacompliancedata.com/mcp",
"headers": { "x-api-key": "ACD-XXXX-XXXX-XXXX" }
}
}
}
Limits and data notes
- Years supported: 2025–2030.
- Rate limits per key are approximate (see Plans). Enterprise / data licence: bulk export and custom limits on request.
- Weekends are taken from each country's law or practice; where the sources do not state the weekend, the profile's notes say so.
- Data is reference information compiled from official sources, not legal or tax advice. Report a correction: support@africacompliancedata.com.