Every lead, fully researched.
Upload your leads. Each one comes back with 31 fields about the person and their company, written for what you sell, ready for your CRM.
Every lead inside your CRM
Marit Visser
Chief Operating Officer at Halden Freight Group
- marit.visser@haldenfreight.example
- Owner
- Tom Hughes
- Lifecycle stage
- Marketing qualified
- Lead source
- Halden page, variant B
- Engagement priority
- High
- Decision influence
- Decision maker
- Signal freshness
- 18 Sep 2026
Updated by Relish Demand
- Enriched by Relish Demand31 fields added
- Received a personalised playbookEdition written for her role
- Filled in a formHalden page, variant B
- Viewed a page3 visits over 2 days
31 fields. On every lead.
Six identify the lead. Eight cover the contact. Seventeen cover their company.
Identity
6
- Contact Name
- Job Title
- Lead For Company
- Lead For Domain
- Lead Against Company
- Lead Against Domain
Contact intelligence
8
- Role Analysis
- Communication Style
- Decision Influence
- Recommended Approach
- Pain Points
- Talking Points
- Motivations
- Objection Handling
Account intelligence
17
- Target Summary
- Target Industry
- Target Employee Count (est.)
- Target Revenue (est.)
- Target Headquarters
- Target Pain Points
- Target Buying Signals
- Engagement Priority
- Seller Fit
- Target Competitive Opportunities
- Likely Current Vendors
- Likely Decision-Maker Roles
- Target Technology Stack
- Target Security Posture
- Target Recent News
- Trigger Events
- Signal Freshness
You bring the leads. We research the person and the company. We do not find contacts or emails.
Written for what you sell
Every lead has a seller and a target account. Priority and fit are written for that pair, as text, not scores.
Likely, not guessed
Decision makers are likely roles and current vendors are likely vendors. Estimates are marked (est.).
Dated and sourced
Trigger events carry a date and a source. Signal Freshness shows the newest.
Delivered when it is ready.
A signed webhook the moment a batch completes. The API whenever you like. A CSV if you prefer files.
Webhook
Relish sends a signed POST to your endpoint when a batch completes (batch.completed) or fails (batch.failed). Verify X-Webhook-Signature: an HMAC-SHA256 of the timestamp, a full stop and the raw body, keyed with your webhook secret. Reject any request whose X-Relish-Timestamp is more than five minutes from your clock.
Payload option
Turn on results in the webhook to receive the rows inline for batches up to 500 rows and 1 MB. Larger batches carry a signed resultsUrl instead.
API
Pull enriched results into any system, whenever you like.
CSV
Prefer files? Every batch also ships as a file, 31 columns per lead. The webhook carries a signed downloadUrl for it.
POST https://your-endpoint.example/relishContent-Type: application/jsonX-Webhook-Signature: <hex digest>X-Relish-Timestamp: <unix seconds>X-Webhook-Id: <webhook id>X-Delivery-Id: <delivery id> { "event": "batch.completed", "batchId": "b_7f3a91", "partnerId": "northgate", "status": "completed", "workflowId": "wf_enrich", "workflowName": "Lead enrichment", "recordCount": 400, "downloadUrl": "https://example.invalid/signed-csv-link", "completedAt": "2026-10-07T14:02:11.000Z", "deliveredAt": "2026-10-07T14:02:12.481Z", "billing": { "currency": "USD", "totalCost": 100, "totalCostCents": 10000, "originalTotalCost": 100, "originalTotalCostCents": 10000, "billingAdjustment": null }, "counts": { "rowsSubmitted": 200, "rowsValid": 200, "rowsInvalid": 0, "rowsCompleted": 200, "rowsFailed": 0, "rowsWaived": 0, "turnaroundMs": 412000, "quality": { "fallbackRatio": 0.02 }, "dispatch": { "status": null }, "finalisation": { "status": null }, "status": "completed" }}Upload a list. Launch your campaign.
A page for every account, an asset for every lead, every lead enriched. Start self-serve, or book a walkthrough and we will set up your first campaign with you.

