RECENT FUNDING
  1. Recent Funding
  2. Recent Funding API
On this page

Getting started

Endpoints

Realtime

Reference

Recent Funding API

A read-only JSON API of recently funded startups: funding rounds with a source link for every amount, investors, founders, accelerators, acquisitions and new VC funds.

Base URL https://recentfunding.com/api/v1Format JSONAuth API keyOpenAPI · Markdown · llms.txtUpdated

The Recent Funding API gives you the data behind recentfunding.com as JSON: startups and their funding rounds, investors, founders, accelerators, acquisitions and new VC funds. Every amount links to the page it came from.

It's a plain REST API. Every endpoint is a GET that returns JSON, and every request needs an API key. A key is free and takes only an email. For the new rounds every day, use Pro.

Quickstart

1. Get a key. Sign in on your dashboard with your email. Your key is created there and shown once.

Get your free API key →

Sign in with your email (we send a one-time code). Your key is created on your dashboard and shown once.

2. Make a request.

export RF_KEY=rf_live_…
curl -H "Authorization: Bearer $RF_KEY" "https://recentfunding.com/api/v1/companies?limit=5"

3. Read the response. Lists come back as an array plus a next_offset for the next page:

{"companies": [{"slug": "…", "name": "…", "stage": "seed", "amount_usd": "…", "announced_at": "…", "raise_source_url": "https://…"}], "count": 5, "next_offset": 5}

A few more requests to try:

# Seed-stage AI agent companies, largest round first
curl -H "Authorization: Bearer $RF_KEY" "https://recentfunding.com/api/v1/companies?stage=seed&industry=ai-agents&sort=raise"

# One company and all its rounds
curl -H "Authorization: Bearer $RF_KEY" "https://recentfunding.com/api/v1/companies/shepherd"

# Crypto rounds since September 1, 2026
curl -H "Authorization: Bearer $RF_KEY" "https://recentfunding.com/api/v1/rounds?crypto=true&since=2026-09-01"

Track your requests, errors and keys on your dashboard.

Authentication

Send your key in the Authorization header:

curl -H "Authorization: Bearer $RF_KEY" "https://recentfunding.com/api/v1/companies?limit=5"

X-API-Key: rf_live_… works too. For tools that can't set headers, add ?api_key=rf_live_… to the URL. Prefer a header, since URLs end up in logs.

  • A key is shown once. We store only a hash, so a lost key can't be recovered: create a new one.
  • Manage keys (create, name, revoke) on your dashboard.
  • A missing key returns 401 api_key_required. An unknown or revoked key returns 401 invalid_api_key.
  • Keep keys out of front-end code anyone can read.

Plans and limits

FreePay as you goProMax
PriceNo cardTen cents a call, prepaid49 dollars a month150 dollars a month
Calls50 a dayYour balance, up to 500 a day1,000 a month5,000 a month
Data14+ days oldLiveLiveLive
Stealth startupsNoYesYesYes
MCP and live feedNoNoYesYes

Which plan? If you're building anything that needs the new funding rounds every day across the industry (a deal-flow feed, a CRM sync, an alerting bot, an AI agent), choose Pro. It gets every new round and stealth startup as it lands, with MCP and the live feed. For occasional live lookups, pay as you go costs less under about 490 calls a month; above that, Pro costs less. Free is for trying the API on older data.

Pay as you go is a prepaid balance: top up 10, 25 or 50 dollars on your dashboard for 100, 250 or 500 calls. Your first top-up adds 100 free calls. Credits never expire. When the balance runs out, your keys are on Free again. Pro and Max quotas are per month across all your keys, reset on the 1st (UTC), and MCP tool calls count like API calls.

Pro and Max start with a 7-day free trial. Start your Pro trial or compare pricing.

Free keys allowed 100 requests a day until 2026-10-30; they now allow 50.

On Free, answers leave out companies and rounds newer than 14 days and stealth companies. Each answer then includes an access object saying how many were left out and how to get live data. Asking for one such company returns 403 plan_required. On pay as you go, every answer carries an X-RecentFunding-Balance header with the calls left.

Every response tells you where you stand:

HeaderMeaning
X-RateLimit-LimitRequests your key may make in the current window: today, or this month on Pro and Max
X-RateLimit-RemainingRequests left today
X-RateLimit-ResetWhen the count resets (Unix seconds: midnight UTC, or the 1st of next month on Pro and Max)

Past a daily limit, requests return 429 rate_limited. Past a monthly quota, they return 429 monthly_quota_exceeded with resets_at and a Retry-After header. Checking your own usage (GET /api/v1/usage) is free and never counts.

Pagination

