Early Access · 50 free enrichments per account

Tempo Leads API

Upload leads. Get back which channel to use and what to say.

Evidence-backed enrichment for LinkedIn, Email, Phone, Twitter, Instagram.

Sign in to get a free API key

50 free enrichments included — no credit card required

Tier:

Drop a CSV here or click to browse

Apollo, ZoomInfo, LinkedIn Sales Nav, or any CSV with name/company/email

Download Apollo CSV template
Cost: 0 credits (0 leads × 1 credit)

What you get back

Upload a LinkedIn URL. Get actionable intelligence.

Before Raw lead data
name: Sarah Chen
title: VP Engineering
company: Acme Corp
linkedin: linkedin.com/in/sarah-chen
email: sarah@acme.com

No idea which channel, what to say, or whether she's even worth contacting.

After Tempo Enriched intelligence
priority: 82/100 (qualified)
best_channel: LinkedIn (score: 85)
channels: LinkedIn 85, Email 72, Twitter 45
hook: "Hiring 3 engineers - scaling pain"
evidence: "Posted about team growth Jan 15"
email_verified: valid
suggested_msg: "Saw you're scaling engineering..."

Integrate in minutes

Simple REST API. Pick your language.

# Enrich a single lead
curl -X POST https://www.bytempo.xyz/api/v1/enrich/person \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "linkedin_url": "https://linkedin.com/in/sarah-chen",
    "name": "Sarah Chen",
    "company": "Acme Corp",
    "tier": "full"
  }'
import requests

# Enrich a single lead
response = requests.post(
    "https://www.bytempo.xyz/api/v1/enrich/person",
    headers={"Authorization": "Bearer YOUR_API_KEY"},
    json={
        "linkedin_url": "https://linkedin.com/in/sarah-chen",
        "name": "Sarah Chen",
        "company": "Acme Corp",
        "tier": "full"
    }
)

data = response.json()
print(f"Best channel: {data['channels']['recommended_order'][0]}")
print(f"Priority: {data['priority_score']}")
print(f"Hook: {data['personalization_hooks'][0]['hook']}")
// Enrich a single lead (Node.js / fetch)
const response = await fetch("https://www.bytempo.xyz/api/v1/enrich/person", {
  method: "POST",
  headers: {
    "Authorization": "Bearer YOUR_API_KEY",
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
    linkedin_url: "https://linkedin.com/in/sarah-chen",
    name: "Sarah Chen",
    company: "Acme Corp",
    tier: "full"
  })
});

const data = await response.json();
console.log(`Best channel: ${data.channels.recommended_order[0]}`);
console.log(`Priority: ${data.priority_score}`);
require 'net/http'
require 'json'

uri = URI("https://www.bytempo.xyz/api/v1/enrich/person")
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true

request = Net::HTTP::Post.new(uri)
request["Authorization"] = "Bearer YOUR_API_KEY"
request["Content-Type"] = "application/json"
request.body = {
  linkedin_url: "https://linkedin.com/in/sarah-chen",
  name: "Sarah Chen",
  company: "Acme Corp",
  tier: "full"
}.to_json

response = http.request(request)
data = JSON.parse(response.body)
puts "Best channel: #{data['channels']['recommended_order'][0]}"
<?php
$ch = curl_init("https://www.bytempo.xyz/api/v1/enrich/person");
curl_setopt_array($ch, [
    CURLOPT_POST => true,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
        "Authorization: Bearer YOUR_API_KEY",
        "Content-Type: application/json"
    ],
    CURLOPT_POSTFIELDS => json_encode([
        "linkedin_url" => "https://linkedin.com/in/sarah-chen",
        "name" => "Sarah Chen",
        "company" => "Acme Corp",
        "tier" => "full"
    ])
]);

$response = curl_exec($ch);
$data = json_decode($response, true);
echo "Best channel: " . $data['channels']['recommended_order'][0];

Endpoints

POST
/api/v1/enrich/personSingle lead enrichment
POST
/api/v1/enrich/batchBatch (JSON or CSV)
GET
/api/v1/enrich/batch/{id}/downloadDownload CSV
GET
/api/v1/creditsCredit balance
View full documentation →

See your potential

How much more pipeline could you build with evidence-backed enrichment?

$

With Tempo Leads enrichment

Reply rate (est. 50% lift) 7.5%
Additional replies/mo +12
Extra meetings/mo +2

Tempo cost/mo (Growth plan) $99
Additional pipeline/mo $6,000
Annual impact $72,000

60x return on Tempo investment

How we calculate this

New reply rate = your rate × 1.5 (est. 50% lift) = 7.5%

Extra replies/mo = 500 leads × (7.5%5%) = 13

Extra meetings/mo = 13 × 20% meeting rate = 3

Extra pipeline/mo = 3 meetings × 30% close rate × $10,000 = $9,000

Return multiplier = $9,000 / $49 Tempo cost = 184x

How it works

1

Upload leads

CSV from Apollo, ZoomInfo, or paste LinkedIn URLs. Or hit the API directly.

2

We enrich

Real-time signals, 5-channel scoring, personalization hooks, contact verification.

3

Reach out & close

Prioritized list with who to contact, which channel, and what to say.

SSL Encrypted
GDPR-Ready
Privacy Policy
Payments via Stripe
Real-time data

50 free enrichments. No credit card.

Create an account, generate your API key, and start enriching leads in under 2 minutes.