f APIf.inc ↗
Access all 177 Founders, Inc. portfolio companies via 3 endpoints. Retrieve company names, industries, founding years, team sizes, founders, and more.
What is the f API?
The f.inc API provides structured access to all 177 companies in the Founders, Inc. portfolio across 3 endpoints. Use get_portfolio to retrieve the full list with fields like industry, year_founded, team_size, founders, and tagline, or use search_portfolio to filter by keyword across company name, description, and domain. Individual company lookups are available via get_company using a URL slug.
No input parameters required.
curl -X GET 'https://api.parse.bot/scraper/53c8d229-8d63-4c1e-bf9b-0b9f019b6458/get_portfolio' \ -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 f-inc-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.
"""
Founders, Inc. Portfolio API Client
A practical example of using the Parse API to interact with the Founders, Inc. portfolio.
Get your API key from: https://parse.bot/settings
"""
import os
import requests
from typing import Optional
class ParseClient:
"""Client for interacting with the Founders, Inc. Portfolio API via Parse."""
def __init__(self, api_key: Optional[str] = None):
"""Initialize the Parse API client.
Args:
api_key: API key for Parse. If not provided, reads from PARSE_API_KEY env var.
"""
self.base_url = "https://api.parse.bot"
self.scraper_id = "53c8d229-8d63-4c1e-bf9b-0b9f019b6458"
self.api_key = api_key or os.getenv("PARSE_API_KEY")
if not self.api_key:
raise ValueError(
"API key not provided. Set PARSE_API_KEY environment variable "
"or pass api_key parameter."
)
def _call(self, endpoint: str, method: str = "POST", **params) -> dict:
"""Make a request to the Parse API.
Args:
endpoint: The API endpoint to call.
method: HTTP method (GET or POST).
**params: Parameters to pass to the endpoint.
Returns:
The JSON response from the API.
"""
url = f"{self.base_url}/scraper/{self.scraper_id}/{endpoint}"
headers = {
"X-API-Key": self.api_key,
"Content-Type": "application/json"
}
if method == "GET":
response = requests.get(url, headers=headers, params=params)
elif method == "POST":
payload = params if params else {}
response = requests.post(url, headers=headers, json=payload)
else:
raise ValueError(f"Unsupported HTTP method: {method}")
response.raise_for_status()
return response.json()
def get_portfolio(self) -> dict:
"""Get all portfolio companies from Founders, Inc.
Returns:
Dictionary containing total count and list of all companies.
"""
return self._call("get_portfolio", method="GET")
def search_portfolio(self, query: str) -> dict:
"""Search portfolio companies by keyword.
Args:
query: Search keyword to match against company name, tagline,
description, industry, and domain.
Returns:
Dictionary containing total count and matching companies.
"""
return self._call("search_portfolio", method="GET", query=query)
def get_company(self, slug: str) -> dict:
"""Get detailed information about a specific company.
Args:
slug: URL slug of the company (e.g., 'zeit-medical', 'adaptyv-bio').
Returns:
Dictionary containing detailed company information.
"""
return self._call("get_company", method="GET", slug=slug)
def extract_slug_from_url(url: str) -> str:
"""Extract the company slug from a portfolio URL.
Args:
url: The full portfolio URL.
Returns:
The company slug.
"""
return url.split("/portfolio/")[-1].rstrip("/")
def main():
"""Practical workflow demonstrating the Founders, Inc. Portfolio API."""
# Initialize the client
client = ParseClient()
print("=" * 80)
print("FOUNDERS, INC. PORTFOLIO ANALYSIS")
print("=" * 80)
# Step 1: Search for AI/ML companies
print("\n1. Searching for AI/ML related companies...")
search_results = client.search_portfolio("AI")
ai_companies = search_results.get("companies", [])
print(f" Found {len(ai_companies)} companies related to 'AI'")
# Step 2: Analyze the top 3 AI companies
print("\n2. Analyzing top 3 AI companies in detail...")
for i, company in enumerate(ai_companies[:3], 1):
print(f"\n Company {i}: {company['name']}")
print(f" - Tagline: {company['tagline']}")
print(f" - Industry: {company['industry']}")
print(f" - Founded: {company['year_founded']}")
print(f" - Team Size: {company['team_size']}")
print(f" - Founders: {', '.join(company['founders'])}")
print(f" - Website: {company['domain']}")
# Get full details for each company
slug = extract_slug_from_url(company['url'])
detailed_info = client.get_company(slug)
print(f" - Description: {detailed_info['description'][:100]}...")
# Step 3: Search for companies in a specific industry/technology
print("\n3. Searching for robotics companies...")
robotics_results = client.search_portfolio("robotics")
robotics_companies = robotics_results.get("companies", [])
print(f" Found {len(robotics_companies)} robotics-related companies:")
for company in robotics_companies[:5]: # Show top 5
print(f" - {company['name']} ({company['year_founded']}) - {company['tagline']}")
# Step 4: Search for companies by founding year
print("\n4. Searching for recently founded companies (2024-2025)...")
recent_results = client.search_portfolio("2025")
recent_companies = recent_results.get("companies", [])
print(f" Found {len(recent_companies)} companies founded in 2025:")
for company in recent_companies[:5]: # Show top 5
print(f" - {company['name']} - Team: {company['team_size']} people")
# Step 5: Find companies with specific founders
print("\n5. Searching for companies founded by specific individuals...")
founder_results = client.search_portfolio("Ari")
founder_companies = founder_results.get("companies", [])
print(f" Found {len(founder_companies)} companies with 'Ari' in their information:")
for company in founder_companies[:3]:
matching_founders = [f for f in company['founders'] if 'Ari' in f]
if matching_founders:
print(f" - {company['name']}: {', '.join(matching_founders)}")
# Step 6: Analyze industry distribution
print("\n6. Analyzing company distribution across industries...")
all_results = client.get_portfolio()
all_companies = all_results.get("companies", [])
industry_count = {}
for company in all_companies:
industry = company['industry']
industry_count[industry] = industry_count.get(industry, 0) + 1
print(f" Total companies: {len(all_companies)}")
print(" Top 10 industries by company count:")
for industry, count in sorted(industry_count.items(), key=lambda x: x[1], reverse=True)[:10]:
percentage = (count / len(all_companies)) * 100
print(f" - {industry}: {count} companies ({percentage:.1f}%)")
# Step 7: Find largest teams
print("\n7. Finding companies with the largest teams...")
sorted_by_team = sorted(
all_companies,
key=lambda x: int(x.get('team_size', 0)),
reverse=True
)
print(" Top 5 companies by team size:")
for company in sorted_by_team[:5]:
print(f" - {company['name']}: {company['team_size']} people - {company['tagline']}")
print("\n" + "=" * 80)
print("Analysis complete!")
print("=" * 80)
if __name__ == "__main__":
main()Get all 177 portfolio companies from Founders, Inc. with their details including name, tagline, description, domain, URL, industry, year founded, team size, and founders. Results are sorted alphabetically by company name.
No input parameters required.
{
"type": "object",
"fields": {
"total": "integer",
"companies": "array of company objects with name, tagline, description, domain, url, industry, year_founded, team_size, founders"
},
"sample": {
"total": 177,
"companies": [
{
"url": "https://f.inc/portfolio/3e8-robotics/",
"name": "3E8 Robotics",
"domain": "3e8robotics.com",
"tagline": "Autonomous multi-floor delivery robots.",
"founders": [
"Ari Wasch",
"David Feldt",
"Sajeel Purewal"
],
"industry": "Hardware",
"team_size": "3",
"description": "3E8 Robotics builds fully autonomous delivery robots for hotels, apartments, and office buildings.",
"year_founded": "2025"
}
]
}
}About the f API
What the API Covers
The f.inc API exposes the complete Founders, Inc. portfolio from f.inc/portfolio. Each company record includes name, tagline, description, domain, url, industry, year_founded, team_size, and a founders array of name strings. The get_portfolio endpoint returns all 177 companies in a single response sorted alphabetically, along with a total count.
Searching and Filtering
The search_portfolio endpoint accepts a required query string and matches it against company name, tagline, description, industry, and domain fields simultaneously. This makes it straightforward to find companies by sector (e.g., "biotech") or by any term that appears in a company description. Results share the same schema as the full portfolio response and are also sorted alphabetically.
Per-Company Detail
The get_company endpoint takes a slug parameter corresponding to the last path segment of the company's f.inc URL — for example, zeit-medical or adaptyv-bio. It returns the full company record including all fields available in the portfolio list: name, domain, tagline, founders, industry, team_size, description, and year_founded. This is useful for resolving a specific company after identifying it via search_portfolio.
The f API is a managed, monitored endpoint for f.inc — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when f.inc 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 f.inc 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 filterable directory of Founders, Inc. portfolio companies by industry using
get_portfolio. - Find all portfolio companies in a specific sector by passing an industry keyword to
search_portfolio. - Enrich a CRM or deal-flow database with founder names, team size, and founding year for each portfolio company.
- Identify early-stage companies by filtering on
year_foundedacross the full portfolio response. - Cross-reference portfolio
domainfields against web traffic or SEO datasets to benchmark startup growth. - Display a specific company's tagline, description, and founders on an investment research tool using
get_company. - Track the composition of the Founders, Inc. portfolio over time by storing periodic snapshots of the
get_portfolioresponse.
| 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 Founders, Inc. offer an official developer API?+
What does the `founders` field return, and does it include social profiles or contact information?+
founders field is an array of founder name strings. It does not include social profiles, LinkedIn URLs, email addresses, or other contact details. The API covers name, tagline, description, domain, industry, year_founded, and team_size. You can fork this API on Parse and revise it to add an endpoint that enriches founder records with additional profile data.Can I filter `get_portfolio` results by industry or founding year directly?+
get_portfolio endpoint returns all 177 companies without server-side filtering by field. Filtering by industry or year_founded needs to be done client-side on the returned array. The search_portfolio endpoint does support keyword matching against the industry field. You can fork this API on Parse and revise it to add dedicated filter parameters for year_founded or team_size.Does the API cover portfolio companies that are no longer active or have been acquired?+
How do I look up a company if I don't know its slug?+
search_portfolio with the company name or a relevant keyword to find the company and retrieve its url field. The slug is the final path segment of that URL — for example, a url of https://f.inc/portfolio/zeit-medical corresponds to the slug zeit-medical, which you then pass to get_company.