List endpoints take limit and offset and return next_offset. Pass it back as offset until it is null.

curl -H "Authorization: Bearer $RF_KEY" "https://recentfunding.com/api/v1/companies?limit=500&offset=0"
curl -H "Authorization: Bearer $RF_KEY" "https://recentfunding.com/api/v1/companies?limit=500&offset=500"

The maximum limit is shown in each endpoint's parameter table. New companies appear at the top of the default sort, so for a stable export use sort=oldest.

Errors

Errors use standard HTTP status codes and one JSON shape:

{"error": {"status": 400, "code": "invalid_parameter", "message": "\"sort\" must be one of: newest, oldest, raise, announced, name.", "param": "sort"}}
StatusCodeMeaning
400invalid_parameterA value is out of range or badly formatted
400unknown_parameterThe endpoint doesn't take that parameter (check for typos)
401api_key_requiredNo API key was sent
401invalid_api_keyThe key is unknown or revoked
403plan_requiredThe record needs a live plan (Pro or Max)
404not_foundUnknown slug, key or endpoint
405method_not_allowedOnly GET, HEAD and OPTIONS are allowed
429rate_limitedThe key used its requests for today
503unavailableTemporarily unavailable; retry with backoff

Companies

GET/api/v1/companies

Lists startups, newest first by default. Amount filters and sort=raise use the company's latest round.

ParameterValuesDefaultDescription
limitinteger 1–2000100Page size.
offsetinteger 0–10000000Rows to skip. Use the previous response's next_offset.
stagestringCompany stage, e.g. pre-seed, seed, series-a, series-b+, stealth, unknown.
industrystringIndustry slug, e.g. ai, ai-agents, infra-devtools, defi. See /api/v1/stats for the current list.
citystringHeadquarters city, matched exactly in any case; a comma-separated list covers a metro, e.g. New York,New York City,Brooklyn. Each company has hq_city and hq_country.
cryptotrue falsetrue for crypto companies only, false to exclude them.
acceleratoryc speedrun yzi pioneer alliance finc orange outlier pnp csx and 54 moreBacked by an accelerator, detected from investor names and from the name or description (for example "(YC S26)"). any matches every listed accelerator plus investors whose names contain "accelerator" or "incubator".
qstringCase-insensitive search over name, industry, subcategory, sector, description, city, country, and investor names. Every word must appear (in any order), so a longer query narrows the results. Up to 200 characters; longer is a 400.
min_raisestringMinimum amount of the latest round, in USD (plain digits, e.g. 5000000). Companies with no known amount are excluded.
sortnewest oldest raise announced name team_size days_earlynewestnewest (first seen, default), oldest, raise (largest latest round first, unknown last), announced (latest round date, unknown last), name (A to Z), team_size (largest team first, unknown last), days_early (each largest first, unknown last).
curl -H "Authorization: Bearer $RF_KEY" "https://recentfunding.com/api/v1/companies?stage=seed&sort=announced&limit=20"

Returns {"companies": [Company], "count", "next_offset"}. See Company.

GET/api/v1/companies/{slug}

One company with every funding round on record, newest first, and the people behind it.

ParameterValuesDefaultDescription
slug (path)stringThe company's slug from a list response.
curl -H "Authorization: Bearer $RF_KEY" "https://recentfunding.com/api/v1/companies/shepherd"

Returns {"company": Company, "rounds": [CompanyRound], "founders": [...]}. An unknown slug returns 404.

Rounds

GET/api/v1/rounds

Funding rounds with a known amount, most recently announced first.

ParameterValuesDefaultDescription
limitinteger 1–500100Page size.
offsetinteger 0–10000000Rows to skip. Use the previous response's next_offset.
sincestringOnly rounds announced on or after this date.
stagestringRound stage, e.g. pre-seed, seed, series-a, series-b+, unknown.
min_amountstringMinimum round amount in USD (plain digits).
cryptotrue falsetrue for crypto companies only, false to exclude them.
curl -H "Authorization: Bearer $RF_KEY" "https://recentfunding.com/api/v1/rounds?since=2026-10-01&limit=50"

Returns {"rounds": [Round], "count", "next_offset"}. See Round.

Investors

GET/api/v1/investors

Investors ranked by deals in the last 12 months (default), portfolio size, round capital or most recent deal. round_capital is the size of the rounds an investor joined, not its own check.

