# Enriching CRM data with CTD

CTD's API lets you pull relationship intelligence back into your CRM — relationship scores, company details, industry, headcount, and path stage — so your reps see CTD data without leaving Salesforce or HubSpot.

## What data you can pull

For any company reachable through your network, CTD can return:

| Field                 | Description                                           |
|-----------------------|-------------------------------------------------------|
| `ctd_score`          | Raw relationship score (numeric)                       |
| `ctd_score_scaled`   | Score on a 1–3 scale                                   |
| `ctd_score_label`    | Human-readable label: **Strong**, **Familiar**, or **Weak** |
| `stage`              | Current path stage (e.g., Approaching, Meeting Set)   |
| `num_employees`      | Employee count                                        |
| `num_employees_range`| Bucketed range (e.g., "101–200")                     |
| `industry`           | Industry classification                                |
| `ctd_url`            | Deep link to the company's CTD profile                |
| `linkedin_url`       | LinkedIn company page URL                             |
| `domains`            | All known domains for the company                     |

## Fetching a company record

```
GET https://api.ctd.ai/user/atc-paths-api/public/v1/company
```

Returns details for a single company reachable through your network. Provide exactly one of `company_linkedin_url` or `company_domain` as a query parameter — not both.

```json
// Example request
GET /company?company_domain=example.com

// Response
{
  "name": "Example Corp",
  "domains": ["example.com", "example.net"],
  "ctd_url": "https://app.ctd.ai/companies/example-corp",
  "linkedin_url": "https://www.linkedin.com/company/example-corp",
  "num_employees": 101,
  "num_employees_range": "101-200",
  "industry": "Technology, Information & Internet",
  "ctd_score": 7500.7725404,
  "ctd_score_scaled": 2,
  "ctd_score_label": "medium",
  "stage": "Approaching"
}
```

**Tip:** The `company_linkedin_url` is the preferred identifier — CTD normalizes it to `https://www.linkedin.com/company/<slug>` format automatically. Use `company_domain` as a fallback when you don't have the LinkedIn URL.

## Common enrichment patterns

### Score your account list

Loop through your CRM accounts and call `GET /company` for each one. Write `ctd_score_label` back as a custom CRM field to let reps prioritize by relationship strength. Accounts without a CTD record (not reachable through your network) will return a 404 — treat those as no score.

### Surface path stage in the CRM

The `stage` field reflects whatever pipeline stage has been set in CTD. Writing it back to a CRM field keeps both systems in sync without requiring reps to check CTD separately.

### Add a CTD deep link

Store `ctd_url` as a URL field on the CRM account record. Reps can click straight through to the CTD company page to see connectors, paths, and relationship history without switching tabs manually.

## Enriching contacts

```
GET https://api.ctd.ai/user/atc-paths-api/public/v1/reachable-person
```

Returns relationship intelligence for a single person reachable through your network. Provide exactly one of `person_linkedin_url` or `person_email` as a query parameter — not both.

```json
// Example response
{
  "person": {
    "name": "Sarah Johnson",
    "linkedin_id": "sarah-johnson-42",
    "title": "VP of Sales",
    "company_name": "Acme Corp",
    "company_linkedin_url": "https://www.linkedin.com/company/acme-corp",
    "location": "New York, NY",
    "is_target_person": true,
    "ctd_score": 8500.25,
    "ctd_score_scaled": 3,
    "ctd_score_label": "strong",
    "person_ctd_url": "https://app.ctd.ai/people/sarah-johnson",
    "company_ctd_url": "https://app.ctd.ai/companies/acme-corp",
    "total_paths": 5,
    "total_2nd_degree_paths": 3,
    "total_strong_paths": 2,
    "current_roles": [...],
    "former_roles": [...]
  }
}
```

Key fields for CRM enrichment:

| Field                  | Description                                            |
|------------------------|--------------------------------------------------------|
| `ctd_score_label`      | **Strong**, **Familiar**, or **Weak** — the relationship strength between your org and this person |
| `total_paths`          | Total number of people in your org who know this person |
| `total_strong_paths`   | Paths with a strong relationship score — your best intro routes |
| `total_2nd_degree_paths`| Second-degree connections through shared contacts      |
| `is_target_person`     | Whether this person is on your target account list     |
| `person_ctd_url`      | Deep link to this person's CTD profile                  |
| `current_roles`        | Current job(s) with company, domain, start date, and industry |
| `former_roles`         | Employment history — useful for detecting job changes

**Tip:** Write `total_strong_paths` back to a CRM contact field so reps can instantly see how well-connected your org is to each contact — without needing to open CTD.

## Executive alignment

CTD surfaces whether executives from your company are connected to executives at a target account — and how strong those relationships are. RevOps teams use this to identify where C-level alignment already exists and where it needs to be built.

When your CEO has a strong path to a prospect's CEO, that's a deal accelerator worth knowing about before the next QBR. When the connection doesn't exist yet, it becomes a deliberate relationship-building objective that leadership can act on.

### How to use it

Call the global paths endpoint for a target account, filtering by `degree=second` and `target_seniority=CXO` to get all executive-level paths your org has into that company:

```
GET https://api.ctd.ai/enterprise/atc-paths-api/public/v2/global/paths
  ?company_domain=acme.com
  &degree[]=second
  &target_seniority[]=CXO

// Headers
ctd-api-key: ...
ctd-client-id: your@company.com
```

The response returns all paths from anyone in your org to CXO-level contacts at the target company — including the connector name, relationship score, and the target executive's details. Write the strongest result back to an "Executive alignment" field on the opportunity record so reps and managers can see it at a glance without opening CTD.

**Tip:** Run this query whenever a new opportunity is created. If a strong CXO path exists and no intro has been requested within 14 days, trigger an alert to the AE's manager.

## Bulk enrichment

There is no batch endpoint for company lookups — you'll need to call `GET /company` once per account. For large lists, rate-limit your requests and process enrichment as a scheduled nightly job rather than on-demand. The [API reference](https://app.ctd.ai/account/api-access/documentation) lists current rate limits.

For the reverse direction — pushing your target account list into CTD — see [CRM sync via API](/content/guide/article/crm-api/index.html).

Have a question or running into an issue? Email us at [support@ctd.ai](mailto:support@ctd.ai) — we're happy to help.
