Note: This endpoint is currently in beta. The API response format and behavior may change in future releases.

Overview

The Find Phone API uses Sixtyfour AI to discover phone numbers for leads. It extracts contact information from lead data and returns enriched results with phone numbers.

Endpoint

POST /find-phone

Authentication

  • Required: API Key in header
  • Header: x-api-key: YOUR_API_KEY

Request Format

Request Body

{
  "lead": {
    "name": "John Doe",
    "company": "Example Corp",
    "linkedin_url": "https://linkedin.com/in/johndoe",
    "domain": "example.com",
    "email": "john@example.com"
  }
}

Required Fields

  • lead (object): Lead information object

Optional Lead Fields

  • name (string): Full name of the person
  • company (string): Company name
  • linkedin_url (string): LinkedIn profile URL
  • domain (string): Company website domain
  • email (string): Email address
  • Any other lead data fields

Response Format

Successful Response (200 OK)

{
  "name": "John Doe",
  "company": "Example Corp",
  "linkedin_url": "https://linkedin.com/in/johndoe",
  "phone": "+1 555-123-4567"
}

Multiple Phones Response

{
  "name": "John Doe", 
  "company": "Example Corp",
  "phone": [
    {
      "number": "+1 555-123-4567",
      "region": "US"
    },
    {
      "number": "+1 555-987-6543", 
      "region": "US"
    }
  ]
}

No Phone Found Response

{
  "name": "John Doe",
  "company": "Example Corp", 
  "phone": ""
}

Error Responses

400 Bad Request

{
  "detail": "Lead data is required"
}

401 Unauthorized

{
  "detail": "Invalid API key"
}

429 Rate Limit Exceeded

{
  "detail": "Rate limit exceeded"
}

500 Internal Server Error

{
  "detail": "Internal server error message"
}

Example Usage

cURL Example

curl -X POST "https://api.sixtyfour.ai/find-phone" \
  -H "Content-Type: application/json" \
  -H "x-api-key: YOUR_API_KEY" \
  -d '{
    "lead": {
      "name": "Sarah Johnson",
      "company": "TechCorp Inc",
      "linkedin_url": "https://linkedin.com/in/sarahjohnson"
    }
  }'

Python Example

import requests

url = "https://api.sixtyfour.ai/find-phone"
headers = {
    "Content-Type": "application/json",
    "x-api-key": "YOUR_API_KEY"
}
data = {
    "lead": {
        "name": "Sarah Johnson",
        "company": "TechCorp Inc", 
        "linkedin_url": "https://linkedin.com/in/sarahjohnson"
    }
}

response = requests.post(url, headers=headers, json=data)
result = response.json()
print(f"Phone found: {result.get('phone', 'Not found')}")

JavaScript Example

const response = await fetch('https://api.sixtyfour.ai/find-phone', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'x-api-key': 'YOUR_API_KEY'
  },
  body: JSON.stringify({
    lead: {
      name: "Sarah Johnson",
      company: "TechCorp Inc",
      linkedin_url: "https://linkedin.com/in/sarahjohnson"
    }
  })
});

const result = await response.json();
console.log('Phone found:', result.phone);

Bulk Phone Finding

Dataframe Enrichment

You can also use the bulk enrichment endpoint for processing multiple leads:

POST /enrich-dataframe

Request:

{
  "csv_data": "name,company,linkedin_url\nJohn Doe,Example Corp,https://linkedin.com/in/johndoe\nJane Smith,Tech Inc,https://linkedin.com/in/janesmith",
  "enrichment_type": "phone"
}

Response:

{
  "job_id": "uuid-here"
}

Check status with:

GET /job-status/{job_id}

Best Practices

1. Provide Rich Lead Data

Include as much information as possible for better results:

  • Full name (required for Sixtyfour AI)
  • Company name and domain
  • LinkedIn URL
  • Any existing contact information

2. Handle Different Response Formats

Phone numbers can be returned as:

  • String: "+1 555-123-4567"
  • Object array: [{"number": "+1 555-123-4567", "region": "US"}]
  • Empty string: "" (when no phone found)

3. Error Handling

Always implement proper error handling:

try:
    response = requests.post(url, headers=headers, json=data)
    response.raise_for_status()
    result = response.json()
    
    phone = result.get('phone', '')
    if phone:
        print(f"Phone found: {phone}")
    else:
        print("No phone number found")
        
except requests.exceptions.RequestException as e:
    print(f"API request failed: {e}")

Rate Limits

  • Rate limits are applied per API key
  • Check your plan for specific limits
  • Use bulk processing for large datasets

Setup Requirements

  • SIXTYFOUR_API_KEY environment variable must be set
  • Valid Sixtyfour AI subscription with phone enrichment access

Phone Number Formats

  • International format preferred: +1 555-123-4567
  • Regional codes included when available
  • Multiple numbers returned as array when found

Limitations

  • Requires first name and last name for Sixtyfour AI processing
  • Sixtyfour AI API timeout: 3 minutes maximum
  • Phone availability depends on Sixtyfour AI’s database coverage
  • Some regions may have limited phone number availability