Skip to main content

Authentication

x-api-key
string
required
Your API key

Query Parameters

id
string
required
The bulk search identifier returned by POST /reverse-contact/bulk.Example: 550e8400-e29b-41d4-a716-446655440000
curl -X GET "https://api.reverselooker.com/reverse-contact/bulk?id=550e8400-e29b-41d4-a716-446655440000" \
  -H "x-api-key: your_api_key"
{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "created_at": "2024-01-15T10:30:00Z",
  "last_update": "2024-01-15T10:31:45Z",
  "number_requested": 100,
  "number_finished": 45,
  "status": "ongoing",
  "results": [
    {
      "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
      "email": "[email protected]",
      "qualification": "found",
      "linkedin_url": "https://linkedin.com/in/johndoe",
      "full_name": "John Doe",
      "headline": "Senior Software Engineer",
      "company_name": "Company Inc.",
      "location": "San Francisco, CA"
    },
    {
      "id": "b2c3d4e5-f6a7-8901-bcde-f23456789012",
      "email": "[email protected]",
      "qualification": "not_found",
      "linkedin_url": null,
      "full_name": null,
      "headline": null,
      "company_name": null,
      "location": null
    },
    {
      "id": "c3d4e5f6-a7b8-9012-cdef-345678901234",
      "email": "[email protected]",
      "qualification": "ongoing",
      "linkedin_url": null,
      "full_name": null,
      "headline": null,
      "company_name": null,
      "location": null
    }
  ]
}

Response

id
string
required
Unique bulk search identifier.
created_at
string
required
Search creation date (ISO 8601 format).
last_update
string
required
Last update date (ISO 8601 format).
number_requested
number
required
Total number of emails in the initial request.
number_finished
number
required
Number of completed searches. Use this field to track progress.
status
string
required
Overall bulk search status: ongoing, completed, or failed.
results
array
required
List of individual results for each email.

Polling for large volumes

For large bulk searches, implement polling with backoff:
async function waitForBulkCompletion(bulkId, apiKey) {
  let delay = 2000; // Start at 2 seconds
  const maxDelay = 30000; // Maximum 30 seconds

  while (true) {
    const response = await fetch(
      `https://api.reverselooker.com/reverse-contact/bulk?id=${bulkId}`,
      { headers: { 'x-api-key': apiKey } }
    );

    const data = await response.json();

    console.log(`Progress: ${data.number_finished}/${data.number_requested}`);

    if (data.status === 'completed' || data.status === 'failed') {
      return data;
    }

    await new Promise(resolve => setTimeout(resolve, delay));
    delay = Math.min(delay * 1.5, maxDelay); // Exponential backoff
  }
}
The bulk response contains a summary of profiles (name, headline, company, location). To get the full profile of a contact (experience, education, skills), use GET /reverse-contact/single with the individual ID.
Configure a webhook when creating the bulk search to be automatically notified when processing is complete.