ParameterValuesDefaultDescription
qstringSearch by name, ignoring case and punctuation; also matches spellings merged into the investor ("Sequoia Capital" finds Sequoia). Every word must appear, in any order. With q, type defaults to all. Up to 200 characters; longer is a 400.
sortdeals_12m companies capital recentdeals_12m
typefunds angels corporates accelerators allfundsfunds (default; venture firms), angels (individual investors), corporates (companies investing directly or through a corporate venture arm), accelerators, or all. A search covers every type unless one is given. Labels for unnamed investors ("Angel Investors") are not investors and never listed.
limitinteger 1–500100
offsetinteger 0–10000000
active0 101: only investors actively deploying capital, with a deal in a round announced in the last 90 days. Default 0 (all).
curl -H "Authorization: Bearer $RF_KEY" "https://recentfunding.com/api/v1/investors?type=funds&active=1&limit=25"

GET/api/v1/investors/{slug}

One investor: its portfolio (latest deal first), top categories, deals by stage and year, and frequent co-investors. Where researched, it also has the team, disclosed limited partners and disclosed positions, each with a source_url.

ParameterValuesDefaultDescription
slug (path)stringAn investor slug from /api/v1/investors.

Founders

GET/api/v1/founders

People at active companies, one row per person and company, with role, picture, links and the page that names them. Email addresses and phone numbers are never published.

ParameterValuesDefaultDescription
scopeall crypto foundersall
teamany solo duo trio moreanySize of the founding team at the person's company, counted from the people on record as founders: solo, duo, trio, more (four or more), or any.
qstringCase-insensitive search over the person's name, company name, and role. Every word must appear, in any order ("jane acme" finds Jane at Acme). Up to 200 characters; longer is a 400.
roleall founder ceo ctoallThe person's role at the company: founder (a role naming a founder), ceo, cto, or all. scope=founders is the same as role=founder.
profiletrue false 1 0true: only people with a researched founder profile (see profile_url).
archetypeyoung-outlier capital-allocator quant-trader technical-builder domain-operator repeat-founder researcher community-builderThe primary archetype of a researched profile.
stagepre-seed seed series-a series-b+Stage of the company's latest round.
categorystringThe company's category key, as in GET /api/v1/categories (ai-agents, stablecoins, fintech…).
cryptotrue false 1 0true: only people at crypto companies (the same as scope=crypto).
phototrue false 1 0true: only people with a picture (avatar).
raisedinteger 1–3650Only people whose company's latest round was announced in the last this many days (the page offers 30 and 90).
countrystringThe company's headquarters country, as a slug: united-states, united-kingdom, india…
serialtrue false 1 0true: only serial founders, people on record at two or more companies.
sortnewest raised name latest_raise profilenewestnewest: the company newest on record first; raised: most raised (sourced rounds); name; latest_raise: the company's latest round first; profile: people with a researched profile first, then by latest round.
limitinteger 1–2000100
offsetinteger 0–10000000
curl -H "Authorization: Bearer $RF_KEY" "https://recentfunding.com/api/v1/founders?scope=founders&team=solo&limit=50"

Accelerators

GET/api/v1/accelerators

Every accelerator program with its company count, batches and what its companies raised.

ParameterValuesDefaultDescription
sortraised companies recentraised

GET/api/v1/accelerators/{key}

One program, its batches and its companies, newest batch first.

ParameterValuesDefaultDescription
key (path)stringA program key from /api/v1/accelerators.
limitinteger 1–2000500
offsetinteger 0–10000000
curl -H "Authorization: Bearer $RF_KEY" "https://recentfunding.com/api/v1/accelerators/yc?limit=100"

Categories and markets

GET/api/v1/categories

Every category (finer than industry, such as prediction-markets) with company counts, sourced capital and the latest raise. No parameters.

GET/api/v1/categories/{key}

The companies in one category, with sourced capital, first raise and latest raise.

ParameterValuesDefaultDescription
key (path)stringA category key from /api/v1/categories.
sortraised first latestraised
cryptotrue false anyany
limitinteger 1–500100
offsetinteger 0–10000000

GET/api/v1/market-map

Capital raised by industry over a recent window against the window before, the stage mix and the top companies. Only rounds with a known amount count.

ParameterValuesDefaultDescription
window_daysinteger 30–36590Length of the recent comparison window, from 30 to 365 days.
history_yearsinteger 1–105Number of calendar years in each industry history, from 1 to 10.
cryptoany true falseanyScope: any, true, or false.
stage_groupall early series-a series-b+ unknownallFunding-round stage scope. early includes pre-seed and seed, so later rounds do not dominate the market signal.

GET/api/v1/market-map/companies

The companies behind one market-map figure, most capital first.

ParameterValuesDefaultDescription
industrystringMarket-map industry slug, such as other or ai. Omit it to rank companies across every industry.
window_daysinteger 30–36590Length of the selected window, from 30 to 365 days.
stage_groupall early series-a series-b+ unknownallall, early (pre-seed + seed), series-a, series-b+, or unknown.
cryptoany true falseanyScope: any, true, or false.
limitinteger 1–250100Page size, from 1 to 250.
offsetinteger 0–10000000Page offset.

GET/api/v1/landscapes

Each market landscape with its segments, company counts and sourced capital. No parameters.

GET/api/v1/landscapes/{key}

Every company in a landscape, each in one segment, with its rounds.

ParameterValuesDefaultDescription
key (path)prediction-marketsA landscape key from /api/v1/landscapes.
segmentexchange sports infrastructure analytics trading-tools social sports-bettingOnly this segment.

Acquisitions and private equity

GET/api/v1/acquisitions

Startup acquisitions, most recently announced first. Acquisitions are never counted as funding.

ParameterValuesDefaultDescription
sincestringOnly deals announced on or after this date.
scopeall startupsallall (the default): every deal. startups: startup acquisitions only, those where the acquired company is one Recent Funding tracks or had raised venture funding (pre-seed through late-stage rounds); each deal's startup field says which it is.
buyerany peanyany (the default): every buyer. pe: only deals of private equity buyers, on evidence: the buyer is a firm of the Fundraising Fox Open Dataset matched by its website or exact name, a firm Recent Funding checked by hand, or a buyer whose own website or public description calls it a private equity firm; and add-ons, deals by a private equity firm's portfolio company (a headline about the deal says the buyer is backed by the firm, or the firm's purchase of the buyer is on record). Each deal's buyer_type and acquirer.pe_sponsor say which; the firms are at /api/v1/pe-firms.
deal_typeany take_privateanyany (the default): every deal. take_private: only take-privates, a listed company bought and delisted, on evidence: a headline about the deal says so ("take private", "go-private", "delist"), or a private equity buyer (or its portfolio company) bought a company whose listing a headline gives (a per-share price, a tender offer, its ticker) or its listing on record together with an article about the deal that confirms it. Each deal's deal_type says which.
qstringWords that must all appear in the acquirer's or the acquired company's name, case-insensitive.
limitinteger 1–500100Page size.
offsetinteger 0–10000000Rows to skip. Use the previous response's next_offset.
curl -H "Authorization: Bearer $RF_KEY" "https://recentfunding.com/api/v1/acquisitions?scope=startups&limit=50"

Fields worth knowing:

  • price_usd is set only with price_source_url, the article that states it. Otherwise it is null.
  • price_estimate is our estimated range for an undisclosed deal. It is never a price (method).
  • buyer_type is pe for a private equity buyer. deal_type is take_private for a listed company taken private.

GET/api/v1/pe-firms

Private equity firms with their acquisitions, add-ons and take-privates, most recent deal first.

ParameterValuesDefaultDescription
qstringWords that must all appear in the firm's name, headquarters or sectors, case-insensitive.
sortrecent deals_12m aum namerecentrecent (the default): latest acquisition first, firms without one after. deals_12m: most acquisitions in the last 12 months. aum: largest assets under management first, firms without a figure after. name: A to Z.
acquired0 101: only firms with an acquisition on Recent Funding.
limitinteger 1–500100Page size.
offsetinteger 0–10000000Rows to skip. Use the previous response's next_offset.
curl -H "Authorization: Bearer $RF_KEY" "https://recentfunding.com/api/v1/pe-firms?sort=deals_12m&acquired=1&limit=20"

aum_usd always comes with aum_source_url: an SEC Form ADV filing for US firms, or the firm's own published figure.

GET/api/v1/pe-firms/{slug}

One firm, every acquisition it made and similar firms.

ParameterValuesDefaultDescription
slug (path)stringA firm slug from /api/v1/pe-firms.

Funds

GET/api/v1/funds

New venture capital funds, most recently announced first. The list is compiled by Shai Goldman and credited in every response. Funds are never counted as startup rounds.

ParameterValuesDefaultDescription
sincestringOnly funds announced on or after this date.
qstringWords that must all appear in the fund's name, its firm's name or its location, case-insensitive.
yearinteger 1990–2100Only funds announced in this year.
limitinteger 1–500100Page size.
offsetinteger 0–10000000Rows to skip. Use the previous response's next_offset.
curl -H "Authorization: Bearer $RF_KEY" "https://recentfunding.com/api/v1/funds?year=2026&limit=50"

amount_usd is set only with amount_source_url.

Stats and rankings

GET/api/v1/stats

Totals by stage, industry and source. No parameters.

GET/api/v1/leaderboard

Companies ranked on one metric, highest first. Ties share a rank.

