a16z APIa16z.com ↗
Access the full a16z portfolio via API. Filter by investment stage (Seed, IPO, M&A, etc.), search by founder or company name, and retrieve structured company data.
What is the a16z API?
The a16z Portfolio API exposes the complete Andreessen Horowitz investment portfolio through a single get_portfolio endpoint, returning up to 11 fields per company including founders, investment stages, social links, website, ticker symbol, and overview text. You can filter results by investment stage — Seed through EXIT, IPO, SPAC, and more — or run a free-text search across company names, overviews, and founder names.
curl -X GET 'https://api.parse.bot/scraper/3752e80b-f198-4ad4-9f4b-9cde8fc9316f/get_portfolio?query=AI&stage=Seed' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace a16z-com-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""Walkthrough: a16z Portfolio Companies API — discover and filter portfolio companies."""
from parse_apis.a16z_portfolio_companies_api import A16Z, Stage, NotFoundError
client = A16Z()
# List all IPO-stage companies (bounded)
for company in client.companies.list(stage=Stage.IPO, limit=5):
print(company.name, company.ticker_symbol, company.stages)
# Search for AI companies and drill into the first result
ai_company = client.companies.list(query="AI", limit=1).first()
if ai_company:
print(ai_company.name, ai_company.overview[:80])
for social in ai_company.socials:
print(social.platform, social.url)
# List seed-stage investments
for company in client.companies.list(stage=Stage.SEED, limit=3):
print(company.name, company.founders, company.year_founded)
# Typed error handling
try:
result = client.companies.list(stage=Stage.GROWTH, limit=1).first()
if result:
print(result.name, result.website)
except NotFoundError as exc:
print(f"Not found: {exc}")
print("exercised: companies.list (no filter / stage filter / query filter)")
Get all a16z portfolio companies with optional filtering by investment stage or search query. Returns the full list when no filters are provided. Filtering is client-side over a single-page dataset containing all portfolio companies. The stage filter matches case-insensitively against the company's stages array. The query filter matches case-insensitively against name, overview, and founders fields.
| Param | Type | Description |
|---|---|---|
| query | string | Search query to filter companies by name, overview, or founders. |
| stage | string | Filter by investment stage. |
{
"type": "object",
"fields": {
"total": "integer - number of companies returned",
"companies": "array of Company objects"
},
"sample": {
"data": {
"total": 28,
"companies": [
{
"id": "371966",
"logo": "https://d1lamhf6l6yk6d.cloudfront.net/uploads/2024/10/logo_00180000010QDQx-20230418215955.svg",
"name": "Affirm",
"email": "",
"stages": [
"IPO"
],
"socials": [
{
"url": "https://www.facebook.com/AffirmInc/",
"platform": "Facebook"
},
{
"url": "https://twitter.com/affirm",
"platform": "X"
}
],
"website": "https://affirm.com",
"acquirer": "",
"founders": "Max Levchin, Jeff Kaditz, Nathan Gettings, Alex Rampell",
"overview": "Affirm is a next-generation consumer finance company providing shoppers with instant point-of-sale financing for online purchases.",
"exit_date": "",
"invest_date": "",
"year_founded": "",
"ticker_symbol": "AFRM",
"announcement_url": "",
"announcement_excerpt": ""
}
]
},
"status": "success"
}
}About the a16z API
What the API Returns
The get_portfolio endpoint returns a companies array alongside a total count. Each company object includes: id, name, website, logo (image URL), year_founded, stages (one or more investment stages a16z has assigned), founders (array of founder names), overview (short description of the company), socials (social profile links), email, and ticker_symb for publicly traded companies.
Filtering and Search
Two optional query parameters control what gets returned. The stage parameter accepts one of eight discrete values: Seed, Venture, Growth, IPO, M&A, EXIT, DPO, or SPAC. Omitting it returns the full portfolio across all stages. The query parameter matches against company name, overview text, and founder names, making it useful for finding all portfolio companies associated with a specific person or operating in a described space.
Data Scope
Coverage maps directly to what a16z publishes on their public portfolio page at a16z.com/portfolio. The stages field can contain multiple values per company, reflecting cases where a16z participated across multiple rounds. The ticker_symb field is populated only for companies that have gone public; it will be absent or null for private portfolio companies. Social links in the socials field vary by company — not every company has every network represented.
The a16z API is a managed, monitored endpoint for a16z.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when a16z.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official a16z.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Build a dashboard tracking a16z portfolio companies by investment stage, from Seed through EXIT
- Search for all a16z-backed companies with a specific founder to map repeat entrepreneurs in the portfolio
- Pull ticker symbols from
ticker_symbto cross-reference public a16z portfolio companies with market data - Identify which portfolio companies were founded in a given year using the
year_foundedfield - Aggregate social profiles from
socialsto monitor a16z portfolio companies across Twitter, LinkedIn, and other networks - Filter by
stage: IPOorstage: M&Ato track portfolio liquidity events over time - Generate a competitive landscape by searching
queryfor a sector keyword and extracting company overviews
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does a16z have an official developer API for their portfolio data?+
What does the `stages` field actually contain, and can a company appear in multiple stages?+
stages field is an array, so a single company can carry multiple stage labels — for example, a company that received both Venture and Growth investment from a16z will show both. When you filter using the stage parameter, results include any company whose stages array contains that value.Does the API return individual funding round amounts or valuation data?+
Are a16z blog posts or portfolio company announcements included in responses?+
get_portfolio endpoint returns structured company-level data — name, overview, founders, socials, stages — but does not include linked articles, press releases, or a16z blog posts about those companies. You can fork this API on Parse and revise it to add an endpoint covering a16z's news and announcement pages.How current is the portfolio data, and are recently announced investments reflected immediately?+
get_portfolio periodically is the way to detect changes.