The Bulk API lets you enrich large batches of mobile numbers in two steps: submit a bulk job to receive an enrichmentId, then poll that ID to retrieve the enriched caller identity records.
All API requests must be authenticated using an API key passed as a custom HTTP request header.
Keep your API key secure; do not expose it in client-side code or public repositories.
Initiate a batch enrichment request and obtain an enrichmentId.
| Method | Endpoint | Auth |
|---|---|---|
| POST | https://app.naam.ai/api/v1/prospect/bulk | x-access-token |
| Parameter | Type | Required | Description |
|---|---|---|---|
| query | array | Yes | An array of mobile number strings to enrich |
| callbackUrl | string | No | The result is sent after processing is completed. |
curl --location 'https://app.naam.ai/api/v1/prospect/bulk' \
--header 'x-access-token: your-api-token' \
--header 'Content-Type: application/json' \
--data '{
"query":["1234567890"],
"callbackUrl":"your-webhook-URL"
}'
On success, the API returns HTTP 200 OK with a JSON body containing caller identity data. The code field is 2001 for a successful lookup.
{
"message": "success",
"result": {
"enrichmentId": "69955adfde174bb61e0ffc46"
}
}
Save the enrichmentId returned above; you will need it to retrieve results.
| Field | Type | Description |
|---|---|---|
| message | string | "success" when the request is completed without errors. |
| result.enrichmentId | string | Unique ID used to retrieve enriched results in the next API call. |
| Status | Message |
|---|---|
| 713 | Performance Threshold Exceeded |
| 406 | Not Acceptable |
| 402 | Bulk functionality is disabled |
| 402 | Credits exhausted |
| 402 | Daily limit exhausted |
| 401 | Quantity exceeds bulk limit |
| 400 | Invalid Enrichment Id |
Once you have obtained your enrichment ID, you can proceed with this.
| Method | Endpoint | Auth |
|---|---|---|
| GET | https://app.naam.ai/api/v1/prospect/bulk/enrich | x-access-token |
| Parameter | Type | Required | Description |
|---|---|---|---|
| enrichmentId | string | Yes | To poll the bulk request response |
| page | integer | No | Page number for pagination (default: 1) |
| limit | integer | No | Records per page (default: 10) |
curl --location 'https://app.naam.ai/api/v1/prospect/bulk/enrich?
page=1&limit=10&enrichmentId=69955adfde174bb61e0ffc46' \
--header 'x-access-token: your-api-token'
{
"message": "success",
"result": [
{
"mobile": "1234567890",
"name": "John Doe"
}
]
}
| Field | Type | Description |
|---|---|---|
| message | string | "success" when results are ready |
| result | array | Array of enriched record objects |
| result[].mobile | string | The queried mobile number |
| result[].name | string | Full name associated with the mobile number |
| Status | Message |
|---|---|
| 713 | Performance Threshold Exceeded |
| 406 | Not Acceptable |
| 402 | Bulk functionality is disabled |
| 402 | Credits exhausted |
| 402 | Daily limit exhausted |
| 401 | Quantity exceeds bulk limit |
| 400 | Invalid Enrichment Id |