Skip to main content

Use Case

Enrich entire company data with additional information and find associated people for sales outreach, CRM enrichment, or lead qualification.

Endpoint

POST https://api.sixtyfour.ai/enrich-company

Request

Headers

NameTypeRequiredDescription
x-api-keystringYesYour Sixtyfour API key
Content-TypestringYesMust be application/json

Body

FieldTypeRequiredDescription
target_companyobjectYesCompany data to enrich
structobjectYesFields to collect
lead_structobjectNoCustom schema to define the structure of returned lead data
find_peoplebooleanNoWhether to find people associated with the company
full_org_chartbooleanNoWhether to retrieve the full organizational chart for the company
research_planstringNoOptional strategy describing how the agent should search for information
people_focus_promptstringNoDescription of people to find, typically includes the roles or responsibilities of the people you’re looking for
The struct field defines exactly what data you want back. Each key is a field name you want returned in structured_data, and its value is either a plain-English description (e.g., "Instagram url for the photography company") or an object with description and optional type (e.g., {"description": "Approximate employee count", "type": "int"}). The agent uses these descriptions to guide its research.

find_people vs full_org_chart

  • find_people: Finds specific people associated with the company. Use people_focus_prompt to filter by role or seniority.
  • full_org_chart: Retrieves the complete organizational chart for the company. Use this when you need comprehensive coverage of all roles and reporting structure rather than targeted lead discovery.

Research Plan vs People Focus Prompt

  • research_plan: Focuses on the methodology of finding data. Use this to guide the agent on where to look (e.g., “Check the ‘About Us’ page and LinkedIn Company People tab”).
  • people_focus_prompt: Focuses on the criteria for the people you want to find. Use this to filter by role, department, or seniority (e.g., “Find the VP of Marketing and the CTO”).

Response

Success Response (200)

Returns enriched company data including leads if requested.
{
  "notes": "Pacific View Studios is a boutique photography company based in La Jolla, California. They specialize in luxury wedding photography, high-end portrait sessions, and commercial work for local businesses. The company has a strong social media presence and professional website. The business operates with a small, dedicated team of photographers and support staff.",
  "structured_data": {
    "company_name": "Pacific View Studios",
    "address": "1234 Ocean View Dr, La Jolla, CA 92037",
    "phone_number": "+16195551234",
    "website": "https://pacificview.studio",
    "num_employees": "5-10 employees",
    "instagram_url": "https://www.instagram.com/pacificview.studio",
    "leads": [
      {
        "name": "Sarah Chen",
        "email": "sarah@pacificview.studio",
        "title": "Creative Director & Lead Photographer",
        "phone": "+16195551234",
        "score": 9,
        "linkedin": "https://www.linkedin.com/in/sarah-chen-photography"
      },
      {
        "name": "Michael Rodriguez",
        "email": "michael@pacificview.studio",
        "title": "Office Manager",
        "phone": "+16195551234",
        "score": 8,
        "linkedin": "https://www.linkedin.com/in/michael-rodriguez-pvs"
      }
    ]
  },
  "findings": [],
  "references": {
    "https://pacificview.studio": "Official company website with services and portfolio",
    "https://www.instagram.com/pacificview.studio": "Company Instagram profile showing recent work",
    "https://www.linkedin.com/in/sarah-chen-photography": "LinkedIn profile of the Creative Director",
    "https://www.linkedin.com/in/michael-rodriguez-pvs": "LinkedIn profile of the Office Manager"
  },
  "confidence_score": 9.5
}
The findings field is deprecated. It currently returns an empty list and will be removed in a future update.

Score Definitions

FieldDescriptionRange
confidence_scoreGlobal Quality Score: Measures the overall quality, consistency, and correctness of the returned data.0-10
scoreRelevance Score: Measures the likelihood of the person to match the prompt or be helpful (returned per lead).0-10

Error Response (400)

{
  "error": "Bad Request",
  "message": "Invalid company data"
}

Sync Usage

Make a direct request and wait for the response. This is the simplest approach, but note that enrichment can take several minutes depending on depth of research.
curl -X POST "https://api.sixtyfour.ai/enrich-company" \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "target_company": {
      "company_name": "Pacific View Studios",
      "address": "1234 Ocean View Dr, La Jolla, CA 92037",
      "phone_number": "+16195551234",
      "website": "https://pacificview.studio"
    },
    "struct": {
      "instagram_url": "Instagram url for the photography company",
      "num_employees": "How many employees work there"
    },
    "lead_struct": {
      "name": "Full name of the person",
      "email": "Work email address",
      "title": "Job title",
      "linkedin": "LinkedIn profile URL"
    },
    "find_people": true,
    "research_plan": "Check their website, online profiles, and linkedin for the people",
    "people_focus_prompt": "Find me the owners of the company and the office manager"
  }'