MetricValue
raised_ytdTotal of the company's sourced rounds announced in year; each round in rounds has its source_url
gained_ytdRise in stated valuation between its last two sourced valuations; both have a source link
ParameterValuesDefaultDescription
metricraised_ytd gained_ytdraised_ytd: capital raised in the year, summing only rounds with an amount and a source URL. gained_ytd: rise in stated valuation over the year - the valuation at the year's last round less the valuation at the round before it, both needing a source URL.
yearinteger 2000–Calendar year, from 2000 to the current year. Defaults to the current year; for the current year the period runs to today.
limitinteger 1–50025Rows to return, highest first.
cryptotrue false anytruetrue (default) ranks crypto companies only, false only the others, any all companies.
curl -H "Authorization: Bearer $RF_KEY" "https://recentfunding.com/api/v1/leaderboard?metric=raised_ytd&limit=10"

GET/api/v1/usage

Your key's requests today and over the last 30 days, by endpoint. Free: it never counts against your limit.

curl -H "Authorization: Bearer $RF_KEY" "https://recentfunding.com/api/v1/usage"

Live feed

New funding rounds pushed over a WebSocket as they are added. Messages have the same fields as [/api/v1/rounds](#get-api-v1-rounds) plus added_at. Available on Pro and Max.

const ws = new WebSocket("wss://vc-radar-production.up.railway.app/v1/stream?api_key=" + RF_KEY + "&stage=seed&min_amount=1000000");
ws.onmessage = e => {
  const m = JSON.parse(e.data);
  if (m.type === "round") console.log(m.name, m.stage, m.amount_usd, m.source_url);
};
  • Filters: stage, min_amount, crypto. backlog (0 to 100, default 10) replays the latest matching rounds first.
  • The first message is {"type": "hello"}. The server pings every 30 seconds; reconnect when the socket closes.
  • Close codes: 4001 invalid key, 4003 plan required, 4029 too many connections (five per key).

Contacts

The people to talk to at a company, with confirmed work emails: the founders we list, then decision makers (founders, C-level, VPs, directors), and the addresses the company publishes on its site.

GET https://recentfunding.com/api/v1/companies/{slug}/contacts
  • Each person has name, title, email (a work address confirmed by checking the mailbox, or null), email_status, linkedin and source. Personal Gmail or Yahoo addresses are never returned.
  • One lookup is one company for your account. Looking the same company up again within 30 days is free.
  • Pro includes 50 lookups a month and Max 100. A free key gets 3 in total. After that, each company uses 10 credits (one dollar) from a pay as you go balance; without one the answer is 402 contacts_quota.
  • In MCP the tool is get_company_contacts.
  • Use them for relevant business outreach only, and stop when someone asks you to. Anyone can remove their address with POST /api/v1/contacts/opt-out and {"email": "..."}, or by emailing hello@recentfunding.com.

MCP

Use Recent Funding from Claude, Cursor and other MCP clients. The server is https://recentfunding.com/mcp (Streamable HTTP). Every endpoint is a tool with the same parameters (list_companies, get_company, list_rounds and so on).

claude mcp add --transport http recent-funding https://recentfunding.com/mcp --header "Authorization: Bearer $RF_KEY"

Calling tools needs Pro or Max. Tool calls count toward your daily limit.

Objects

Image fields (logo, company_logo, avatar) are absolute URLs. Records are identified by slug (companies, investors) or key (categories, accelerators). A null amount means unknown, not zero.

Company

FieldTypeDescription
slugstringStable identifier; use it with /api/v1/companies/{slug}.
namestring
stagestringpre-seed, seed, series-a, series-b+, stealth, or unknown.
industrystring | nullIndustry slug, e.g. ai-agents.
subcategorystring | null
sectorstring | null
descriptionstring | null
cryptoboolean | nullWhether the company is a crypto company. null when the evidence can't settle it: such companies are left out of crypto-only lists and totals (crypto=true) and of crypto=false ones.
first_seen_atstring (date-time)When Recent Funding first discovered the company.
websitestring | null
x_handlestring | nullPrimary X (Twitter) handle, without @.
followersinteger | nullX follower count at the last enrichment.
logostring | null (uri)Logo image as an absolute URL (https://recentfunding.com/logo/... for the copies we keep, else the source's own https URL); null when there is none. The legacy /api/vc keeps the site-relative path (/logo/...).
amount_usdstring | nullLatest round amount in USD as a decimal string (e.g. "1700000.00"); null when unknown.
announced_atstring | null (date-time)Latest round date (midnight UTC).
raise_source_urlstring | nullWhere the latest round's amount came from: the enrichment article, else the scan's source page.
raise_publisherstring | nullPublisher of the enrichment article, when enriched.
raise_providerstring | nullHow the amount was found: scan (the source listing itself), google-news, website, agent-review (confirmed in manual review), press (a press article an import matched the round to), or the news source an import read it from (e.g. fundraisingfox, startupintros). Null when there is no amount or the source is unknown.
sourcesstring[]Discovery sources, e.g. accel:yc, dropstab, coincarp.
source_linksobjectSource name to the page where it listed the company; null when that listing has no public link.
investorsstring[]
flaggedbooleanA source flagged the company before a round was announced.
flagged_atstring | null (date)Earliest date a stealth-tracking source flagged the company.
x_created_atstring | null (date)X account creation date.
domain_created_atstring | null (date)Website domain registration date.
team_sizeinteger | nullPeople listed on the company's own team/about page (distinct LinkedIn profile links). Estimate; see team_source_url.
team_source_urlstring | nullPage the team_size count came from.
smart_followsinteger | nullNumber of tracked investor and founder accounts following the company's X account, as the stealth-tracking source reports it.
days_earlyinteger | nullDays the company was flagged before its raise became public.
new_follows_7dinteger | nullNew follows from those tracked accounts in the last 7 days.
trending_rankinteger | nullPosition in the stealth-tracking source's trending list, when present (1 = top).
hq_citystring | nullCity the company is based in, as its accelerator lists it.
hq_countrystring | nullCountry the company is based in.
founded_yearinteger | nullYear founded, as its accelerator lists it.
categoriesstring[]Up to three category keys (see /api/v1/categories).

CompanyRound

FieldTypeDescription
stagestring
kindstring | nullWhat a round without a venture stage was, when its source says: debt, grant, secondary, public-offering, token-sale, crowdfunding, convertible-note, strategic or growth. A strategic round of 100 million USD or more, and every growth round, also has stage series-b+.
amount_usdstring | nullDecimal string in USD; null when undisclosed or unknown.
valuation_usdstring | nullThe company valuation reported with this round, as a decimal string in USD; null when none was stated. Read from the same source as the amount, so it is the figure that source gave.
announced_atstring | null (date-time)
source_urlstring | null
source_publisherstring | null
source_providerstring | nullHow the amount was found: scan (the source listing itself), google-news, website, agent-review (confirmed in manual review), press (a press article an import matched the round to), or the news source an import read it from (e.g. fundraisingfox, startupintros). Null when the source is unknown.

Round

FieldTypeDescription
slugstringThe company's slug.
namestringThe company's name.
industrystring | null
cryptoboolean | nullWhether the company is a crypto company. null when the evidence can't settle it: such companies are left out of crypto-only lists and totals (crypto=true) and of crypto=false ones.
stagestringThe round's stage.
amount_usdstringDecimal string in USD.
valuation_usdstring | nullThe company valuation reported with this round, as a decimal string in USD; null when none was stated. Read from the same source as the amount, so it is the figure that source gave.
announced_atstring | null (date-time)
source_urlstring | nullWhere the amount came from.
source_publisherstring | null
source_providerstring | nullHow the amount was found: scan (the source listing itself), google-news, website, agent-review (confirmed in manual review), press (a press article an import matched the round to), or the news source an import read it from (e.g. fundraisingfox, startupintros). Null when the source is unknown.
investorsstring[]Investors linked to this round.

Acquisition

FieldTypeDescription
acquirerobjectThe buyer: name, slug (its Recent Funding company profile, or null), investor_slug (its investor profile, or null), pe_firm_slug (its private equity firm profile, or null), pe_sponsor (the private equity firm whose portfolio company it is, for an add-on, or null) and logo.
acquiredobjectThe acquired company: name, slug (its Recent Funding company profile, or null), logo, and for a take-private its ticker and exchange when known.
announced_onstring | null (date)The day the deal was announced (for news, the day the article was published).
completed_onstring | null (date)The day the deal closed, when known.
price_usdstring | nullThe price as a decimal string in USD, converted at the rate of the announcement day when stated in another currency. Null when no press source disclosed it.
price_currencystring | nullThe currency the price was stated in (ISO code).
price_originalstring | nullThe price as stated, in price_currency, when that is not USD.
price_source_urlstring | nullThe article that states the price. Always set when price_usd is.
price_estimateobject | nullNo announced price: Recent Funding's estimate of the deal's size, kept apart from price_usd (which stays null) and shown on the site as a range marked "*" (Estimate, not announced). low and high in USD (high null for an open range such as "at least what it raised"; low equals high for a take-private's equity value derived from its per-share price and SEC-reported shares outstanding), basis how it was estimated, method (per_share, revenue, headcount or funding) and sources, the public inputs. Null when there is too little data. Method: https://recentfunding.com/acquisitions/#estimates
source_urlstring | nullAn announcement or press article about the deal.
source_publisherstring | nullThe publisher of source_url.
categorystring | nullThe acquired company's industry, e.g. ai, fintech, infra-devtools.
startupbooleanWhether this is a startup acquisition: the acquired company is one Recent Funding tracks, or had raised venture funding. scope=startups returns only these.
category_fromstring | nullWhere category comes from: acquired (the acquired company's own industry) or buyer (the buyer's, when the acquired company has none). Null when there is no category.
buyer_typestring | nullpe when the buyer is a private equity firm, growth a growth equity firm (a firm of the Fundraising Fox Open Dataset matched by the buyer's website or exact name, or for pe a firm Recent Funding checked by hand or a buyer whose own website or public description calls it one); null otherwise or when unknown. An add-on (a PE firm's portfolio company buying) has buyer_type null and acquirer.pe_sponsor set. buyer=pe returns both.
deal_typestring | nulltake_private when a listed company was bought and delisted (see the deal_type parameter for the evidence it takes); null otherwise or when unknown.
ai_thesisobject | nullFor a take-private: an article about the deal says the buyer plans to rebuild the company around AI ("an AI-first company", "accelerate its AI strategy"). quote is the article's sentence and source_url the article. Null when no article about the deal says so.

PeFirm

FieldTypeDescription
slugstringThe firm's slug (/api/v1/pe-firms/{slug}, /pe-firms/{slug}/).
namestring
websitestring | null (uri)The firm's website.
logostring | nullLogo URL, when one is known.
hq_citystring | nullHeadquarters city.
hq_countrystring | nullHeadquarters country (ISO 3166-1 alpha-2).
founded_yearinteger | nullThe year the firm was founded.
stagesstring[]The stages it invests at, as the dataset gives them.
sectorsstring[]The sectors it invests in, as the dataset gives them.
check_min_usdstring | nullSmallest check, in USD (decimal string). Set only with profile_source.url, its source.
check_max_usdstring | nullLargest check, in USD (decimal string). Set only with profile_source.url, its source.
aum_usdstring | nullThe firm's assets under management in USD, always with aum_source_url: for a US firm the regulatory AUM its main SEC-registered adviser reports on Form ADV; otherwise the figure the firm publishes, converted at the ECB rate of its date. Null when neither can be had. aum gives the details.
aum_source_urlstring | null (uri)The source of aum_usd: the adviser's SEC Investment Adviser Public Disclosure page, or the firm's own release or page.
aumobject | nullaum_usd in detail: usd, original and currency (as the firm states it), fx_rate (USD per unit), as_of, source_url, method (form_adv or firm_published), adviser (name, crd, for Form ADV) and quote (the firm's own words, for a published figure).
portfolio_countinteger | nullPortfolio companies, as the dataset counts them.
exit_countinteger | nullExits, as the dataset counts them.
profile_sourceobject | nullWhere the firm's profile comes from, for a firm of the dataset: name (Fundraising Fox Open Dataset), url (its page for the firm), license (CC BY 4.0) and version. Null for a firm the dataset lacks, whose profile is its own public facts (name, website, headquarters).
investor_slugstring | nullThe firm's investor slug when it is also an investor on Recent Funding (/api/v1/investors/{slug}), else null.
acquisitionsintegerAcquisitions by the firm on Recent Funding.
acquisitions_12mintegerOf those, announced in the last 12 months.
acquisitions_90dintegerOf those, announced in the last 90 days.
latest_acquisitionobject | nullThe most recently announced: name, slug (its company profile, or null) and announced_on.
top_categoriesobject[]The categories of the companies it bought, most first: key, label, acquisitions.
urlstring (uri)The firm's page on Recent Funding.
website_saysobject | nullFor a firm the dataset lacks that Recent Funding found through its own website: quote, the website's words that describe it as a private equity firm, and url. Null otherwise.
addonsintegerOf acquisitions: add-ons, bought by the firm's portfolio companies.
take_privatesintegerOf acquisitions: take-privates, listed companies bought and delisted.

Fund

FieldTypeDescription
fund_namestringThe fund as the list or the announcement names it, misspellings fixed from its own source.
firmstringThe firm the fund belongs to ("Antler US Fund" is Antler's).
fund_numberstring | nullThe fund's number as a roman numeral ("I" for a firm's first fund); null when the list gives none or a source contradicts it.
first_fundbooleanWhether this is the firm's first fund (Fund I).
amount_usdstring | nullThe fund's size in US dollars, as a string, as its source states it; null when no source states a figure in dollars. Set only with amount_source_url.
amount_currencystring | null"USD" when amount_usd is set.
amount_source_urlstring | null (uri)The source of the size: the article that states it, or the public fund list.
amount_sourcestring | nullIts publisher, or "Shai Goldman's fund list".
amount_viastring | nullpress: an article or post states the size. fund-list: the list itself is the only public source.
amount_notestring | nullfirst close or interim close when the size the source states is a close before the fund's final one; null for a final size.
announced_onstring | null (date)When the fund was announced (the first of the month or year when date_precision says so).
date_precisionstring | nullHow precise announced_on is.
yearinteger | nullThe year the fund was announced.
locationstring | nullWhere the firm is based, as the list gives it.
regionsstring[]The /funds/ location filters the location falls in (bay-area, new-york, israel, ...).
announcement_urlstring | null (uri)The announcement the list cites, when it is not already amount_source_url.
investor_slugstring | nullThe firm's investor page on Recent Funding (/investors/<slug>/), when it has one.

Stats

FieldTypeDescription
companiesintegerActive companies.
with_amountintegerCompanies whose latest round has a known amount.
cryptointeger
latest_first_seen_atstring | null (date-time)
by_stageCount[]Largest first.
by_industryCount[]
by_sourceCount[]A company found by several sources counts once per source.

LeaderboardEntry

FieldTypeDescription
rankinteger1 is the highest. Ties share a rank.
slugstring
namestring
logostring | null (uri)Logo image as an absolute URL (https://recentfunding.com/logo/... for the copies we keep, else the source's own https URL); null when there is none.
websitestring | null
x_handlestring | null
industrystring | null
stagestring | nullThe company's stage.
valuestringThe metric, as a decimal string in USD: capital raised (raised_ytd) or the valuation gained (gained_ytd).
source_urlstring | nullgained_ytd only: where the year's valuation came from (the same as to_source_url).
round_countintegerraised_ytd only: rounds in the total.
roundsobject[]raised_ytd only: the rounds summed, oldest first, each with its source_url.
from_valuationstring | nullValuation at the round before the year's last, as a decimal string in USD (gained_ytd).
from_datestring | nullDate of that earlier round (gained_ytd).
from_source_urlstring | nullWhere the earlier valuation came from (gained_ytd).
to_valuationstring | nullValuation at the year's last round, as a decimal string in USD (gained_ytd).
to_datestring | nullDate of the year's last round (gained_ytd).
to_stagestring | nullStage of the year's last round (gained_ytd).
to_amount_usdstring | nullAmount of the year's last round (gained_ytd).
to_source_urlstring | nullWhere the later valuation came from (gained_ytd).
multiplestring | nullto_valuation divided by from_valuation (gained_ytd).

Data and sources

Every amount links to where it came from: raise_source_url on companies, source_url on rounds. raise_provider says how it was found (google-news, website, press, agent-review and so on). Amounts that no public source supports are left out. The data updates daily. How we source and verify the data explains the method.

Responses send Cache-Control: public, max-age=60 and Access-Control-Allow-Origin: *, so you can call the API from a browser. Please cache on your side, use filters instead of downloading everything, and back off on 429 and 503.

The machine-readable spec is openapi.json (OpenAPI 3.1).

For AI agents

  • Make a key in one request, with the email of the person you work for and what it's for. use_case is required on your first key: a sentence on what you are building. Later keys for the same email can leave it out.
curl -X POST https://recentfunding.com/api/keys/new -H "content-type: application/json" -d '{"email": "you@example.com", "company": "Acme Ventures", "use_case": "weekly deal-flow digest of seed rounds in fintech"}'
  • Tell us what you're building, or want to build, any time. No key needed, and we read every answer. Add wishes for data you'd like us to add. In MCP, the tool is tell_us_what_you_are_building, open on every plan.
curl -X POST https://recentfunding.com/api/v1/building -H "content-type: application/json" -d '{"building": "A weekly digest of seed rounds in fintech for our sales team", "wishes": "Partner names on each round", "volume": "200 calls a day"}'
  • To reach a company's founders or decision makers, call GET /api/v1/companies/{slug}/contacts (MCP: get_company_contacts). See Contacts: only confirmed work emails, 50 companies a month on Pro, and allow a 120 second timeout for a company nobody has looked up yet.
  • On every request, send X-On-Behalf-Of naming who you work for (X-On-Behalf-Of: Acme Ventures (acme.vc)) and name your tool in User-Agent. Tell the person you send this.
  • When a response or error includes upgrade, pass upgrade.tell_your_user to the person you work for, word for word. Don't open the checkout link or pay yourself.
  • Start from llms.txt for a short guide.