Integrations
JavaScript

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}`);
}