Async Usage

For production workflows, use the async endpoint to submit a job and retrieve results later. This avoids long-lived HTTP connections.

Start Async Job

POST https://api.sixtyfour.ai/enrich-company-async
The request body is identical to the sync endpoint. Response:
{
  "task_id": "bdd69815-a1c0-480d-bfa5-d5fbb9745893",
  "status": "pending"
}

Check Job Status

GET https://api.sixtyfour.ai/job-status/{task_id}
Pending/Processing:
{
  "status": "pending",
  "processed_items": 0,
  "total_items": 0,
  "task_type": "enrich_company"
}
Completed:
{
  "status": "completed",
  "result": {
    "notes": "Pacific View Studios is a boutique photography company based in La Jolla, California...",
    "structured_data": {
      "company_name": "Pacific View Studios",
      "address": "1234 Ocean View Dr, La Jolla, CA 92037",
      "phone_number": "+16195551234",
      "website": "https://pacificview.studio",
      "num_employees": "5-10 employees",
      "instagram_url": "https://www.instagram.com/pacificview.studio",
      "leads": [
        {
          "name": "Sarah Chen",
          "email": "sarah@pacificview.studio",
          "title": "Creative Director & Lead Photographer",
          "phone": "+16195551234",
          "score": 9,
          "linkedin": "https://www.linkedin.com/in/sarah-chen-photography"
        },
        {
          "name": "Michael Rodriguez",
          "email": "michael@pacificview.studio",
          "title": "Office Manager",
          "phone": "+16195551234",
          "score": 8,
          "linkedin": "https://www.linkedin.com/in/michael-rodriguez-pvs"
        }
      ]
    },
    "findings": [],
    "references": {
      "https://pacificview.studio": "Official company website with services and portfolio",
      "https://www.instagram.com/pacificview.studio": "Company Instagram profile showing recent work",
      "https://www.linkedin.com/in/sarah-chen-photography": "LinkedIn profile of the Creative Director",
      "https://www.linkedin.com/in/michael-rodriguez-pvs": "LinkedIn profile of the Office Manager"
    },
    "confidence_score": 9.5
  },
  "task_type": "enrich_company"
}

Example Async Usage

import requests
import time

# Start async job
response = requests.post(
    "https://api.sixtyfour.ai/enrich-company-async",
    headers={
        "x-api-key": "YOUR_API_KEY",
        "Content-Type": "application/json"
    },
    json={
        "target_company": {
            "company_name": "Pacific View Studios",
            "website": "https://pacificview.studio"
        },
        "struct": {
            "instagram_url": "Instagram url for the photography company",
            "num_employees": "How many employees work there"
        },
        "find_people": True
    }
)

response.raise_for_status()
task_info = response.json()
task_id = task_info["task_id"]

# Poll for results
while True:
    status_response = requests.get(
        f"https://api.sixtyfour.ai/job-status/{task_id}",
        headers={"x-api-key": "YOUR_API_KEY"}
    )
    status_response.raise_for_status()

    status_data = status_response.json()

    if status_data["status"] == "completed":
        results = status_data["result"]
        break
    elif status_data["status"] == "failed":
        print(f"Job failed: {status_data.get('error', 'Unknown error')}")
        break

    time.sleep(10)  # Wait 10 seconds before checking again

Type Casting

The API automatically handles type casting for structured data output with intelligent type preservation and conversion.

Type Priority Order

  1. Explicit Type Definitions (Highest Priority) - Specified in struct field definitions
  2. Original Input Types - Types from target_company when not explicitly overridden
  3. Inferred Types - From example values in struct
  4. Default to String (Lowest Priority)

Supported Types

TypeExample Values
"str" or "string""Pacific View Studios"
"int" or "integer"50, 1000
"float"95.5, 3.14
"bool" or "boolean"true, false
"list"["item1", "item2"]
"list[str]"["item1", "item2"]
"list[int]"[1, 2, 3]
"list[float]"[1.5, 2.7, 3.14]
"dict"{"key": "value"}

Examples

Type Override:
{
  "target_company": {"num_employees": 25, "is_public": true},
  "struct": {
    "num_employees": {"type": "str"},  // Overrides original int type
    "industry": "Primary business sector"  // New field as string
  }
}
// Output: {"num_employees": "25", "is_public": true, "industry": "Photography"}
Explicit Type Definition:
{
  "struct": {
    "employee_count": {"description": "Number of employees", "type": "int"},
    "is_verified": {"description": "Verification status", "type": "bool"}
  }
}
// Output: {"employee_count": 25, "is_verified": true}
Type Inference from Values:
{
  "struct": {
    "rating": 4.5,        // Inferred as float
    "is_remote": false,   // Inferred as bool
    "founded_year": 2020  // Inferred as int
  }
}