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

# Bring Your Own Keys (BYOK)

> Connect your existing API keys to 97+ integrations at $0/month with zero markup. Use it to understand tradeoffs and operating boundaries.

Deepline lets you plug in API keys you already own and use them directly through the CLI, API, and agent skills. There is no monthly platform fee, no per-call markup, and no middleman billing. You pay your providers at their published rates. Deepline handles orchestration, waterfall logic, and data normalization on top of whatever keys you connect.

| Attribute                      | Value                                                                       |
| ------------------------------ | --------------------------------------------------------------------------- |
| BYOK cost                      | \$0/month, 0% markup                                                        |
| Providers with API key support | 26                                                                          |
| Providers with OAuth support   | 3 (Attio, HubSpot, Salesforce)                                              |
| Alternative (no keys)          | Managed credits at \$0.10/credit, with volume discounts from 1,000+ credits |
| Key storage                    | AES-256 encrypted, per-workspace, never shared across workspaces            |
| Mix and match                  | Yes — BYOK for some providers, managed credits for others                   |
| Setup time                     | Under 2 minutes per provider                                                |

***

## What BYOK means for your GTM budget

Not every team should use BYOK. Here is a straight breakdown of who benefits most and who should skip it.

**Best for teams with existing provider contracts.** If you already pay Apollo, Crustdata, Hunter, or People Data Labs directly, BYOK lets you route those same keys through Deepline without double-paying. You keep your negotiated rates, your existing usage dashboards, and your billing relationship. Deepline adds waterfall logic and unified output schemas on top — nothing changes on the provider side.

**Best for cost-conscious operators.** Clay charges \$185/month on their Explorer plan and \$485/month on Pro before you buy any enrichment credits. ZoomInfo starts at \$15,000/year. With BYOK, your Deepline platform cost is \$0/month. Your only spend is whatever you pay providers directly at their published per-call rates. For a team running 5,000 enrichments per month across 3 providers, the difference can be \$2,000-\$4,000/year in platform fees alone.

**Best for testing multiple providers side-by-side.** When you are evaluating whether Crustdata or People Data Labs returns better company data for your ICP, BYOK lets you run both through the same waterfall and compare hit rates without committing to either vendor's annual contract. Connect free-tier keys from each, run a sample batch, and measure coverage before you buy.

**Not ideal if you have zero provider accounts.** If you do not have any existing API keys and want to start enriching immediately, use managed credits instead. Managed credits start at \$0.10/credit, with volume discounts from 1,000+ credits. They require no provider signups and work across all 97+ integrations. You can switch individual providers to BYOK later as you negotiate direct contracts.

***

## Supported providers

API-key providers listed below accept BYOK connections. Connect any combination. Apollo also accepts customer-owned keys, but it must be connected in the Deepline dashboard and is not available through platform-managed env fallback.

### Enrichment and prospecting

| Provider         | Env var name             | Auth type | Category                    |
| ---------------- | ------------------------ | --------- | --------------------------- |
| Adyntel          | `ADYNTEL_API_KEY`        | API key   | Ad intelligence             |
| AI Ark           | `AI_ARK_API_KEY`         | API key   | People search, email finder |
| Apollo           | Dashboard connection     | API key   | People + company enrichment |
| ContactOut       | `CONTACTOUT_API_KEY`     | API key   | Email + phone finder        |
| Crustdata        | `CRUSTDATA_API_KEY`      | API key   | Company + people enrichment |
| Dropleads        | `DROPLEADS_API_KEY`      | API key   | Lead generation             |
| Exa              | `EXA_API_KEY`            | API key   | Web search                  |
| Forager          | `FORAGER_API_KEY`        | API key   | Data storage + enrichment   |
| Hunter           | `HUNTER_API_KEY`         | API key   | Email finder + verification |
| Icypeas          | `ICYPEAS_API_KEY`        | Custom    | Email finder + verification |
| LeadMagic        | `LEADMAGIC_API_KEY`      | API key   | Email + company enrichment  |
| Parallel         | `PARALLEL_API_KEY`       | API key   | AI enrichment               |
| People Data Labs | `PEOPLEDATALABS_API_KEY` | API key   | People + company data       |
| Prospeo          | `PROSPEO_API_KEY`        | API key   | Email finder                |
| RocketReach      | `ROCKETREACH_API_KEY`    | API key   | Contact lookup              |
| ZeroBounce       | `ZEROBOUNCE_API_KEY`     | API key   | Email verification          |

