Back to Templates
What this does
Uses Firecrawl to scrape any company website and extract structured business signals from it. The enriched profile is automatically saved to Supabase. A self-hosted, free alternative to paid enrichment APIs like Apollo or Clay, powered by Firecrawl.
How it works
url field (bare domain or full URL)Business signals extracted
Company name, industry, pricing model, free trial availability, employee size signal, funding stage, tech stack and integrations detected, target customer profile, trust signals (certifications, reviews, customer count), hiring status and open roles count.
Requirements
Setup
CREATE TABLE lead_enrichment (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
created_at TIMESTAMPTZ DEFAULT now(),
updated_at TIMESTAMPTZ DEFAULT now(),
domain TEXT NOT NULL UNIQUE,
company_name TEXT,
industry TEXT,
pricing_model TEXT,
has_free_trial BOOLEAN,
employee_signal TEXT,
funding_stage TEXT,
tech_stack TEXT[],
integrations TEXT[],
target_customer TEXT,
trust_signals TEXT[],
hiring BOOLEAN,
open_roles_count INT,
raw_scraped_text TEXT,
enrichment_source TEXT DEFAULT 'firecrawl'
);
CREATE OR REPLACE FUNCTION update_updated_at()
RETURNS TRIGGER AS $$
BEGIN
NEW.updated_at = now();
RETURN NEW;
END;
$$ LANGUAGE plpgsql;
CREATE TRIGGER set_updated_at
BEFORE UPDATE ON lead_enrichment
FOR EACH ROW EXECUTE FUNCTION update_updated_at();
How to use
Send a POST request to the webhook URL:
curl -X POST https://your-n8n-instance/webhook/your-id \
-H "Content-Type: application/json" \
-d '{"url": "firecrawl.dev"}'