Discover/f API
live

f APIf.inc

Access all 177 Founders, Inc. portfolio companies via 3 endpoints. Retrieve company names, industries, founding years, team sizes, founders, and more.

This API takes change requests — .
Endpoints
3
Updated
1mo ago

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.

Try it

No input parameters required.

api.parse.bot/scraper/53c8d229-8d63-4c1e-bf9b-0b9f019b6458/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/53c8d229-8d63-4c1e-bf9b-0b9f019b6458/get_portfolio' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

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()
All endpoints · 3 totalmissing one? ·

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.

Input

No input parameters required.

Response
{
  "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.

Reliability & maintenance

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?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • 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_founded across the full portfolio response.
  • Cross-reference portfolio domain fields 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_portfolio response.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 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.

Frequently asked questions
Does Founders, Inc. offer an official developer API?+
Founders, Inc. does not publish an official public developer API for their portfolio data at f.inc.
What does the `founders` field return, and does it include social profiles or contact information?+
The 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?+
The 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?+
The API reflects the companies listed on the f.inc/portfolio page. Companies that have been removed from that page would not appear in responses. Historical or archived company records are not currently covered. You can fork this API on Parse and revise it to add an endpoint tracking changes in portfolio composition over time.
How do I look up a company if I don't know its slug?+
Use 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.
Page content last updated . Spec covers 3 endpoints from f.inc.
Related APIs in B2b DirectorySee all →
crunchbase.com API
Search and retrieve detailed information about companies, investors, and key people to discover funding opportunities, track market competitors, and analyze investment trends. Access comprehensive profiles including organization details, investor backgrounds, and complete funding round histories all in one place.
dnb.com API
Search millions of companies in Dun & Bradstreet's global business directory to find detailed company profiles and verify D-U-N-S numbers. Look up key business information like company details and identifiers to support due diligence, sales prospecting, and business intelligence needs.
ycombinator.com API
Access comprehensive data from the Y Combinator ecosystem, including company profiles, founder and partner information, job listings, and the YC library. Filter companies by batch, industry, and hiring status, and explore detailed profiles with social links, team information, and funding metadata.
opencorporates.com API
Access comprehensive company registration data, officer details, and filing histories from OpenCorporates across jurisdictions worldwide to research businesses and their leadership. Search for specific companies or officers, retrieve detailed corporate information, and explore filing records to support due diligence, compliance checks, and business intelligence.
rusprofile.ru API
Search Russian companies and retrieve their detailed profiles including financial information, registration details, and director information from Rusprofile's database. Look up director credentials by their tax identification number and discover company relationships and links.
dir.indiamart.com API
Search and extract supplier listings, product details, and business factsheets from the IndiaMart B2B directory. Browse by city and category, retrieve structured product specifications, pricing, and supplier verification data.
mwcbarcelona.com API
Discover and explore MWC Barcelona 2026 exhibitors, speakers, and sessions by searching, filtering, and browsing by category, location, or type. Access detailed information about pavilions, agenda schedules, news updates, and pass options to plan your conference experience.
explodingtopics.com API
Discover rapidly growing trends, emerging startups, and top-performing websites by filtering through trending topics by category and volatility. Programmatically access detailed trend analysis, related topics, blog coverage, and curated highlights to stay ahead of market movements.