Skip to main content
Glama

Search startups

search_startups
Read-only

Search the startup database with any combination of filters: name, sector, country, city radius, founded date, team size, the latest funding round (round_series, raised_after), total funding, valuation, investors (backed_by), StartupHub score, Agent Readiness score, tech stack, website state, stealth status and known founder emails. Each result includes the latest round (last_round_series, last_round_date), sectors, HQ, founded date and score; paid plans add funding totals, headcount and more. Example: round_series=Seed, raised_after=2026-10-01, sort=last_round_date.desc for companies that just raised a seed round. Returns up to 100 per call (1 db credit); page with offset. Pairs with list_startup_team and discover_email to turn each result into a contactable lead. Needs a free StartupHub.ai account.

Input Schema

NameRequiredDescriptionDefault
qNoSearch text, matched against the name and one-liner.
cdnNoComma-separated CDNs: cloudflare, vercel, cloudfront, fastly, netlify; matches any of them.
a11yNoComma-separated accessibility overlays: userway, accessibe, audioeye; matches any of them.
nearNoHQ inside a bounding box around a point: "lat,lng,radius_km", radius clamped to 1-500 km. A malformed value applies no filter. Example "51.507,-0.128,25" for central London.
sortNo'<column>.<asc|desc>'. Columns: total_score, created_at (when StartupHub added the row), last_round_date, latest_funding_date (alias of last_round_date), total_funding, latest_valuation, founded_date, employee_count, employee_growth_quarterly_cagr, linkedin_followers, agent_readiness_score, trending_score_7d, current_revenue, revenue_multiple, revenue_per_employee, funding_efficiency. Default total_score.desc. An unknown column falls back to total_score.desc, and any direction other than asc sorts descending.
limitNoResults per call. Default 20, max 100.
slugsNoComma-separated StartupHub slugs, up to 100, lowercased before matching; matches any of them. Fetches known companies in one call.
hiringNo'true' returns only companies with open roles right now.
offsetNoSkip this many results, to page past the first 100.
sectorNoComma-separated sector names, e.g. "Fintech,Cybersecurity"; matches any of them. Exact sector names as shown on profiles.
statusNoOperating status. Exact, case-sensitive match on the stored value, for example Active or Inactive.
bookingNoComma-separated booking widgets: calendly, calcom, savvycal, chilipiper; matches any of them.
countryNoComma-separated countries; matches any of them. Accepts names or ISO codes; "US", "USA" and "United States" are the same.
hostingNoComma-separated hosting providers: aws, azure, gcp, vercel, render, netlify, hetzner, digitalocean; matches any of them.
paymentNoComma-separated payment providers: stripe, paddle, lemonsqueezy, paypal, klarna, apple_pay; matches any of them. The API also accepts payments as an alias.
stealthNo'true' = stealth only, 'false' = exclude stealth. Stealth rows need Pro Lite or higher.
has_blogNo'true' returns only companies whose website has a blog or news feed we found (RSS or Atom), 'false' only those checked and without one. Sites are rechecked every 90 days.
trendingNo'true' returns companies getting attention on StartupHub this week.
backed_byNoComma-separated investors, up to 20, by StartupHub slug or exact name, e.g. "sequoia-capital,Y Combinator"; matches any of them. When none of them matches an investor, the response is empty data plus a note.
ma_statusNoComma-separated exit states: acquired, public, merged, made_acquisitions; matches any of them.
max_scoreNoMaximum StartupHub score.
min_scoreNoMinimum StartupHub score (0-100). 70+ is roughly the top 1.5%.
ai_supportNoComma-separated AI customer support tools: intercom_fin, ada, sierra, decagon, drift_ai, fin_ai; matches any of them.
complianceNoComma-separated compliance claims found on the site: soc2, hipaa, iso27001, gdpr, ccpa, pci_dss, fedramp; matches any of them.
domain_tldNoComma-separated domain endings, e.g. "ai,io"; matches any of them.
has_websiteNo'true' returns only companies with a website on file.
open_sourceNo'true' returns only open-source companies.
status_pageNoComma-separated status page vendors: statuspage, instatus, betterstack; matches any of them.
has_foundersNo'true' returns only companies with known founders, ready for list_startup_team.
raised_afterNoMost recent funding round announced on or after this date: YYYY, YYYY-MM or YYYY-MM-DD.
round_seriesNoComma-separated stages of the most recent funding round; matches any of them. Values: Angel, Pre-Seed, Seed, Pre-Series A, Series A to Series H, Growth, Debt, Grant, Strategic, IPO. Pair with raised_after for "just raised a seed round".
employees_maxNoMaximum employee count (inclusive). Use 10 for tiny teams.
employees_minNoMinimum employee count (inclusive).
founded_afterNoFounded on or after this date: YYYY, YYYY-MM or YYYY-MM-DD.
max_valuationNoMaximum latest valuation, USD.
min_valuationNoMinimum latest valuation, USD. 1000000000 for unicorns.
raised_beforeNoMost recent funding round announced on or before this date: YYYY, YYYY-MM or YYYY-MM-DD.
cookie_consentNoComma-separated cookie consent vendors: onetrust, cookiebot, osano, termly; matches any of them.
email_providerNoComma-separated email providers: google_workspace, m365, zoho, proton, proofpoint, mimecast, self_hosted, gateway; matches any of them.
founded_beforeNoFounded on or before this date: YYYY, YYYY-MM or YYYY-MM-DD.
website_statusNoComma-separated website states: active, dead, parked; matches any of them.
email_marketingNoComma-separated email marketing tools: klaviyo, mailchimp, hubspot_forms, customer_io, loops; matches any of them.
hiring_platformNoComma-separated hiring platforms: greenhouse, lever, ashby, workable, teamtailor; matches any of them.
mentioned_sinceNoCovered in StartupHub news on or after this date: YYYY, YYYY-MM or YYYY-MM-DD.
has_known_emailsNo'true' returns only companies with at least one verified founder or team email. Pro Lite and up; Pro Lite sees redacted addresses, Pro sees them in full.
affiliate_programNoComma-separated affiliate platforms: partnerstack, rewardful, tolt, firstpromoter, impact; matches any of them.
max_total_fundingNoMaximum total funding raised, USD.
min_total_fundingNoMinimum total funding raised, USD.
min_reddit_reviewsNoMinimum number of classified Reddit reviews.
max_agent_readinessNoMaximum Agent Readiness score.
min_agent_readinessNoMinimum Agent Readiness score (0-100): how well AI agents can use the company website.
max_revenue_multipleNoMaximum valuation-to-revenue multiple.
min_reddit_sentimentNoMinimum Reddit sentiment, -100 to 100. Pair with min_reddit_reviews.
min_revenue_multipleNoMinimum valuation-to-revenue multiple (sparse).
agent_readiness_gradeNoComma-separated Agent Readiness grades: A+, A, B, C, D, F; matches any of them.
blog_post_within_daysNoOnly companies whose blog published a post within this many days (30, 90 or 365 are the usual values). Implies has_blog=true.
has_affiliate_programNo'true' returns only companies running an affiliate program.
max_funding_efficiencyNoMaximum revenue per dollar raised.
max_linkedin_followersNoMaximum LinkedIn followers.
min_funding_efficiencyNoMinimum revenue per dollar raised (sparse).
min_linkedin_followersNoMinimum LinkedIn followers, a brand-size proxy when headcount is unknown.
max_revenue_per_employeeNoMaximum revenue per employee, USD.
min_revenue_per_employeeNoMinimum revenue per employee, USD (sparse).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed13 schema fields changed
    • addedInput schema / properties / ai_support
      Added value: +{
      +  "description": "Comma-separated AI customer support tools: intercom_fin, ada, sierra, decagon, drift_ai, fin_ai; matches any of them.",
      +  "type": "string"
      +}
    • changedInput schema / properties / backed_by / description
      Previous value: -"Comma-separated investors, by StartupHub slug or exact name, e.g. \"sequoia-capital,Y Combinator\"; matches any of them."New value: +"Comma-separated investors, up to 20, by StartupHub slug or exact name, e.g. \"sequoia-capital,Y Combinator\"; matches any of them. When none of them matches an investor, the response is empty data plus a note."
    • addedInput schema / properties / blog_post_within_days
      Added value: +{
      +  "description": "Only companies whose blog published a post within this many days (30, 90 or 365 are the usual values). Implies has_blog=true.",
      +  "type": "number"
      +}
    • addedInput schema / properties / has_blog
      Added value: +{
      +  "description": "'true' returns only companies whose website has a blog or news feed we found (RSS or Atom), 'false' only those checked and without one. Sites are rechecked every 90 days.",
      +  "enum": [
      +    "true",
      +    "false"
      +  ],
      +  "type": "string"
      +}
    • changedInput schema / properties / limit / description
      Previous value: -"Results per call, up to 100."New value: +"Results per call. Default 20, max 100."
    • changedInput schema / properties / mentioned_since / description
      Previous value: -"Covered in StartupHub news on or after this date (YYYY-MM-DD)."New value: +"Covered in StartupHub news on or after this date: YYYY, YYYY-MM or YYYY-MM-DD."
    • changedInput schema / properties / near / description
      Previous value: -"HQ within a radius: \"lat,lng,radius_km\", radius capped at 500 km. Example \"51.507,-0.128,25\" for central London."New value: +"HQ inside a bounding box around a point: \"lat,lng,radius_km\", radius clamped to 1-500 km. A malformed value applies no filter. Example \"51.507,-0.128,25\" for central London."
    • changedInput schema / properties / payment / description
      Previous value: -"Comma-separated payment providers: stripe, paddle, lemonsqueezy, paypal, klarna, apple_pay; matches any of them."New value: +"Comma-separated payment providers: stripe, paddle, lemonsqueezy, paypal, klarna, apple_pay; matches any of them. The API also accepts payments as an alias."
    • changedInput schema / properties / raised_before / description
      Previous value: -"Most recent funding round announced on or before this date."New value: +"Most recent funding round announced on or before this date: YYYY, YYYY-MM or YYYY-MM-DD."
    • changedInput schema / properties / slugs / description
      Previous value: -"Comma-separated StartupHub slugs, to fetch known companies in one call; matches any of them."New value: +"Comma-separated StartupHub slugs, up to 100, lowercased before matching; matches any of them. Fetches known companies in one call."
    • changedInput schema / properties / sort / description
      Previous value: -"'<column>.<asc|desc>'. Columns: total_score, last_round_date, total_funding, latest_valuation, founded_date, employee_count, linkedin_followers, agent_readiness_score, trending_score_7d, current_revenue, revenue_multiple, revenue_per_employee, funding_efficiency. Default total_score.desc."New value: +"'<column>.<asc|desc>'. Columns: total_score, created_at (when StartupHub added the row), last_round_date, latest_funding_date (alias of last_round_date), total_funding, latest_valuation, founded_date, employee_count, employee_growth_quarterly_cagr, linkedin_followers, agent_readiness_score, trending_score_7d, current_revenue, revenue_multiple, revenue_per_employee, funding_efficiency. Default total_score.desc. An unknown column falls back to total_score.desc, and any direction other than asc sorts descending."
    • changedInput schema / properties / status / description
      Previous value: -"Operating status."New value: +"Operating status. Exact, case-sensitive match on the stored value, for example Active or Inactive."
    • removedInput schema / properties / status / enum
      Removed value: -[
      -  "Active",
      -  "Inactive"
      -]
  2. Added

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds genuinely new operational context: cost ('1 db credit'), a hard return cap ('up to 100 per call'), offset pagination, an account requirement, and that paid plans change which fields come back. It stops short of describing result ordering behavior or the empty-result note in any depth.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single dense paragraph with no filler; purpose leads, then filters, then return shape, then example, then limits and pairing. It is longer than average but every sentence carries information for a 63-parameter tool. Slightly front-loaded toward enumeration rather than routing, keeping it just under top marks.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 63-parameter, zero-required tool with no output schema, the description covers what is missing elsewhere: the shape of each result (latest round, sectors, HQ, founded date, score), the plan-dependent field differences, the 100-per-call cap with offset paging, credit cost, and account prerequisite. An agent has everything needed to call it correctly without opening the schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3 and the schema carries the per-parameter burden. The description still adds value by grouping the 63 filters into recognizable categories (sector, geography, funding, scores, tech stack, stealth) and demonstrating how several combine in one query, which helps an agent plan a call rather than read 63 fields in isolation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Search the startup database') and enumerates the full filter surface plus the returned fields, so an agent knows exactly what the tool does. It also signals its position relative to siblings by noting it pairs with list_startup_team and discover_email, distinguishing it from the get_startup/enrich_company retrieval tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives clear usage context ('with any combination of filters'), a concrete worked example (round_series=Seed, raised_after=..., sort=last_round_date.desc), and the downstream composition path with list_startup_team and discover_email. However it never states when NOT to use this tool or named alternatives (e.g. find_stealth_startups, generate_startup_list), so exclusions are absent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources