> ## Documentation Index
> Fetch the complete documentation index at: https://docs.clado.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Get Contact Information

> Find email addresses and phone numbers for LinkedIn profiles

Retrieve contact information (emails and phone numbers) for a LinkedIn profile. You can optionally specify whether to get emails, phone numbers, or both using the enrichment parameters. When both are requested, the system uses a waterfall approach through multiple data sources to maximize the likelihood of finding both types of contact information.

## Get Contact Information

```bash theme={null}
# By LinkedIn URL
curl -X GET "https://search.clado.ai/api/enrich/contacts?linkedin_url=https://www.linkedin.com/in/alexjohnson" \
  -H "Authorization: Bearer YOUR_API_KEY"

# By Email
curl -X GET "https://search.clado.ai/api/enrich/contacts?email=alex.johnson@example.com" \
  -H "Authorization: Bearer YOUR_API_KEY"

# By Phone
curl -X GET "https://search.clado.ai/api/enrich/contacts?phone=+1234567890" \
  -H "Authorization: Bearer YOUR_API_KEY"
```

### Query Parameters

| Parameter         | Type    | Required     | Description                                                      |
| ----------------- | ------- | ------------ | ---------------------------------------------------------------- |
| linkedin\_url     | string  | One of these | LinkedIn profile URL to enrich                                   |
| email             | string  | One of these | Email address to find profile                                    |
| phone             | string  | One of these | Phone number to find profile                                     |
| email\_enrichment | boolean | Optional     | If true, returns emails (costs 4 credits if email found)         |
| phone\_enrichment | boolean | Optional     | If true, returns phone numbers (costs 10 credits if phone found) |

**Note:**

* Exactly one of `linkedin_url`, `email`, or `phone` must be provided.
* Both `email_enrichment` and `phone_enrichment` can be true at the same time to request both types of contact info.
* If both are false (default), returns all available contact info.
* When both enrichments are requested, the system attempts to find both but only charges for what's actually found.

### Examples

**Get Contact Info by LinkedIn URL (all contact info):**

```bash theme={null}
curl -X GET "https://search.clado.ai/api/enrich/contacts?linkedin_url=https://www.linkedin.com/in/alexjohnson" \
  -H "Authorization: Bearer YOUR_API_KEY"
```

**Get Only Emails:**

```bash theme={null}
curl -X GET "https://search.clado.ai/api/enrich/contacts?linkedin_url=https://www.linkedin.com/in/alexjohnson&email_enrichment=true" \
  -H "Authorization: Bearer YOUR_API_KEY"
```

**Get Only Phone Numbers:**

```bash theme={null}
curl -X GET "https://search.clado.ai/api/enrich/contacts?linkedin_url=https://www.linkedin.com/in/alexjohnson&phone_enrichment=true" \
  -H "Authorization: Bearer YOUR_API_KEY"
```

**Get Both Email and Phone Numbers:**

```bash theme={null}
curl -X GET "https://search.clado.ai/api/enrich/contacts?linkedin_url=https://www.linkedin.com/in/alexjohnson&email_enrichment=true&phone_enrichment=true" \
  -H "Authorization: Bearer YOUR_API_KEY"
```

**Get Contact Info by Email:**

```bash theme={null}
curl -X GET "https://search.clado.ai/api/enrich/contacts?email=john.doe@company.com" \
  -H "Authorization: Bearer YOUR_API_KEY"
```

**Get Contact Info by Phone:**

```bash theme={null}
curl -X GET "https://search.clado.ai/api/enrich/contacts?phone=+14155552671" \
  -H "Authorization: Bearer YOUR_API_KEY"
```

## Response Format

### Success Response

```json theme={null}
{
  "data": [
    {
      "error": false,
      "contacts": [
        {
          "type": "email",
          "value": "alex.johnson@techcorp.com",
          "rating": 100,
          "subType": "work"
        },
        {
          "type": "phone",
          "value": "+1-555-123-4567",
          "rating": 90,
          "subType": "mobile"
        }
      ],
      "social": [
        {
          "link": "https://www.linkedin.com/in/alexjohnson",
          "type": "li",
          "rating": 100
        }
      ],
      "provider": "database_verified"
    }
  ]
}
```

### Response Fields

| Field                   | Type    | Description                                                                              |
| ----------------------- | ------- | ---------------------------------------------------------------------------------------- |
| `data`                  | array   | Array containing contact information (always has one item)                               |
| `data.error`            | boolean | Whether an error occurred during lookup                                                  |
| `data.contacts`         | array   | Array of contact information (emails/phones)                                             |
| `data.contacts.type`    | string  | Contact type: `"email"` or `"phone"`                                                     |
| `data.contacts.value`   | string  | The actual email address or phone number                                                 |
| `data.contacts.rating`  | integer | Confidence score from 0-100 (higher is better)                                           |
| `data.contacts.subType` | string  | Contact classification: `"personal"`, `"work"`, `"verified"`, `"mobile"`, `"work_phone"` |
| `data.social`           | array   | Array of social media profiles found                                                     |
| `data.social.link`      | string  | URL of the social media profile                                                          |
| `data.social.type`      | string  | Platform type (e.g., `"li"` for LinkedIn)                                                |
| `data.social.rating`    | integer | Confidence score from 0-100                                                              |
| `data.provider`         | string  | Data source (optional): `"database_verified"`, `"database_bouncer_verified"`, etc.       |

## Error Responses

| Status Code | Description                                                              |
| ----------- | ------------------------------------------------------------------------ |
| 400         | Bad Request - Must provide exactly one of: LinkedIn URL, email, or phone |
| 401         | Unauthorized - API key missing or invalid                                |
| 402         | Payment Required - Insufficient credits or requires paid plan            |
| 500         | Internal Server Error - Enrichment service error                         |

## Rate Limits

Rate limits vary by subscription tier:

* **Free Tier**: 0 requests per minute (not available)
* **Tier 1**: 5 requests per minute
* **Tier 2**: 60 requests per minute
* **Tier 3**: 120 requests per minute

## Notes

### Pricing

* **Default (all contact info):** 4 credits per request
* **Email enrichment only:** 4 credits if email is found, 0 credits if not found
* **Phone enrichment only:** 10 credits if phone is found, 0 credits if not found
* **Both email and phone enrichment:** Only charged for what's found
  * Both found: 14 credits (4 for email + 10 for phone)
  * Only email found: 4 credits
  * Only phone found: 10 credits
  * Neither found: 0 credits

### Other Information

* Requires purchased credits (not available on free trial)
* Rating scores range from 0 to 100 (higher is better)
* Multiple email addresses and phone numbers may be returned with different ratings
* Social media profiles may also be included in the response
* Both email and phone enrichment can be requested simultaneously
* When both are requested, the system uses a waterfall approach to maximize success rate


## OpenAPI

````yaml GET /api/enrich/contacts
openapi: 3.1.0
info:
  title: Clado Search & Enrichment API
  description: API for searching LinkedIn profiles and enriching contact information
  version: 1.0.0
servers:
  - url: https://search.clado.ai
    description: Production server
security:
  - bearerAuth: []
paths:
  /api/enrich/contacts:
    get:
      tags:
        - Enrichment
      summary: Get Contact Information
      description: >-
        Get contact info for a profile by LinkedIn URL, email, or phone. Exactly
        one of these parameters must be provided. Costs 4 credits for email
        enrichment, 10 credits for phone enrichment, 14 credits if both are
        requested and found, or 4 credits for all contact info (default). When
        both email_enrichment and phone_enrichment are true, the system will
        attempt to find both but only charge for what's actually found. Rate
        limits vary by tier: 0/min (free), 5/min (Tier 1), 60/min (Tier 2),
        120/min (Tier 3). Note: Free tier cannot access this endpoint.
      operationId: getContacts
      parameters:
        - name: linkedin_url
          in: query
          required: false
          description: >-
            LinkedIn profile URL to get contact information for (e.g.,
            'https://www.linkedin.com/in/username')
          schema:
            type: string
        - name: email
          in: query
          required: false
          description: >-
            Email address to find profile and get contact information (e.g.,
            'john.doe@example.com')
          schema:
            type: string
        - name: phone
          in: query
          required: false
          description: >-
            Phone number to find profile and get contact information (e.g.,
            '+1234567890')
          schema:
            type: string
        - name: email_enrichment
          in: query
          required: false
          description: >-
            If true, returns emails (costs 4 credits if email found). Can be
            combined with phone_enrichment to request both
          schema:
            type: boolean
            default: false
        - name: phone_enrichment
          in: query
          required: false
          description: >-
            If true, returns phone numbers (costs 10 credits if phone found).
            Can be combined with email_enrichment to request both
          schema:
            type: boolean
            default: false
      responses:
        '200':
          description: Contact info retrieved
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EnrichResponse'
        '400':
          description: >-
            Bad Request - Must provide exactly one of: LinkedIn URL, email, or
            phone
        '401':
          description: Unauthorized - API key missing or invalid
        '402':
          description: >-
            Payment Required - Insufficient credits or requires paid plan (paid
            users only)
        '500':
          description: Internal Server Error - Enrichment service error
components:
  schemas:
    EnrichResponse:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/ContactInfo'
          description: Array of contact information found
      example:
        data:
          - error: false
            contacts:
              - type: email
                value: alex.johnson@techcorp.com
                rating: 100
                subType: work
              - type: phone
                value: +1-555-123-4567
                rating: 90
                subType: mobile
            social:
              - link: https://www.linkedin.com/in/alexjohnson
                type: li
                rating: 100
    ContactInfo:
      type: object
      properties:
        error:
          type: boolean
          description: Whether an error occurred
        contacts:
          type: array
          items:
            $ref: '#/components/schemas/Contact'
          description: Array of contact information (emails and phone numbers)
        social:
          type: array
          items:
            $ref: '#/components/schemas/Social'
          description: Array of social media profiles
    Contact:
      type: object
      properties:
        type:
          type: string
          enum:
            - email
            - phone
          description: Contact type
        value:
          type: string
          description: Contact value (email address or phone number)
        rating:
          type: integer
          minimum: 0
          maximum: 100
          description: Confidence rating (0-100)
        subType:
          type: string
          description: Contact subtype (personal, work, verified, mobile, work_phone)
      required:
        - type
        - value
        - rating
    Social:
      type: object
      properties:
        link:
          type: string
          description: Social media profile URL
        type:
          type: string
          description: Social media platform type (li for LinkedIn)
        rating:
          type: integer
          minimum: 0
          maximum: 100
          description: Confidence rating (0-100)
      required:
        - link
        - type
        - rating
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: API key authentication. Keys start with 'lk_'.

````