### Scraping and search

| Provider      | Env var name            | Auth type | Category                  |
| ------------- | ----------------------- | --------- | ------------------------- |
| Apify         | `APIFY_API_KEY`         | Bearer    | Web scraping platform     |
| BuiltWith     | `BUILTWITH_API_KEY`     | API key   | Technographic data        |
| Cloudflare    | `CLOUDFLARE_API_TOKEN`  | Bearer    | Web crawling              |
| Firecrawl     | `FIRECRAWL_API_KEY`     | Bearer    | Web scraping + extraction |
| Google Search | `GOOGLE_SEARCH_API_KEY` | API key   | Custom search API         |

### Outbound sequencing

| Provider  | Env var name        | Auth type | Category          |
| --------- | ------------------- | --------- | ----------------- |
| HeyReach  | `HEYREACH_API_KEY`  | API key   | LinkedIn outreach |
| Instantly | `INSTANTLY_API_KEY` | Bearer    | Email sequencing  |
| Lemlist   | `LEMLIST_API_KEY`   | Basic     | Email sequencing  |
| SmartLead | `SMARTLEAD_API_KEY` | API key   | Email sequencing  |

### CRM (OAuth)

These 3 providers use OAuth instead of API keys. Connect them through the Deepline dashboard.

| Provider   | Auth type | Connection method   |
| ---------- | --------- | ------------------- |
| Attio      | OAuth     | Dashboard one-click |
| HubSpot    | OAuth     | Dashboard one-click |
| Salesforce | OAuth     | Dashboard one-click |

### Internal

| Provider           | Env var name        | Auth type | Category                 |
| ------------------ | ------------------- | --------- | ------------------------ |
| Deepline Waterfall | `WATERFALL_API_KEY` | API key   | Multi-provider waterfall |

***

## How to connect a key

### Option 1: Dashboard (recommended)

```bash theme={null}
# BYOK keys are managed in the dashboard at https://code.deepline.com/dashboard/keys
```

Open the dashboard, pick the provider, paste your API key, and save. The key is encrypted at rest and scoped to your workspace. Repeat for each provider you want to connect. After saving, enrichment calls to that provider use your key automatically.

### Option 2: API

Set a key programmatically via the REST API:

```bash theme={null}
curl -X POST https://code.deepline.com/api/v2/keys \
  -H "Authorization: Bearer $DEEPLINE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "provider": "apollo",
    "apiKey": "your-apollo-api-key-here"
  }'
```

### Option 3: Environment variable

For local development or self-hosted deployments, set supported provider env vars directly. Apollo is excluded from env fallback; connect Apollo in the Deepline dashboard instead.

```bash theme={null}
export HUNTER_API_KEY="your-hunter-api-key-here"
```

The env var names match the table above exactly. When Deepline detects a provider env var, it uses that key automatically — no additional configuration needed.

### Connecting multiple providers

Connect as many providers as you need. Each key is stored independently. Add each provider in the dashboard at `https://code.deepline.com/dashboard/keys`:

* Apollo
* Hunter
* LeadMagic
* ZeroBounce

All 4 keys are now available for waterfall enrichment. When you run a `name_and_domain_to_email_waterfall`, Deepline queries each connected provider in sequence and returns the first verified hit.

***

## Mix and match: BYOK + managed credits

You do not have to choose one model for all providers. Deepline supports mixing BYOK and managed credits at the provider level within the same workspace.

**Example setup:**

| Provider         | Mode            | Why                               |
| ---------------- | --------------- | --------------------------------- |
| Apollo           | BYOK            | Already on an annual contract     |
| Crustdata        | BYOK            | Using their free tier for testing |
| Hunter           | Managed credits | No existing account, low volume   |
| People Data Labs | Managed credits | Evaluating before committing      |
| LeadMagic        | BYOK            | Negotiated bulk rate              |
| ZeroBounce       | Managed credits | Only need occasional verification |

This means a single waterfall enrichment can use your Apollo key for step 1, managed credits for Hunter in step 2, and your LeadMagic key for step 3. Deepline handles the routing transparently. You see which mode was used for each step in the enrichment response.

