Vc deal sourcing
Agent skills for sourcing startup deals with Frontrun — pre-round signal from 1,000+ investor follow graphs on X. For Claude Code, Cursor, and any MCP-capable agent.
npx -y skills add jongall45/frontrun-skills --skill vc-deal-sourcingAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- 22 days oldThe repository was created 22 days ago. New is not bad, but a brand new repository carrying a familiar-sounding name is the shape a typosquat arrives in, and there has been no time for anyone else to find a problem with it.
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
VC deal sourcing and startup deal flow with the Frontrun API: source early-stage startups before their funding round using live investor follow-graph signal from 1,000+ venture investors on X. Use when asked to find early-stage startups, source deals or deal flow, discover pre-seed or seed companies before they raise, monitor VC investor activity, or build a deal-sourcing agent or pipeline. Covers auth, credits, every /v1 endpoint, and proven workflows.
SKILL.md
21.0 KB, as published. Nobody here has run it
VC deal sourcing with Frontrun
Frontrun tracks the follow graphs of 1,000+ venture investors on X and flags companies
with first_flagged_at provenance the moment tracked investors converge on the same
account, usually months before a round is announced. Receipts (live from the database,
refreshed on every rebuild): @prlnet flagged 2026-03-17, now followed by 153 tracked investors · @papertrade_xyz flagged 2026-05-12, now followed by 88 tracked investors · @naturalpay flagged 2026-02-11, now followed by 67 tracked investors.
This is the master skill: what the product is, how auth works, every endpoint, and the
workflows that turn follow-graph signal into a deal pipeline. Sibling skills go deeper:
track-investors-on-x (follow signal), startup-fundraising-data (company
enrichment), startup-thesis-search (semantic sourcing), frontrun-mcp-setup (MCP
install).
Auth and pricing (the honest version)
Every /v1 request needs an API key in the X-API-Key header. Keys are generated at
https://www.frontrun.vc under Settings > API Keys. API + MCP access is included with the Frontrun Pro
plan ($99/mo, 10,000 monthly credits; pay upfront, API access unlocks immediately, no
trial on Pro). The Frontrun app itself has a 7-day free trial, but the API and MCP
surface sit behind the Pro paywall. Top-up credit packs never expire.
Every charged response returns cost_credits and balance_credits. A 402 means
insufficient credits; a 429 means a rate limit or the daily credit cap. Several
expensive endpoints never charge for empty answers (convergence, thesis search,
classify, founders, funding, similar VCs return cost_credits: 0 when nothing is found).
No key yet? Two free no-auth surfaces: GET https://frontrun.vc/v1/teaser/trending
(JSON, top 5 trending companies, counts only) and the public page
https://frontrun.vc/trending/. Both are real live data.
Machine-readable references: https://www.frontrun.vc/llms.txt and https://www.frontrun.vc/openapi.json
First call of any session
curl -s "https://frontrun.vc/v1/status" -H "X-API-Key: $FRONTRUN_API_KEY"
Returns your tier, credit balance (monthly + top-up), tracked account count, daily spend, per-operation pricing at your tier rate, and a 30-day usage breakdown. Free, costs 0 credits. Call this first in any session: it verifies the key works and tells you what each operation will cost before you spend credits.
Core workflows
Morning scan (what moved overnight). Trending, then convergence, then deep-dive the overlap:
curl -s "https://frontrun.vc/v1/trending?since=24h&limit=15" -H "X-API-Key: $FRONTRUN_API_KEY"
curl -s "https://frontrun.vc/v1/convergence?threshold=3&since=7d&limit=10" -H "X-API-Key: $FRONTRUN_API_KEY"
Company diligence chain. Overview first, then founders and funding on companies that pass the screen (founders is the most expensive call in the API; empty founder and funding answers are free):
curl -s "https://frontrun.vc/v1/company/fluidstack" -H "X-API-Key: $FRONTRUN_API_KEY"
curl -s "https://frontrun.vc/v1/company/fluidstack/signals" -H "X-API-Key: $FRONTRUN_API_KEY"
curl -s "https://frontrun.vc/v1/company/fluidstack/founders" -H "X-API-Key: $FRONTRUN_API_KEY"
curl -s "https://frontrun.vc/v1/company/fluidstack/funding" -H "X-API-Key: $FRONTRUN_API_KEY"
Thesis-driven sourcing. Plain-language thesis in, ranked companies out, each with
first_flagged_at provenance:
curl -s "https://frontrun.vc/v1/search/thesis?q=stablecoin%20infrastructure%20for%20emerging%20markets&limit=5" -H "X-API-Key: $FRONTRUN_API_KEY"
Coverage expansion. Discover what your tracked investors follow that you do not, preview candidates, track the good ones:
curl -s "https://frontrun.vc/v1/discover?sector=AI&limit=10" -H "X-API-Key: $FRONTRUN_API_KEY"
curl -s "https://frontrun.vc/v1/preview/pmarca" -H "X-API-Key: $FRONTRUN_API_KEY"
curl -s -X POST "https://frontrun.vc/v1/track" \
-H "X-API-Key: $FRONTRUN_API_KEY" -H "Content-Type: application/json" \
-d '{"username":"pmarca"}'
Full endpoint walkthrough
Base URL: https://frontrun.vc/v1. All operations below are generated from the live OpenAPI
spec (https://www.frontrun.vc/openapi.json); costs are per call at the standard Pro rate.
Account
API key status, balance, and usage.
| Endpoint | What it does | Cost |
|---|---|---|
GET /status | Account status | 0 credits |
GET /status (get_status): Returns your tier, credit balance (monthly + top-up), tracked account count, daily spend, per-operation pricing at your tier rate, and a 30-day usage breakdown. Free, costs 0 credits. Call this first in any session: it verifies the key works and tells you what each operation will cost before you spend credits.
Tracking
Manage which X accounts you monitor for follow activity.
| Endpoint | What it does | Cost |
|---|---|---|
POST /track | Track an account | 4 credits |
GET /track | List tracked accounts | 0 credits |
DELETE /track/{username} | Stop tracking an account | 0 credits |
POST /track (track_account): Add an X account (typically an investor) to your tracked set so its new follows feed every signal endpoint (/follows/new, /follows/enriched, /convergence, /trending, /feed, /discover). Costs 4 credits when the account is new to the platform (a follow baseline is fetched); accounts already in the shared coverage pool are added free. Returns 201 with ready indicating whether a follow baseline already exists; while ready=false the account produces no signal until its first snapshot completes. Handles that fail to resolve on X return 404 and are never billed. New-account introductions are capped per key per day by tier (free 20, starter 100, pro 250, enterprise 2000); adding accounts already in the coverage pool does not count against the cap.
GET /track (list_tracked_accounts): List every account you are tracking, with readiness state (ready=false means the follow baseline is still being established, so that account is not yet producing signal). Free, costs 0 credits. Use it to verify coverage before interpreting empty results from signal endpoints.
DELETE /track/{username} (untrack_account): Remove an account from your tracked set so it stops feeding your signal endpoints. Free, costs 0 credits. Returns 404 if you are not tracking the account.
Follows
New-follow detection and follow snapshots.
| Endpoint | What it does | Cost |
|---|---|---|
GET /follows/new | New follows | 16 credits |
GET /follows/snapshot/{username} | Follow snapshot | 4 credits |
GET /follows/enriched | Enriched new follows | 16 credits |
GET /follows/new (get_new_follows): Detect new follows across your tracked accounts within a time window, grouped per tracked account. Costs 16 credits. Only tracked accounts with an established baseline are checked; with no ready accounts you get an empty result plus a hint message, not an error. Set classify=true to include cached AI classification on each new follow at no extra cost. Prefer /follows/enriched (same 16-credit price) when you want sector, keyword, entity-type, or tag filters and your custom rules merged in.
GET /follows/snapshot/{username} (get_follow_snapshot): Returns the most recent stored full follow list for a tracked account (latest snapshot, not a live X fetch). Costs 4 credits. Useful for auditing what an investor already follows; for change detection use /follows/new instead. The username must be one of your tracked accounts.
GET /follows/enriched (get_enriched_follows): The most capable follow-signal endpoint: new follows with AI classification plus your custom classification rules and custom tags merged into each result, filterable by sector, keyword, entity type, or custom tag. Same 16-credit price as /follows/new, so use this whenever you want filtered results (e.g. sector=AI follows from the last 7d). Filters are substring matches; valid sector strings can be discovered via /sectors.
Signal
Computed intelligence: convergence, trending, feed, sectors, discovery.
| Endpoint | What it does | Cost |
|---|---|---|
GET /convergence | Convergence detection | 60 credits |
GET /trending | Trending companies | 24 credits |
GET /feed | Activity feed | 16 credits |
GET /sectors | Sector breakdown | 4 credits |
GET /discover | Discover recommendations | 60 credits |
GET /convergence (get_convergence): Detect entities that multiple tracked accounts followed independently within a time window: the strongest pre-round signal in the product. Results are ranked by how many tracked accounts converged (followed_by). Costs 60 credits; zero convergences cost 0 credits. threshold (alias min_accounts) sets the minimum converging accounts, default 2; use 3+ for high conviction. Typical chain: /convergence, then /company/{handle} and /company/{handle}/founders on the top hits.
GET /trending (get_trending): Entities ranked by how many of your tracked accounts followed them within the window: the standard first scan of the day. Costs 24 credits. classify=true attaches cached AI classification and adds 16 credits per classified entity returned, so keep limit small when classifying. Returns an empty hint response if you track no accounts; add coverage with POST /track first.
GET /feed (get_feed): Chronological event stream across all tracked accounts, newest first: new_follow and convergence events with classification on the target, filterable by event type, sector, and time window. Costs 16 credits. Good for polling-based monitoring; for push delivery of the same events register a webhook via POST /webhooks instead.
GET /sectors (get_sectors): Sector and entity-type breakdown of all discovered entities across your tracked accounts. Costs 4 credits. Cheap way to see what your coverage is surfacing and to discover the exact sector and entity_type strings to pass as filters to /search, /follows/enriched, and /feed.
GET /discover (discover_accounts): Personalized coverage-expansion recommendations: entities followed by 2+ of your tracked accounts that you are not tracking yet, scored by signal strength (0 to 1) and matched against your custom classification rules. Costs 60 credits. Typical flow: /discover, then GET /preview/{handle} on candidates, then POST /track the good ones.
Search
Keyword and semantic search over your database.
| Endpoint | What it does | Cost |
|---|---|---|
GET /search | Search entities | 4 credits |
GET /search/thesis | Thesis search (semantic) | 40 credits |
GET /search (search_entities): Keyword and metadata search across every entity your tracked accounts follow (the full stored follow graph, not just recent follows). At least one of sector, keyword (alias q), or entity_type is required, otherwise the call fails with 400. All filters are case-insensitive substring matches; companies are ranked first in results. Costs 4 credits. For meaning-based matching (concepts, not substrings) use /search/thesis.
GET /search/thesis (search_thesis): Semantic search over your database (companies surfaced by the accounts you track, not the global catalog). Describe an investment thesis in plain text and get companies whose descriptions match the meaning, not the exact words, ranked by cosine similarity. q must be at least 10 characters or the call fails with 400. Costs 40 credits; zero matches cost 0 credits. Each result includes first_flagged_at (when Frontrun first flagged the company) and convergence_count: cite these as provenance for how early the signal is.
Classification
AI classification, custom rules, and custom tags.
| Endpoint | What it does | Cost |
|---|---|---|
POST /classify | Classify entities | 16 credits/entity |
POST /classify/rules | Create classification rule | 0 credits |
GET /classify/rules | List classification rules | 0 credits |
PUT /classify/rules/{id} | Update classification rule | 0 credits |
DELETE /classify/rules/{id} | Delete classification rule | 0 credits |
POST /tags | Add or update custom tags | 0 credits |
GET /tags | List custom tags | 0 credits |
DELETE /tags/{twitter_user_id} | Delete custom tags | 0 credits |
POST /classify (classify_entities): Fetch classification on demand for up to 100 entities (by twitter_user_ids and/or usernames, combined max 100): AI classification with your custom rules and custom tags merged in. Served from the classification cache; entities not in the cache are silently omitted. Costs 16 credits per entity actually returned, so zero results cost 0 credits.
POST /classify/rules (create_classification_rule): Create a custom classification rule. Matching entities in /follows/enriched, /classify, and /discover automatically get your custom sector, entity type, tags, and priority applied. Conditions support bio_keywords (any match), username_pattern (regex, max 100 chars, no nested quantifiers), sector_contains, and must_be_company. Free, costs 0 credits. Limit 100 rules per account (500 on Enterprise).
GET /classify/rules (list_classification_rules): List your active classification rules, including per-rule match counts. Free, costs 0 credits.
PUT /classify/rules/{id} (update_classification_rule): Update a classification rule: name, conditions, actions, or the active flag (set active=false to disable without deleting). Free, costs 0 credits.
DELETE /classify/rules/{id} (delete_classification_rule): Delete a classification rule. Free, costs 0 credits. Entities previously tagged by the rule are not retroactively untagged.
POST /tags (add_tags): Tag an entity with your own tags, custom sector, custom entity type, and notes. Tags are merged into /follows/enriched and /classify responses and matched by the tag filter. Upserts on the entity, so repeat calls update the record. Identify the entity by twitter_user_id or username (username is resolved via the classification cache and returns 404 if unknown). Free, costs 0 credits. Limit 10,000 tagged entities (100,000 on Enterprise).
GET /tags (list_tags): List your custom tag records, optionally filtered by tag or custom sector. Free, costs 0 credits.
DELETE /tags/{twitter_user_id} (delete_tags): Remove your custom tags from an entity by its X user ID. Free, costs 0 credits.
Company
Company deep-dives: overview, founders, signals, resources, funding.
| Endpoint | What it does | Cost |
|---|---|---|
GET /preview/{handle} | Preview an account | 4 credits |
GET /company/{handle} | Company overview | 60 credits |
GET /company/{handle}/founders | Company founders | 100 credits |
GET /company/{handle}/signals | Company social signals | 16 credits |
GET /company/{handle}/resources | Company resources | 60 credits |
GET /company/{handle}/funding | Company funding | 60 credits |
GET /preview/{handle} (preview_account): Preview any X account before tracking it: live profile summary, computed signal-potential score (0 to 1), a tracking recommendation (strong_track, consider_tracking, or low_signal), and a sector hint. Costs 4 credits. Use it to qualify /discover candidates before adding them with POST /track. Rate limited to 20 requests/hour per key (429 beyond that), separate from credit charges.
GET /company/{handle} (get_company_overview): Synthesized company overview: profile data, sector classification, entity type, a live website scrape summary, and recent posts. Works for any public X handle, not just companies already in your database (the profile is fetched live). Costs 60 credits. This is the standard first deep-dive after /trending, /convergence, or /search/thesis surfaces a candidate; follow with /company/{handle}/founders and /company/{handle}/funding.
GET /company/{handle}/founders (get_company_founders): Founder intelligence for a company: identifies founders via a layered discovery waterfall (verified cache, founder links, person discovery, social graph, tweet search) and enriches with LinkedIn data (role, work history, founder score, confidence, evidence). Costs 100 credits, the most expensive operation in the API, but zero founders found costs 0 credits. Reserve it for companies that already passed your screen.
GET /company/{handle}/signals (get_company_signals): Social signal analysis for a company: buzz score, sentiment, mention count, notable mentions, and, most usefully, tracked_vc_followers, the list of your tracked accounts that follow it. Costs 16 credits. The cheapest way to check how much of your coverage has converged on a specific company.
GET /company/{handle}/resources (get_company_resources): Discovered links and resources for a company from a live website scrape plus bio links: website, GitHub, documentation, Discord, Telegram, and all site links. Costs 60 credits. Useful for building diligence dossiers or finding a contact surface.
GET /company/{handle}/funding (get_company_funding): Funding and deal information for a company (rounds, investors, lead investors, founders, dates, source URL with confidence), cross-referenced with vc_follow_signal, the tracked accounts that follow it. Costs 60 credits; when no funding can be resolved you are not charged (found=false, funding=null, cost_credits 0). No resolved funding for a heavily-followed company often means the round has not been announced yet, which is exactly the window Frontrun exists to surface.
VC
Investor activity profiles and similarity.
| Endpoint | What it does | Cost |
|---|---|---|
GET /vc/{username}/activity | VC activity profile | 24 credits |
GET /vc/{handle}/similar | Similar VCs | 60 credits |
GET /vc/{username}/activity (get_vc_activity): Activity profile for one of your tracked accounts: follow velocity (follows per week), sector distribution of new follows in the window, and the recent follows themselves. Costs 24 credits. Returns 404 if you are not tracking the username. Use it to understand what an individual investor is looking at right now.
GET /vc/{handle}/similar (get_similar_vcs): Find accounts with follow patterns similar to a given tracked account, computed from follow-graph overlap across the coverage pool. Costs 60 credits; zero results cost 0 credits. Results include is_tracked, so this doubles as a coverage-expansion tool: preview untracked similar accounts with /preview/{handle}, then POST /track them.
Webhooks
Push-based delivery of signals.
| Endpoint | What it does | Cost |
|---|---|---|
POST /webhooks | Register a webhook | 40 credits |
GET /webhooks | List webhooks | 0 credits |
DELETE /webhooks/{id} | Delete a webhook | 0 credits |
GET /webhooks/{id}/deliveries | Webhook delivery history | 0 credits |
POST /webhooks (create_webhook): Register a webhook URL to receive push-delivered signal events instead of polling /feed. Subscribe to event types (new_follow, convergence) with optional filters (e.g. sector); provide secret to get signed deliveries. Up to 10 active webhooks per API key (400 when the limit is reached). Costs 40 credits to register, then 8 credits per delivered event. Failed deliveries are retried up to 5 times with increasing backoff.
GET /webhooks (list_webhooks): List your registered webhooks with status, consecutive failure count, and last delivery time. Free, costs 0 credits.
DELETE /webhooks/{id} (delete_webhook): Delete a webhook. Free, costs 0 credits.
GET /webhooks/{id}/deliveries (list_webhook_deliveries): Delivery history for a webhook, newest first: event type, HTTP status code, latency, and attempt number per delivery. Free, costs 0 credits. Check this first when your endpoint seems to be missing events.
Reports
Historical daily discovery reports.
| Endpoint | What it does | Cost |
|---|---|---|
GET /reports | Historical reports | 4 credits |
GET /reports (get_reports): Historical daily report data: the companies Frontrun flagged for you each day (the same companies as your daily report email), for a date range or a specific date, optionally filtered by sector. Costs 4 credits. The cheapest way to replay past discoveries or backfill a CRM.
Conventions for agents
- Counts and flag dates are the receipt layer. Always cite them ("flagged jun 5 at 18 followers, 6 tracked investors followed since").
- Earliness is the point: prefer
first_flagged_atplus follower-count-at-flag over present-day follower counts when arguing a company is early. - Check
cost_creditsandbalance_creditson every response; a daily check-in (trending + convergence + a few deep-dives) runs a few hundred credits against the 10,000/month allowance. - Draft outreach; let the human send it.
- Signal, not certainty: investor follows precede rounds often, not always. Present convergence as evidence, never as a confirmed raise.