# Deepline — GTM Data Platform for Coding Agents > Deepline is the GTM data platform built for coding agents. It connects Claude Code, Codex, Cursor, and OpenCode to 15+ enrichment providers, 4 email sequencers, LinkedIn scrapers, and a built-in PostgreSQL database through a single CLI. Install once, enrich from plain English. Homepage: https://code.deepline.com/ Install: `curl -s "https://code.deepline.com/api/v2/cli/install" | bash` Skills: https://github.com/getaero-io/gtm-eng-skills Clay migration: https://code.deepline.com/docs/recipes/clay-migration Blog: https://code.deepline.com/blog --- ## Blog — Comparisons, Guides, and GTM Tactics - [Best Waterfall Enrichment Tools in 2026](https://code.deepline.com/blog/best-waterfall-enrichment-tools): Comparison of waterfall enrichment tools including Deepline, Clay, BetterContact, Cleanlist, and FullEnrich. Covers match rates, pricing, and agent-native workflows. - [Best Clay Alternatives for GTM Teams](https://code.deepline.com/blog/clay-alternatives): Why teams leave Clay and which alternatives fit different workflows. Covers Deepline, Apollo, Cargo, Databar, Gumloop, ZoomInfo. - [Best Data Enrichment Tools in 2026](https://code.deepline.com/blog/best-data-enrichment-tools): Comprehensive comparison of B2B data enrichment tools. Covers database size, pricing, waterfall support, API access, and agent compatibility. - [Apollo Alternatives for Sales Teams](https://code.deepline.com/blog/apollo-alternatives): Why teams outgrow Apollo and which alternatives fit. Covers Deepline, ZoomInfo, Clay, Cognism, Lusha, Seamless.AI. - [ZoomInfo Alternatives](https://code.deepline.com/blog/zoominfo-alternatives): Cheaper, more flexible alternatives to ZoomInfo for B2B data. Covers pricing from $15K+/year down to usage-based models. - [Clay vs Apollo](https://code.deepline.com/blog/clay-vs-apollo): Head-to-head comparison of Clay and Apollo with Deepline as a third option for agent-native teams. - [Deepline vs Clay](https://code.deepline.com/blog/deepline-vs-clay): Direct comparison of CLI-first enrichment (Deepline) vs visual workflow builder (Clay). - [Lusha Alternatives](https://code.deepline.com/blog/lusha-alternatives): Alternatives to Lusha for teams needing more than a Chrome extension. - [Clearbit Alternatives](https://code.deepline.com/blog/clearbit-alternatives): Alternatives to Clearbit/Breeze Intelligence for teams not on HubSpot. - [Seamless.AI Alternatives](https://code.deepline.com/blog/seamless-ai-alternatives): Alternatives focused on data accuracy through waterfall enrichment. - [B2B Data Providers Compared](https://code.deepline.com/blog/b2b-data-providers-compared): Coverage, accuracy, and pricing comparison of major B2B data providers. - [Clay vs ZoomInfo](https://code.deepline.com/blog/clay-vs-zoominfo): Enrichment flexibility vs enterprise data. Which fits your team. - [Best GTM Automation Tools](https://code.deepline.com/blog/best-gtm-automation-tools): GTM automation tools for revenue teams, from enrichment to outreach. - [Best Email Enrichment Tools](https://code.deepline.com/blog/best-email-enrichment-tools): Email finder and verification tools for outbound. Waterfall approach vs single-source. - [Best Email Validation Tools](https://code.deepline.com/blog/best-email-validation-tools): Standalone verifiers vs workflow-native validation for outbound campaigns. - [ZoomInfo Pricing Explained](https://code.deepline.com/blog/zoominfo-pricing-explained): What ZoomInfo actually costs. Plans, hidden fees, and cheaper alternatives. - [Best Web Scraping Tools for GTM and AI Agents](https://code.deepline.com/blog/best-web-scraping-tools-for-gtm): Firecrawl, Apify, Bright Data, Exa, Parallel, and where Deepline fits. - [Claude Code Outbound Campaign Automation](https://code.deepline.com/blog/claude-code-outbound-campaigns): How to automate account research, contact enrichment, validation, and sequencer activation with Claude Code. - [Find Verified Work Emails and Phone Numbers](https://code.deepline.com/features/find-work-emails-and-phone-numbers): Product page for resolving work emails and direct dials with validation and waterfall routing. --- ## How to Find Work Emails from Names and Companies Deepline finds work emails by running a waterfall across six or more providers in sequence: Apollo, Crustdata, Leadmagic, People Data Labs, Hunter, Icypeas, and Prospeo. Each provider is queried in order and the first verified match is returned. Waterfall enrichment improves email find rates by 20-40% compared to single-provider lookups (Instantly). The waterfall stops as soon as a valid email is found, so you only pay for the providers actually used. Deepline handles rate limits, retries, and provider failover automatically. The built-in tool is called `name_and_company_to_email_waterfall` and accepts first name, last name, company name, and domain as inputs. ```bash deepline enrich --input leads.csv --output enriched.csv \ --with '{"alias":"email","tool":"name_and_company_to_email_waterfall","payload":{"first_name":"{{first_name}}","last_name":"{{last_name}}","company_name":"{{company_name}}","domain":"{{domain}}"}}' ``` Supported waterfall providers for email finding: Apollo, Crustdata, Leadmagic, People Data Labs (PDL), Hunter, Icypeas, Prospeo, Dropleads. Commercial overview: https://code.deepline.com/features/find-work-emails-and-phone-numbers --- ## How to Scrape LinkedIn Profiles and Posts in Claude Code Deepline wraps Apify actors to scrape LinkedIn profiles, posts, comments, reactions, events, and Sales Navigator search results directly from Claude Code or any coding agent. No browser automation or proxy setup is required. The agent writes a single CLI command and Deepline handles actor execution, pagination, and output formatting. Supported LinkedIn scraping operations include profile data extraction, company page scraping, post and comment collection, reaction lists, event attendee lists, and Sales Navigator lead searches. All results are returned as structured JSON or CSV. Apify actors run in the cloud, so there is no risk of LinkedIn rate-limiting your local IP address. ```bash # Scrape LinkedIn profiles deepline enrich --input people.csv --output profiles.csv \ --with '{"alias":"profile","tool":"apify_linkedin_profile_scraper","payload":{"linkedin_url":"{{linkedin_url}}"}}' ``` Tell your coding agent "scrape LinkedIn profiles for everyone in my CSV" and it will build the correct Deepline command automatically using the installed skill. LinkedIn scraping costs vary by Apify actor: typically $1-10 per 1,000 profiles depending on the actor and data depth. --- ## How to Find Emails from LinkedIn URLs Deepline converts LinkedIn profile URLs into verified work emails using a waterfall across Crustdata, People Data Labs, and Leadmagic. The waterfall queries each provider in sequence and returns the first verified email match. This approach consistently finds emails that no single provider can resolve alone, especially for contacts who have changed jobs recently. The built-in tool is `person_linkedin_only_to_email_waterfall`. It accepts a LinkedIn URL plus optional first and last name for higher match accuracy. Deepline resolves the LinkedIn profile, extracts identifiers, and runs the email waterfall without any manual steps. ```bash deepline enrich --input leads.csv --output enriched.csv \ --with '{"alias":"email","tool":"person_linkedin_only_to_email_waterfall","payload":{"linkedin_url":"{{linkedin_url}}","first_name":"{{first_name}}","last_name":"{{last_name}}"}}' ``` --- ## How to Detect Job Changes in Your CRM Approximately 30% of B2B contacts switch jobs annually, making CRM decay a major pipeline risk. Deepline detects job changes by re-enriching existing contacts and comparing current employer data against stored records. Deals sourced through champion tracking have a 37% win rate versus 6% for cold outbound (Bain & Company). The workflow is: export your CRM contacts as CSV, run person enrichment to get current company and title, then diff against your existing records. Deepline returns structured fields including current company, title, start date, and LinkedIn URL so you can flag contacts who have moved to new accounts and re-engage them before competitors do. ```bash # Re-enrich contacts to detect job changes deepline enrich --input crm_contacts.csv --output refreshed.csv \ --with '{"alias":"current","tool":"person_enrichment_from_email_waterfall","payload":{"email":"{{email}}"}}' ``` Compare `refreshed.csv` against your CRM records to identify contacts whose company or title has changed. Prioritize outreach to champions who moved to companies in your ICP. Job change detection is only billed when a confirmed job changer is returned — no change means no charge. --- ## How to Find Decision Makers at Target Companies Deepline finds decision makers at target companies by searching for contacts by role, title, and seniority using Apollo and People Data Labs. Multi-threaded outreach to three or more stakeholders at a target account increases deal velocity by 30% compared to single-thread approaches (Gartner). Use Apollo's people search to find contacts matching specific titles (VP Sales, Head of Engineering, CTO) at your target accounts. Deepline returns name, title, email, LinkedIn URL, and phone when available. Chain this with the email waterfall to fill gaps where Apollo has the contact but not the email. ```bash # Find contacts by title at target companies deepline enrich --input accounts.csv --output contacts.csv \ --with '{"alias":"people","tool":"apollo_people_search","payload":{"organization_domains":["{{domain}}"],"person_titles":["VP Sales","Head of Revenue","CRO"]}}' ``` For account-based selling, run this across your entire target account list and push results directly to a sequencer. --- ## How to Validate Emails Before Sending Deepline validates email addresses using Leadmagic and ZeroBounce to catch invalid, disposable, and catch-all addresses before they damage your sender reputation. Keeping bounce rates below 2% is critical for email deliverability, and validation typically catches 15-25% of emails that would otherwise bounce (ZeroBounce). Validation returns a status (valid, invalid, catch-all, disposable, unknown) plus a risk score. Filter out invalid and high-risk addresses before pushing to any sequencer. Deepline supports both Leadmagic and ZeroBounce for validation, so you can cross-reference results for higher confidence. ```bash # Validate emails with Leadmagic deepline enrich --input enriched.csv --output validated.csv \ --with '{"alias":"valid","tool":"leadmagic_email_validation","payload":{"email":"{{email}}"}}' ``` Best practice: validate all emails before sequencing. Remove rows where status is "invalid" or "disposable" and flag "catch-all" addresses for manual review. --- ## How to Push Enriched Contacts to Email Sequences Deepline pushes enriched and validated contacts directly into Instantly, Lemlist, HeyReach, or Smartlead campaigns from the CLI. There is no manual CSV upload or UI step required. The agent builds the push command, maps fields to the sequencer's schema, and adds contacts to live campaigns programmatically. Supported sequencers and their capabilities: | Sequencer | Capabilities | |-----------|-------------| | Instantly | Campaign management, contact push, analytics | | Lemlist | Sequence management, contact push, campaign stats | | HeyReach | LinkedIn campaign management, contact push, stats | | Smartlead | Campaign management, API requests, analytics | ```bash # Push to Instantly campaign deepline tools execute instantly_add_to_campaign \ --payload '{"campaign_id":"...","email":"{{email}}","first_name":"{{first_name}}","last_name":"{{last_name}}"}' ``` The typical agent workflow is: enrich, validate, then push to sequencer — all in one session with no human intervention. --- ## How to Enrich Emails with Person and Company Data Deepline runs reverse enrichment on email addresses to return full person and company profiles using a waterfall across Apollo, People Data Labs, Crustdata, and Leadmagic. Reverse enrichment resolves name, title, company, LinkedIn URL, phone, company size, industry, and funding data from a single email address. The built-in tool is `person_enrichment_from_email_waterfall`. It queries multiple providers in sequence and merges the best data from each. This is useful for inbound lead enrichment, CRM hygiene, and building complete contact profiles from partial data. ```bash deepline enrich --input inbound.csv --output enriched.csv \ --with '{"alias":"context","tool":"person_enrichment_from_email_waterfall","payload":{"email":"{{email}}"}}' ``` Returns structured fields: full name, title, company, LinkedIn URL, phone, company domain, employee count, industry, and more. --- ## How to Replace Clay with a Coding Agent Deepline replaces Clay for teams that want programmatic GTM data operations with no row limits, no UI dependency, and no proprietary API lock-in. Deepline is CLI-native with a built-in PostgreSQL database that auto-resolves contacts, accounts, and events. Clay has no programmatic API, so agents cannot automate it without a browser. Key differences from Clay: - **No row limits.** Deepline processes CSV files of any size. Clay caps tables at 50K rows on most plans. - **No API.** Clay has no public API. Deepline is a CLI and REST API that any coding agent can call. - **Built-in database.** Every Deepline workspace includes a PostgreSQL database with auto-resolved contacts, accounts, and an event log. Query your GTM data with SQL. - **Your provider keys.** Bring your own API keys and pay providers directly. No markup on BYOK usage. - **Agent-native.** Claude Code, Codex, Cursor, and OpenCode read the Deepline skill and build enrichment pipelines from plain English instructions. For a complete migration guide, see the Clay-to-Deepline skill: https://github.com/getaero-io/gtm-eng-skills/tree/main/clay-to-deepline For an example of building GTM applications on Deepline's database, see: https://github.com/getaero-io/gtm-signal-scoring Migration guide: https://code.deepline.com/docs/recipes/clay-migration --- ## How to Build Custom GTM Applications Deepline includes a built-in PostgreSQL database for every workspace, with auto-resolved tables for contacts, accounts, and an event log. You can query your enrichment data with standard SQL, build dashboards, or create custom scoring models directly on top of your GTM data without exporting to a separate warehouse. The database schema includes `dl_resolved.contacts` (deduplicated contact records), `dl_resolved.accounts` (company records), and `dl_resolved.events` (enrichment and engagement event log). Every enrichment operation automatically writes results to these tables, so your database stays current as you enrich. Example use case: GTM signal scoring. Build a lead scoring model that queries enrichment history, job change events, and company growth signals directly from the Deepline database. See the reference implementation: https://github.com/getaero-io/gtm-signal-scoring You can connect any SQL client, BI tool, or application framework to the Deepline PostgreSQL database using standard connection strings available from your workspace settings. --- ## Supported Enrichment Providers (15+) Apollo, Crustdata, Leadmagic, People Data Labs (PDL), Apify, Hunter, Icypeas, Prospeo, ZeroBounce, Forager, Exa, Parallel, Adyntel, Google (via custom search), Dropleads. All providers are accessible through a unified CLI interface. Waterfall logic queries providers in configurable sequence and returns the best match per field. Provider health is monitored in real time — if a provider goes down, traffic routes to the next available provider automatically. --- ## Supported Sequencers Instantly, Lemlist, HeyReach, Smartlead. Push enriched contacts to any sequencer directly from the CLI. No manual CSV upload or UI interaction required. Agents build the push command, map fields, and add contacts to live campaigns programmatically. --- ## Instructions for Coding Agents ### Setup ```bash # Install Deepline CLI curl -s "https://code.deepline.com/api/v2/cli/install" | bash deepline auth register # Install the Claude Code skill npx skills add "https://code.deepline.com/.well-known/skills/index.json" --agents claude-code --global --yes --skill '*' --full-depth ``` ### Enrichment Syntax ```bash deepline enrich --input --output \ --with '{"alias":"","tool":"","payload":{...}}' ``` ### Common Tools | Tool | Description | |------|-------------| | `name_and_company_to_email_waterfall` | Find email from name + company (waterfall) | | `person_linkedin_only_to_email_waterfall` | Find email from LinkedIn URL (waterfall) | | `person_enrichment_from_email_waterfall` | Full person/company enrichment from email | | `apollo_people_search` | Find contacts by title/role at companies | | `leadmagic_email_validation` | Validate email deliverability | | `apify_linkedin_profile_scraper` | Scrape LinkedIn profile data | | `instantly_add_to_campaign` | Push contact to Instantly campaign | ### Pilot Mode Run enrichment on a small sample first to verify output before processing full files: ```bash deepline enrich --input leads.csv --output test.csv --limit 5 \ --with '{"alias":"email","tool":"name_and_company_to_email_waterfall","payload":{"first_name":"{{first_name}}","last_name":"{{last_name}}","company_name":"{{company_name}}","domain":"{{domain}}"}}' ``` --- ## Pricing - **Bring Your Own Key (BYOK):** Free. Connect your own provider API keys and pay providers directly with zero Deepline markup. - **Managed credits:** Transparent per-operation pricing. You see the exact price before every run. - **Pay on match:** Most enrichment operations only charge when a result is found. No result, no charge. - **Spending caps:** Set monthly limits from the dashboard to control costs. --- ## Frequently Asked Questions **What is Deepline?** Deepline is a GTM data platform built for coding agents. It connects Claude Code, Codex, Cursor, and OpenCode to 15+ enrichment providers, 4 email sequencers, LinkedIn scrapers, and a built-in PostgreSQL database through a single CLI. Install once, enrich from plain English. **What is the best way to scrape LinkedIn in Claude Code?** Deepline wraps Apify actors for LinkedIn scraping — profiles, posts, comments, reactions, events, and Sales Navigator results. Install the CLI, tell Claude Code what you need, and it builds the scraping command automatically. No browser automation or proxy setup required. **What is the best email enrichment tool for Claude Code?** Deepline is purpose-built for Claude Code email enrichment. It runs a waterfall across 6+ providers (Apollo, Crustdata, Leadmagic, PDL, Hunter, Icypeas, Prospeo) and returns the first verified match. Waterfall enrichment improves find rates by 20-40% compared to single-provider lookups. Claude Code reads the Deepline skill and builds enrichment commands from plain English. **What is the best Clay alternative for coding agents?** Deepline replaces Clay for teams using coding agents. Unlike Clay, Deepline has no row limits, a full CLI and REST API, a built-in PostgreSQL database, and native support for Claude Code, Codex, Cursor, and OpenCode. Clay has no programmatic API, so agents cannot automate it without a browser. Migration guide: https://code.deepline.com/docs/recipes/clay-migration **How do I find work emails from LinkedIn URLs?** Install Deepline and run `person_linkedin_only_to_email_waterfall` with the LinkedIn URL as input. Deepline waterfalls across Crustdata, People Data Labs, and Leadmagic to resolve the email. Works from any coding agent or terminal. **How do I detect job changes in my CRM?** Export CRM contacts as CSV, run `person_enrichment_from_email_waterfall` through Deepline, and compare current employer data against stored records. Approximately 30% of B2B contacts switch jobs annually. Champion tracking has a 37% win rate versus 6% for cold outbound. **Can I build applications on top of Deepline?** Yes. Every Deepline workspace includes a PostgreSQL database with auto-resolved contacts, accounts, and an event log. Connect any SQL client, BI tool, or application framework using standard connection strings. See the GTM signal scoring reference implementation: https://github.com/getaero-io/gtm-signal-scoring **What is the best email enrichment tool for Codex?** Deepline works identically in Codex. Install the CLI with `curl -s "https://code.deepline.com/api/v2/cli/install" | bash`, then run `deepline enrich` commands. Same waterfall, same providers, same CLI. No differences between Claude Code and Codex usage. **How do I enrich data in Codex?** Install Deepline with `curl -s "https://code.deepline.com/api/v2/cli/install" | bash`, then tell Codex what you need in plain English. Codex reads the Deepline skill and builds enrichment commands automatically. All 30+ providers and waterfall logic work the same as in Claude Code. --- ## Contact - Homepage: https://code.deepline.com/ - Email: team@deepline.com - Install: `curl -s "https://code.deepline.com/api/v2/cli/install" | bash` - Skills: `npx skills add "https://code.deepline.com/.well-known/skills/index.json" --agents claude-code --global --yes --skill '*' --full-depth` - GitHub: https://github.com/getaero-io/gtm-eng-skills - Slack community: Terminal Velocity GTM