**Switching modes per provider is instant.** Connect a BYOK key and that provider switches from managed credits to your key on the next API call. For providers with platform-managed access, removing the key can fall back to managed credits. Apollo is customer-key-only, so removing the Apollo key disables Apollo calls until a personal key is reconnected.

### Cost comparison for a typical workflow

Consider a monthly workflow of 2,000 email enrichments using a 3-provider waterfall:

| Model                      | Platform fee | Enrichment cost                              | Total            |
| -------------------------- | ------------ | -------------------------------------------- | ---------------- |
| Full BYOK (3 keys)         | \$0/mo       | Provider rates only (\~\$80-\$200)           | \~\$80-\$200/mo  |
| Full managed credits       | \$0/mo       | \~\$180-\$360 at managed-credit volume rates | \~\$180-\$360/mo |
| Mixed (2 BYOK + 1 managed) | \$0/mo       | \~\$100-\$240                                | \~\$100-\$240/mo |
| Clay Explorer (comparable) | \$185/mo     | + Clay credits                               | \$185+/mo        |

The Deepline platform fee is \$0/month regardless of which mode you use. The difference between BYOK and managed credits is purely the per-enrichment cost — and whether you want the operational overhead of managing provider accounts directly.

***

## Key storage and security

Every API key stored through Deepline is:

* **Encrypted at rest** using AES-256 encryption
* **Scoped to your workspace** — keys are never shared across workspaces or tenants
* **Never logged** — keys are redacted from all application logs and error traces
* **Deletable on demand** — remove a key instantly via the dashboard at `https://code.deepline.com/dashboard/keys` or via API

Keys are stored in your workspace's dedicated database. They do not pass through shared infrastructure or caching layers. When Deepline makes a call to a provider using your key, the request goes directly from the Deepline execution engine to the provider API — there is no proxy that stores or inspects the key beyond the initial decryption.

***

## Frequently asked questions

<AccordionGroup>
  <Accordion title="What happens if my BYOK key hits a rate limit?">
    Deepline respects provider rate limits. If your Apollo key is rate-limited, the waterfall moves to the next provider in the chain (e.g., Hunter or LeadMagic). If all BYOK providers are exhausted, the enrichment returns a partial result with a clear status code. Deepline does not retry rate-limited requests automatically — it moves forward to avoid wasting your quota.
  </Accordion>

  <Accordion title="Can I use BYOK and managed credits for the same provider?">
    No. For a given provider, your workspace uses either your BYOK key or managed
    credits — not both simultaneously. If you connect a BYOK key for Apollo, all
    Apollo calls use your key. Removing the Apollo key disables Apollo calls until
    a personal key is reconnected; Deepline cannot provide platform-managed Apollo
    access. For other supported providers, removing your key can fall back to
    managed credits when platform-managed access is available. This prevents
    ambiguous billing where you cannot tell which key was charged.
  </Accordion>

  <Accordion title="Do I need BYOK keys for waterfall enrichment to work?">
    No. Waterfall enrichment works with managed credits, BYOK keys, or any
    combination. The waterfall engine is agnostic to how each provider is
    authenticated. If you have zero keys connected, managed credits handle
    everything. If you have 3 BYOK keys and 2 managed-credit providers, the
    waterfall uses all 5 in the configured priority order.
  </Accordion>

  <Accordion title="How do I know which providers my key was used for in an enrichment?">
    Every enrichment response includes a `provider_chain` array showing which providers were called, in what order, and which one returned the final result. For BYOK providers, the response shows `auth_mode: "byok"`. For managed credits, it shows `auth_mode: "managed"`. You can audit exactly where every credit or API call went.
  </Accordion>
</AccordionGroup>

***

## Related pages

<CardGroup cols={2}>
  <Card title="Quick Start" icon="rocket" href="/docs/quickstart">
    Install Deepline and run your first enrichment in 60 seconds.
  </Card>

  <Card title="Pricing Schedule" icon="receipt" href="/docs/_generated/pricing-schedule">
    Full per-endpoint pricing for managed credits across all providers.
  </Card>

  <Card title="API Reference" icon="code" href="/docs/api-reference">
    REST API documentation for keys, enrichment, and waterfall endpoints.
  </Card>

  <Card title="Waterfall Enrichment" icon="water" href="/docs/features/waterfall-enrichment">
    How multi-provider waterfall logic works under the hood.
  </Card>
</CardGroup>
