JavaScript
Use the Frontrun API from JavaScript/TypeScript with fetch.
Client wrapper
const BASE_URL = 'https://frontrun.vc/v1';
const API_KEY = process.env.FRONTRUN_API_KEY;
async function frontrun(method, path, body = null) {
const options = {
method,
headers: {
'X-API-Key': API_KEY,
'Content-Type': 'application/json',
},
};
if (body) options.body = JSON.stringify(body);
const response = await fetch(`${BASE_URL}${path}`, options);
if (!response.ok) {
const error = await response.json().catch(() => ({}));
throw new Error(error.error || `HTTP ${response.status}`);
}
return response.json();
}Examples
Track an account
const result = await frontrun('POST', '/track', { username: 'pmarca' });
console.log(result);Get new follows
const data = await frontrun('GET', '/follows/new?since=48h&classify=true');
for (const account of data.results) {
console.log(`\n${account.tracked_account}:`);
for (const follow of account.new_follows) {
const sector = follow.classification?.sector || 'Unknown';
console.log(` @${follow.username} (${sector})`);
}
}Check convergence
const data = await frontrun('GET', '/convergence?threshold=3&since=7d');
for (const signal of data.convergences) {
console.log(`${signal.name} — followed by ${signal.followed_by.join(', ')}`);
}Get trending
const data = await frontrun('GET', '/trending?since=7d&classify=true&limit=10');
for (const company of data.trending) {
console.log(`#${company.follower_count} ${company.name} @${company.username}`);
}Account activity
const activity = await frontrun('GET', '/vc/pmarca/activity?since=30d');
console.log(`Follows/week: ${activity.follows_per_week}`);
console.log('Sectors:', activity.sector_breakdown);Search
const results = await frontrun('GET', '/search?sector=AI/ML&entity_type=startup');
for (const company of results.results) {
console.log(`@${company.username} — ${company.description}`);
}