Skip to content

Latest commit

Β 

History

67 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

ENRICHR

ENRICHR

Enrich a leads CSV with firmographics, tech stack, and contact validation from pluggable providers, caching results to avoid duplicate API spend.

PyPI CI License: COCL 1.0 Suite

Part of the Cognis Neural Suite.

pip install cognis-enrichr
enrichr scan .            # β†’ prioritized findings in seconds

πŸ”Ž Example output

Real, reproducible output from the tool β€” runs offline:

$ enrichr-emit --version
enrichr 0.1.0
$ enrichr-emit --help
usage: enrichr [-h] [--version] [--format {table,json}] command ...

Enrich a leads CSV with firmographics from pluggable providers, with a local cache.

positional arguments:
  command
    enrich              enrich a leads CSV

options:
  -h, --help            show this help message and exit
  --version             show program's version number and exit
  --format {table,json}
                        output format (default: table; json for piping/CI)

examples:
  # Enrich a leads CSV with the offline heuristic provider, print a table
  enrichr enrich demos/01-basic/leads.csv

  # Use a known-firmographics dataset first, then fall back to heuristics
  enrichr enrich leads.csv --mapping crm.json --cache .enrichr_cache.json

  # JSON out for piping into jq / CI
  enrichr enrich leads.csv --format json | jq '.results[] | select(.status=="ok")'

  # Write enriched rows back to a CSV
  enrichr enrich leads.csv -o enriched.csv

exit codes:
  0  every lead was enriched (status == ok)
  1  one or more leads could not be enriched (use for CI gates)
  2  usage / input error

Blocks above are real enrichr output β€” reproduce them from a clone.

Sample result format (illustrative values β€” run on your own data for real findings):

{
"results": [
    {
        "id": "123456",
        "title": "Suspicious Activity Detected",
        "description": "An unknown actor has accessed our network.",
        "type": "indicator",
        "score": 0.8,
        "tags": ["malware", "ransomware"],
        "references": [
            {"href": "https://example.com/ threatintel"}
        ]
    }
]
}

Usage β€” step by step

  1. Install the CLI:

    pipx install "git+https://github.com/cognis-digital/enrichr.git"
  2. Enrich a leads CSV with firmographics β€” the primary command:

    enrichr enrich leads.csv
  3. Bring your own data and cache — provide a domain→firmographics mapping (tried before heuristics) and a JSON cache to avoid duplicate lookups:

    enrichr enrich leads.csv --mapping firmographics.json --cache cache.json -o enriched.csv
  4. Read the output β€” write enriched rows to a CSV, or emit JSON for piping; disable the offline heuristic provider if you only want mapped data:

    enrichr enrich leads.csv --format json > enriched.json
    enrichr enrich leads.csv --no-heuristic -o enriched.csv
  5. Automate in a pipeline β€” by default a partially-unenriched run exits non-zero so CI can catch coverage gaps:

    enrichr enrich leads.csv -o enriched.csv
    # non-zero exit => some leads could not be enriched

Contents

Why enrichr?

Provider-agnostic enrichment you self-host β€” swap Clearbit for a free source via config, and a local cache means CI reruns never re-bill you for the same record.

enrichr is single-purpose, scriptable, and self-hostable: point it at a target, get prioritized results in the format your workflow already speaks (table Β· JSON Β· SARIF), gate CI on it, and let agents drive it over MCP.

Features

  • βœ… Normalize Domain
  • βœ… Domain From Email
  • βœ… Is Free Email Domain
  • βœ… Company Size Bucket
  • βœ… Read Leads Csv
  • βœ… Write Results Csv
  • βœ… Enrich Leads
  • βœ… Runs on Linux/macOS/Windows Β· Docker Β· devcontainer
  • βœ… Ports in Python, JavaScript, Go, and Rust (ports/)

Quick start

pip install cognis-enrichr
enrichr --version
enrichr scan .                       # scan current project
enrichr scan . --format json         # machine-readable
enrichr scan . --fail-on high        # CI gate (non-zero exit)

Example

$ enrichr scan .
  [HIGH    ] ENR-001  example finding             (./src/app.py)
  [MEDIUM  ] ENR-002  another signal              (./config.yaml)

  2 findings Β· risk score 5 Β· 38ms

Architecture

