API-first enrichment & signals

Build enrichment into your product with a simple, fast API.

Start with a domain, email, LinkedIn URL, or SIREN/SIRET. We cascade lookups across sources. Get firmographics, financials, tech stack, traffic + keywords, verified emails, and job-change intel as clean JSON. Fast.

No credit card REST + JSON Signals included
Example request
GET /api/ingress/v4/full
v4
curl
curl "https://gateway.enrich-crm.com/api/ingress/v4/full?domain=acme.com"
Latency
~2s
Auth
API key
GDPR-friendly Browse endpoints
Inputs → outputs

Signals with full context.

Inputs

Start with whatever you already have.

We use every input. We cascade lookups. We cross‑check matches.

Company identifiers
Domain Company LinkedIn Sales Navigator Company name SIREN / SIRET
Contact identifiers
Contact LinkedIn URL Personal email Work email First name + last name Full name + company
Match quality
More inputs = better matches. We cascade lookups and cross‑check identifiers.
What we do with them
Real‑time web research
Search the web
Run real‑time lookups from each input.
Navigate sources
Open pages. Extract signals. Collect evidence.
Resolve
Cross‑check identities. Resolve conflicts. Validate matches.
Enrich
Return standardized, fresh fields in your tools.
More inputs = more searches = better results.
Outputs

Get intent‑ready fields in your tools.

Enrich Contact
Full profile: role, seniority, years in role, skills, job-change status.
Reverse Email
Identify a person from an email. Enrich the profile when possible.
Find Email
Find and verify work emails (SMTP). Activate outbound fast.
Company Firmographic
Industry, headcount, HQ, locations, description.
Company Financial Data
Funding, investors, stage, signals (when available).
French SIRENE Data
Official registry fields: SIREN/SIRET, NAF, VAT, legal address.
Website Tech Stack
Categorized tech: analytics, widgets, eCommerce tiers, hosting.
Monthly Website Traffic
Visits, sources, top keywords. Spot momentum.
Homepage Content
Extract homepage text. Improve messaging and personalization.
Combine blocks into plays: Enterprise, New Boss, Switch intent.

Quick start in 3 steps.

Integrate in minutes.

1

Get Your API Key

Create an account. Copy your API key from the dashboard.

API_KEY = "ec_xxxxxxxxxxxxxxxx"

2

Make Your First Request

Call the enrichment endpoint with a domain or company name.

GET /api/ingress/v4/full

3

Integrate in Your App

Use the response to enrich your app or CRM.

JSON Response → CRM Update

API endpoints.

Discover endpoints to enrich data and detect opportunities.

GET

Full Enrichment

Recommended
https://gateway.enrich-crm.com/api/ingress/v4/full

Main endpoint. Returns firmographics, contacts, technologies, and intent signals.

Parameters

  • domain - Company domain
  • company_name - Company name
  • api_key - Your API key

Returned Data

  • • Company information
  • • Contacts and emails
  • • Technologies used
  • • Intent signals
  • • Funding data

Example Request

curl -X GET "https://gateway.enrich-crm.com/api/ingress/v4/full" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "domain": "example.com"
  }'
GET

Email Finder

New
https://gateway.enrich-crm.com/api/ingress/v8/findEmail

Find email addresses of company contacts with 98% accuracy. Perfect for prospecting campaigns.

Parameters

  • domain - Company domain
  • first_name - Contact first name
  • last_name - Contact last name
  • api_key - Your API key

Returned Data

  • • Primary email
  • • Alternative emails
  • • Confidence score
  • • Delivery status
  • • Contact information

Example Request

curl -X GET "https://gateway.enrich-crm.com/api/ingress/v8/findEmail" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "domain": "example.com",
    "first_name": "John",
    "last_name": "Doe"
  }'

Code examples by language.

Easily integrate Enrich-CRM into your tech stack

JavaScript / Node.js

const axios = require('axios');

const enrichCompany = async (domain) => {
  try {
    const response = await axios.get(
      'https://gateway.enrich-crm.com/api/ingress/v4/full',
      {
        headers: {
          'Authorization': `Bearer ${process.env.ENRICH_CRM_API_KEY}`,
          'Content-Type': 'application/json'
        },
        params: { domain }
      }
    );
    
    return response.data;
  } catch (error) {
    console.error('API Error:', error.response?.data);
    throw error;
  }
};

