Set Up Your API Keys

Connect your own OpenAI, Serper, and Reoon API keys. Your keys stay on your device - they never reach DataMint servers.

DataMint’s AI features - enrichment, smart-rename, and the support chat - run on your own model, not ours. This page covers everything inside the AI & App Settings panel: the LLM provider (BYOK), the optional External Data APIs, and how your keys are stored.

Bring Your Own Key (BYOK): DataMint never sees, stores, or proxies your API keys on its servers. Keys live in your browser’s local storage and go straight from your device to the provider you choose.

LLM Provider (BYOK)

Open the side panel → header → AI-chip icon“AI & App Settings”. The provider card controls four fields: Provider, Base URL, Model ID, and API Key. Every field auto-saves on each keystroke - there is no Save button.

Which providers can I use?

The dropdown shows three entries, but in practice you can use any OpenAI-compatible provider by selecting Custom and pasting its Base URL.

ProviderBase URLAPI key?Cloud / LocalHow to select
OpenAIhttps://api.openai.com/v1YesCloudDirect from dropdown
Custom (any OpenAI-compatible)(you provide)YesBothDirect from dropdown
Groqhttps://api.groq.com/openai/v1YesCloudCustom + paste Base URL
OpenRouterhttps://openrouter.ai/api/v1YesCloudCustom + paste Base URL
Ollamahttp://localhost:11434/v1NoLocalCustom + paste Base URL (dropdown entry disabled)
LM Studiohttp://localhost:1234/v1NoLocalCustom + paste Base URL

The dropdown lists OpenAI, Custom, and Ollama (disabled / “soon”). Everything else - Groq, OpenRouter, LM Studio, etc. - is reached through Custom + Base URL. The backend recognises provider IDs and falls back gracefully.

Base URL rules

  • The backend automatically appends /chat/completions if your Base URL doesn’t already end with it. So both https://api.groq.com/openai/v1 and …/v1/chat/completions work.
  • Custom + empty Base URL throws a clear error: “Custom LLM provider requires a Base URL…”

Model ID

  • Free-text Model ID field. Defaults: OpenAI → gpt-4o-mini, Custom → empty, Ollama → llama3.
  • ⚠️ Important: an empty Model ID silently falls back to gpt-4o-mini, which fails on non-OpenAI providers. Always enter the correct model ID (e.g. llama3 for Ollama, mixtral-8x7b for OpenRouter, etc.).

Local providers (Ollama, LM Studio)

  • Local providers have needsApiKey: false → the key field is hidden, and switching to them clears any existing key.
  • ⚠️ The Test Connection button still expects a key, so it currently cannot verify no-key local providers. If you’re on Ollama/LM Studio, just run any enrichment to confirm it works.

External Data APIs

Two optional third-party APIs that supercharge enrichment. Both are routed through your local backend (never straight from the browser to the vendor), and both are stored in chrome.storage.local["settings"].

Serper (Google Search enrichment)

Adds Google Search enrichment beyond Maps - find founder/CEO, LinkedIn, social profiles, phone/WhatsApp, or email for each lead.

  • Endpoint: POST https://google.serper.dev/search, authenticated via the X-API-KEY header.
  • Six query templates: email, founder (default), linkedin, social, phone, and custom (your own query with {name} / {city} placeholders).
  • Setup: paste your Serper key → Test Connection (/test-serper).

Reoon (email verification)

Verifies a single email for deliverability.

  • Base: https://emailverifier.reoon.com/api/v1.
  • Modes: quick (default, ~0.5s, 15s timeout) or power (full SMTP probe, 70s timeout, adds an overall (NN%) score).
Reoon statusCell label
valid✅ Valid
safe✅ Safe to send
invalid❌ Invalid
disabled❌ Disabled
inbox_full / disposable / catch_all / role_account⚠️ flagged
spamtrap🚫 Spamtrap
unknown❓ Unknown

Reoon verifies one email at a time - cells with multiple addresses are split on the first. If no key is set, enrichment returns an error cell: ”… API key missing - add it in AI Settings.”

Test Connection

Each provider/API block has a Test Connection button that fires a dummy request:

  • LLMPOST /test-llm with a trivial prompt.
  • SerperPOST /test-serper.
  • ReoonPOST /test-reoon.

A green status = success, red = failure. Use it right after pasting a key to confirm everything is wired up before running a real enrichment.

Security & Storage

Your keys take this path and no other:

Prompt / Code
password input → chrome.storage.local → JSON body to localhost:8000
                → Authorization: Bearer → provider
  • The local backend binds only to 127.0.0.1 - it is not reachable from the network.
  • Keys are auto-saved on every keystroke; there is no Save button.
  • Keys survive clearAllExtensionData - clearing leads does not wipe your LLM/external-API settings.

Quick setup (all providers)

  1. Side panel → header → AI-chip icon.
  2. Pick Provider (OpenAI or Custom).
  3. Base URL + Model ID auto-fill - edit if needed.
  4. Paste API Key.
  5. Click Test Connection → green = you’re live.