Skip to main content

Authentication

x-api-key
string
required
Your API key

Query Parameters

id
string
required
The search identifier returned by POST /reverse-contact/single.Example: 550e8400-e29b-41d4-a716-446655440000
curl -X GET "https://api.reverselooker.com/reverse-contact/single?id=550e8400-e29b-41d4-a716-446655440000" \
  -H "x-api-key: your_api_key"
{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "email": "[email protected]",
  "created_at": "2024-01-15T10:30:00Z",
  "qualification": "found",
  "result": {
    "first_name": "John",
    "last_name": "Doe",
    "full_name": "John Doe",
    "headline": "Senior Software Engineer at Company",
    "company_name": "Company Inc.",
    "location": "San Francisco, California",
    "linkedin_url": "https://linkedin.com/in/johndoe",
    "locale": "en_US",
    "summary": "Experienced software engineer with 10+ years...",
    "skills": ["JavaScript", "Python", "AWS", "React"],
    "experience": {
      "experience_count": 4,
      "experience_history": [
        {
          "title": "Senior Software Engineer",
          "company": "Company Inc.",
          "start_date": "2020-01",
          "end_date": null,
          "duration": "4 years"
        },
        {
          "title": "Software Engineer",
          "company": "Previous Corp",
          "start_date": "2016-06",
          "end_date": "2019-12",
          "duration": "3 years 6 months"
        }
      ]
    },
    "education": {
      "education_history": [
        {
          "school_name": "Stanford University",
          "degree_name": "Bachelor's Degree",
          "field_of_study": "Computer Science"
        }
      ]
    }
  }
}

Response

id
string
required
Unique search identifier.
email
string
required
The searched email.
created_at
string
required
Search creation date (ISO 8601 format).
qualification
string
required
Search status: ongoing, found, or not_found.
result
object
The LinkedIn profile found. null if qualification is not found.

Polling

The search may take a few seconds. Implement polling to check the status:
async function waitForResult(searchId, apiKey, maxAttempts = 10) {
  for (let i = 0; i < maxAttempts; i++) {
    const response = await fetch(
      `https://api.reverselooker.com/reverse-contact/single?id=${searchId}`,
      { headers: { 'x-api-key': apiKey } }
    );

    const data = await response.json();

    if (data.qualification !== 'ongoing') {
      return data;
    }

    // Wait 2 seconds before retrying
    await new Promise(resolve => setTimeout(resolve, 2000));
  }

  throw new Error('Timeout: search still ongoing');
}
To avoid polling, configure a webhook when creating the search. You will be automatically notified when the search is complete.