// Usage
enrichCompany('example.com')
  .then(data => console.log(data))
  .catch(err => console.error(err));

Python

import requests
import os

def enrich_company(domain):
    url = "https://gateway.enrich-crm.com/api/ingress/v4/full"
    headers = {
        "Authorization": f"Bearer {os.getenv('ENRICH_CRM_API_KEY')}",
        "Content-Type": "application/json"
    }
    params = {"domain": domain}
    
    try:
        response = requests.get(url, headers=headers, params=params)
        response.raise_for_status()
        return response.json()
    except requests.exceptions.RequestException as e:
        print(f"API Error: {e}")
        raise

# Usage
try:
    data = enrich_company("example.com")
    print(data)
except Exception as e:
    print(f"Error: {e}")

PHP

<?php

function enrichCompany($domain) {
    $url = "https://gateway.enrich-crm.com/api/ingress/v4/full";
    $apiKey = getenv('ENRICH_CRM_API_KEY');
    
    $headers = [
        "Authorization: Bearer " . $apiKey,
        "Content-Type: application/json"
    ];
    
    $params = http_build_query(['domain' => $domain]);
    $fullUrl = $url . '?' . $params;
    
    $context = stream_context_create([
        'http' => [
            'method' => 'GET',
            'header' => implode("\r\n", $headers)
        ]
    ]);
    
    $response = file_get_contents($fullUrl, false, $context);
    
    if ($response === false) {
        throw new Exception("Error making API request");
    }
    
    return json_decode($response, true);
}

// Usage
try {
    $data = enrichCompany("example.com");
    print_r($data);
} catch (Exception $e) {
    echo "Error: " . $e->getMessage();
}
?>

Ruby

require 'net/http'
require 'json'
require 'uri'

def enrich_company(domain)
  url = URI("https://gateway.enrich-crm.com/api/ingress/v4/full")
  url.query = URI.encode_www_form({ domain: domain })
  
  http = Net::HTTP.new(url.host, url.port)
  http.use_ssl = true
  
  request = Net::HTTP::Get.new(url)
  request["Authorization"] = "Bearer #{ENV['ENRICH_CRM_API_KEY']}"
  request["Content-Type"] = "application/json"
  
  response = http.request(request)
  
  if response.code == "200"
    JSON.parse(response.body)
  else
    raise "API Error: #{response.code} - #{response.body}"
  end
end

# Usage
begin
  data = enrich_company("example.com")
  puts data
rescue => e
  puts "Error: #{e.message}"
end

API response examples.

Discover the structure of data returned by our endpoints

Full Enrichment Response

{
  "success": true,
  "data": {
    "company": {
      "name": "Example Corp",
      "domain": "example.com",
      "website": "https://example.com",
      "industry": "Technology",
      "employee_count": 250,
      "revenue": "$10M-$50M",
      "founded_year": 2015,
      "headquarters": {
        "city": "San Francisco",
        "state": "CA",
        "country": "United States"
      }
    },
    "contacts": [
      {
        "first_name": "John",
        "last_name": "Doe",
        "email": "john.doe@example.com",
        "title": "CEO",
        "linkedin": "https://linkedin.com/in/johndoe"
      }
    ],
    "technologies": [
      "Salesforce",
      "HubSpot",
      "Slack"
    ],
    "intent_signals": [
      {
        "type": "funding_round",
        "value": "$15M Series B",
        "detected_at": "2024-01-15T10:30:00Z"
      }
    ]
  }
}

Email Finder Response

{
  "success": true,
  "data": {
    "email": "john.doe@example.com",
    "confidence_score": 98,
    "deliverability": "high",
    "alternatives": [
      "j.doe@example.com",
      "john@example.com"
    ],
    "contact_info": {
      "first_name": "John",
      "last_name": "Doe",
      "title": "CEO",
      "company": "Example Corp"
    },
    "verification": {
      "status": "verified",
      "last_checked": "2024-01-15T10:30:00Z"
    }
  }
}

Pricing and limits

Transparent pricing and generous limits for all projects.

Starter

Free

To test the API.

  • 100 requests/month
  • Core endpoints
  • Email support
  • Full documentation