flowchart LR
  IN[capture / scan] --> P[enrichr<br/>parse + map]
  P --> OUT[report]
Loading

Use it from any AI stack

enrichr is interoperable with every popular way of using AI:

  • MCP server β€” enrichr mcp (Claude Desktop, Cursor, Cognis.Studio, uncensored-fleet)
  • OpenAI-compatible / JSON β€” pipe enrichr scan . --format json into any agent or LLM
  • LangChain Β· CrewAI Β· AutoGen Β· LlamaIndex β€” wrap the CLI/JSON as a tool in one line
  • CI / scripts β€” exit codes + SARIF for non-AI pipelines

How it compares

Cognis enrichr Clearbit
Self-hostable, no account βœ… varies
Single command, zero config βœ… ⚠️
JSON + SARIF for CI βœ… varies
MCP-native (AI agents) βœ… ❌
Polyglot ports (JS/Go/Rust) βœ… ❌
Open license βœ… COCL varies

Built in the spirit of Clearbit/Apollo enrichment, with a Singer-style pluggable provider interface, re-framed the Cognis way. Missing a credit? Open a PR.

Integrations

Pipes into your stack: SARIF for code-scanning, JSON for anything, an MCP server (enrichr mcp) for AI agents, and a webhook forwarder for SIEM/Slack/Jira. See docs/INTEGRATIONS.md.

Install β€” every way, every platform

pip install "git+https://github.com/cognis-digital/enrichr.git"    # pip (works today)
pipx install "git+https://github.com/cognis-digital/enrichr.git"   # isolated CLI
uv tool install "git+https://github.com/cognis-digital/enrichr.git" # uv
pip install cognis-enrichr                                          # PyPI (when published)
docker run --rm ghcr.io/cognis-digital/enrichr:latest --help        # Docker
brew install cognis-digital/tap/enrichr                             # Homebrew tap
curl -fsSL https://raw.githubusercontent.com/cognis-digital/enrichr/main/install.sh | sh
Linux macOS Windows Docker Cloud
scripts/setup-linux.sh scripts/setup-macos.sh scripts/setup-windows.ps1 docker run ghcr.io/cognis-digital/enrichr DEPLOY.md (AWS/Azure/GCP/k8s)

Related Cognis tools

  • warmline β€” Score and rank inbound/outbound leads from a YAML rulebook, emitting a ranked queue as JSON/CSV for your SDRs and CI gates.
  • coldforge β€” Render personalized cold-outreach sequences from Markdown templates + a contacts CSV, with spam-score linting and per-send dry-run preview.
  • pactgen β€” Generate branded sales proposals and SOWs from a YAML scope file + pricing table into PDF/HTML, with a deterministic line-item math check.
  • crmsync β€” Bidirectional, idempotent sync of contacts/deals between a local SQLite source-of-truth and CRM APIs (HubSpot/Pipedrive/Salesforce) via one config.
  • dripcheck β€” Lint email sequences and drip campaigns for deliverability: SPF/DKIM/DMARC, link health, unsubscribe presence, and CAN-SPAM/GDPR compliance.
  • dealflow β€” Model your sales pipeline as a YAML state machine and compute conversion rates, stage velocity, and weighted forecast straight from CRM exports.

Explore the suite β†’ πŸ—‚οΈ all 170+ tools Β· ⭐ awesome-cognis Β· πŸ”— cognis-sources Β· πŸ€– uncensored-fleet Β· 🧠 engram

Contributing

PRs, new rules, and demo scenarios are welcome under the collaboration-pull model β€” see CONTRIBUTING.md and SECURITY.md.

⭐ If enrichr saved you time, star it β€” it genuinely helps others find it.

Interoperability

{} composes with the 300+ tool Cognis suite β€” JSON in/out and a shared OpenAI-compatible /v1 backbone. See INTEROP.md for the suite map, composition patterns, and reference stacks.

License

Source-available under the Cognis Open Collaboration License (COCL) v1.0 β€” free for personal, internal-evaluation, research, and educational use; commercial / production use requires a license (licensing@cognis.digital). See LICENSE.


Cognis Digital Β· one of 170+ tools in the Cognis Neural Suite Β· Making Tomorrow Better Today

About

Enrich a leads CSV with firmographics, tech stack, and contact validation from pluggable providers, caching results to avoid duplicate API spend.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages