Pan-African Regulatory API
Access regulations, compliance requirements, and sector-specific rules across African countries. Covers financial services, telecoms, mining, healthcare, and more with data sourced from national government gazettes and regulatory bodies.
Base URL
Authentication
Include your Regulatory API key in the Authorization header.
curl -H "Authorization: Bearer db_regulatory_live_YOUR_KEY" \
https://api.crimate.net/v1/regulatory/regulationsEndpoints
/v1/regulatory/regulationsList regulations with optional filters by country, sector, and status
Parameters: country (ISO alpha-2), sector, status (active/repealed/draft), from (YYYY-MM-DD), to (YYYY-MM-DD), page, per_page
Example
GET /v1/regulatory/regulations?country=ZA§or=financial_services/v1/regulatory/regulations/{regulationCode}Get detailed information for a specific regulation by its code
Parameters: regulationCode (required, path)
Example
GET /v1/regulatory/regulations/ZA-POPIA-2013/v1/regulatory/regulations/searchFull-text search across regulation titles, summaries, and provisions
Parameters: q (required), country, sector, page, per_page
Example
GET /v1/regulatory/regulations/search?q=data+protection&country=ZA/v1/regulatory/requirementsList compliance requirements for a regulation or sector
Parameters: regulation_code, sector, country, entity_type, page, per_page
Example
GET /v1/regulatory/requirements?regulation_code=ZA-POPIA-2013/v1/regulatory/sectorsList all regulated sectors with regulation counts per country
Parameters: country (optional)
Example
GET /v1/regulatory/sectors?country=KE/v1/regulatory/countriesList all countries with available regulatory data
Parameters: region (optional)
Example
GET /v1/regulatory/countries?region=east_africa/v1/regulatory/statsDataset statistics (total regulations, countries, sectors, latest update)
Parameters: None
Example
GET /v1/regulatory/statsResponse Examples
Regulations response:
{
"regulations": [
{
"regulation_code": "ZA-POPIA-2013",
"title": "Protection of Personal Information Act",
"country": "ZA",
"country_name": "South Africa",
"sector": "data_protection",
"status": "active",
"effective_date": "2020-07-01",
"gazette_number": "37067",
"summary": "Regulates the processing of personal information by public and private bodies."
},
{
"regulation_code": "KE-DPA-2019",
"title": "Data Protection Act",
"country": "KE",
"country_name": "Kenya",
"sector": "data_protection",
"status": "active",
"effective_date": "2019-11-25",
"gazette_number": "181",
"summary": "Establishes the Office of the Data Protection Commissioner and regulates data processing."
}
]
}Try It
Enter your Regulatory API key to make a live request. Generate a key in the dashboard.
Try It
Make a live API call from your browser
curl -H "Authorization: Bearer db_regulatory_live_YOUR_KEY" \
"https://crimate.net/v1/regulatory/stats"Data Sources
National Government Gazettes
Official government publications containing new legislation, amendments, and regulatory notices. Covers South Africa, Kenya, Nigeria, Ghana, Rwanda, and other African nations with regularly updated content.
Regulatory Bodies
Sector-specific regulatory authorities including central banks, telecoms regulators, securities commissions, and data protection authorities across the continent. Provides compliance requirements and enforcement actions.
Rate Limits
| Tier | Price | Rate Limit | Daily Quota | Monthly Quota |
|---|---|---|---|---|
| Free | R0/mo | 10 req/min | 100 | 1,000 |
| Starter | R999/mo | 60 req/min | 5,000 | 50,000 |
| Pro | R3,999/mo | 300 req/min | Unlimited | 500,000 |
Error Codes
All error responses follow a consistent JSON format:
{
"error": "error_code",
"message": "Human-readable description."
}| Status | Error Code | Description |
|---|---|---|
| 400 | invalid_request | The request body or query parameters are malformed. |
| 401 | unauthorized | Missing or invalid API key. |
| 403 | no_subscription | No active subscription for this API product. |
| 403 | quota_exceeded | Daily or monthly quota exceeded. |
| 404 | not_found | The requested resource does not exist. |
| 429 | rate_limit_exceeded | Too many requests. Check X-RateLimit-Remaining header. |
| 500 | internal_error | An unexpected server error occurred. |