Growth

$99/mo

For growing teams.

  • 10,000 requests/month
  • All endpoints
  • Priority support
  • Webhooks

Enterprise

Custom

For large companies.

  • Unlimited requests
  • Dedicated support
  • SLA guarantee
  • Custom integrations
Testimonials

Real quotes from revenue teams.

A few examples of what customers report after activating enrichment and signals.

Coverage

"Most complete and up-to-date data provider we've found — enriched 150k records and transformed our TAM understanding."

Tom Halimi
Tom Halimi
Growth Team
Job changes

"In our business, decision makers usually change company every 2 years. Enrich-CRM generated €300,000 in new pipeline from job change alerts."

Ben Cauchois
Ben Cauchois
Sales Director
Introductions

"Breaking into large accounts is very complex. Enrich-CRM helped us identify connections and get introductions with the right stakeholders."

Hugues Peuchot
Hugues Peuchot
Co-founder @ Skillup
HubSpot

"My best find for enrichment so far. Replaces HubSpot Insight for free and does a better job than competitors in coverage and granularity."

Peter Cools
Peter Cools
Marketing Lead
Job changes

"In our activity, the nomination of a new top or middle manager is the signal of a buying window. Enrich CRM is responsible for 17% of our first deals."

Henri de Lorgeril
Henri de Lorgeril
CEO @ Avizio
Setup

"I recommend this solution. Enrich CRM is working very well for us — it's simple to integrate and pretty accurate."

Pierre Fertout
Pierre Fertout
Operations Manager

Excerpts adapted from user reviews (2025).

Ready to Integrate Enrich-CRM?

Start free. Build your app.

Free • 100 requests/month • No credit card

Complete documentation
Available SDKs
Technical support
200+ active installsReviews on G2250+ teams · EU servers · GDPR compliant
”I recommend this solution. Enrich CRM is working very well for us — it’s simple to integrate and pretty accurate.”
— Pierre Fertout, Operations Manager

Frequently asked questions

What is the Enrich-CRM API?
The Enrich-CRM REST API provides programmatic access to all 10 enrichment actions: Company Enrichment (250+ datapoints), Contact Enrichment (50+ datapoints), Email Finder (verified professional email), Phone Finder (direct line), Job Change Detection, Intent Signals, Tech Stack Detection (150+ technologies), SIREN/SIRET Lookup (French legal data), LinkedIn URL Finder, and Bulk Enrichment. All endpoints accept JSON POST requests and return structured JSON responses.
How do I authenticate to the Enrich-CRM API?
The API uses Bearer token authentication. Include your API key in the Authorization header of every request: Authorization: Bearer YOUR_API_KEY. Your API key is available in your Enrich-CRM dashboard. The Growth plan (€29/month) and above include API access — the free plan does not include API access.
What are the API rate limits and response times?
Rate limits by plan: Growth (€29/month) — 100 requests/minute; CRM Connector (€75/month) — 300 requests/minute. Average API response time is under 3 seconds for single-record lookups. Bulk enrichment endpoints process asynchronously with webhook callbacks. All responses follow standard HTTP status codes (200 success, 401 unauthorized, 429 rate limit, 404 no match).
What programming languages work with the Enrich-CRM API?
The API is language-agnostic — any language that can make HTTPS POST requests works: Python, JavaScript/Node.js, PHP, Ruby, Java, Go, C#, cURL, etc. The API follows REST conventions with consistent JSON field names across all endpoints. Full documentation with code examples in multiple languages is available at enrich-crm.com/en/api.

We use cookies

We use essential cookies for the site to work, and optional analytics cookies to improve your experience. See our Cookie Policy.

Cookie preferences

Choose which cookies you allow. Your preference is stored for 6 months and can be changed at any time. Read our Cookie Policy for full details.

Essential cookies

Always active

Required for the site to function. Cannot be disabled. Includes session cookies, consent storage, and routing cookies (Cloudflare).

intercom-id-* intercom-sessions-* cookieconsent_status cfmrk_cic

Analytics cookies

Help us improve the site

Used to measure traffic and understand how visitors use the site (Google Analytics, Hotjar, Segment, HubSpot). No advertising use.

_ga _gid _hjid ajs_anonymous_id __hstc hubspotutk _gac_*