Build with Findr's
Missing Persons API
Give your app access to Nigeria's most comprehensive missing persons database. Verified cases, real-time data, built for civic tech developers and researchers.
Getting started
How it works
Three steps from registration to live data.
Register
Submit your name, email, organisation, and use case. Your API key is issued instantly — no waiting, no approval queue.
Test
Your key starts in test mode. All responses use fictional seed data so you can build and validate your integration safely.
Go Live
Once you're ready, request a live mode promotion. You'll gain access to real, approved missing persons cases.
Registration
Get your API key
Register below to receive an API key instantly. Your key starts in test mode — use it to build and test your integration with fictional seed data.
Instant key issuance
No waiting, no approval queue
Test mode included
Safe sandbox with realistic data
Live mode on request
Access real approved cases
Reference
API Reference
Base URL: https://api.findr.ng/api/v1/developer
Authentication
All requests require your API key, passed either as a header or query parameter:
Header (recommended)
Authorization: Bearer fndr_your_keyQuery param
GET /missing-persons?api_key=fndr_your_keyEndpoints
/missing-personsList missing persons cases. Respects your key's mode — test keys return seed data, live keys return real approved cases.
Query parameters
qstring— Search by name or last seen locationstatus"missing" | "found"— Filter by case statusstatestring— Filter by Nigerian state (e.g. Lagos)pagenumber— Page number (default: 1)limitnumber— Results per page (max: 100, default: 20)/missing-persons/:slugRetrieve a single missing persons case by its unique slug identifier.
The slug is returned in list responses as the slug field (e.g. amaka-okafor-abc123).
/meReturns information about your API key: name, email, mode (test/live), total request count, and last used timestamp.
Example response
GET /missing-persons
{
"data": [
{
"id": "...",
"name": "Amaka Okafor",
"slug": "amaka-okafor-abc123",
"age": 24,
"gender": "Female",
"status": "missing",
"lastSeenDate": "2024-11-01",
"lastSeenLocation": "Surulere, Lagos",
"state": "Lagos",
"photo": "https://res.cloudinary.com/...",
"caseNumber": "FND-00123",
"createdAt": "2024-11-02T10:00:00Z"
}
],
"pagination": {
"page": 1,
"limit": 20,
"total": 412,
"pages": 21
},
"mode": "test"
}Environments
Test vs Live mode
Test mode
mode: "test"
- —Returns fictional seed data only (
isTestData: true) - —Safe to use during development — no real cases exposed
- —All responses include a
modefield and a notice header - —Default for all newly registered keys
Live mode
mode: "live"
- —Returns real, approved missing persons cases
- —Only accessible after a manual review and promotion
- —Requires responsible and lawful use of the data
- —Same API, same endpoints — only your key changes
Ready to go live?
Email us to request live mode promotion. We'll review your use case and get back to you.
Limits
Rate limits
Findr is a civic tech platform. We operate on fair-use principles — contact us if you need higher volumes for research or institutional use.
| Endpoint | Limit |
|---|---|
| All developer endpoints | Fair use |
| API key registration | 1 active key per email |
Errors
Error reference
All errors return a JSON body with a message field and, where applicable, a code field.
| HTTP code | Meaning |
|---|---|
| 401 | No API key provided |
| 401 | Key not recognised |
| 403 | Key has been revoked |
| 400 | Validation error (see message) |
| 429 | Rate limit exceeded |
Example error response
{
"error": true,
"code": "invalid_api_key",
"message": "The API key provided is not recognised."
}