search_products
Natural-language and structured search over every live product on Founder.best. The tool to start with for any 'find me tools for X' request.
- Auth
- None
- Side effects
- None (read-only)
- Returns
- text + structuredContent
Searches every live product on Founder.best. Pass a natural-language query, structured filters, or both. With a query, results are ranked by relevance (name, then tagline, then use cases / audiences / categories, then description, with a bonus when all terms match). Without one, they are ordered by community upvotes. Drafts, pending free launches and rejected products are never returned.
Parameters
querystringgenerate social media content or invoicing for freelancers. Filler words are ignored and terms are lightly stemmed.categorystringuse_casestringsocial-media-management. Matches the product’s tagged use cases exactly.audiencestringfounders, developers, marketers.pricingstring[]free, freemium, subscription, one_time, paid, open_source. Products matching any listed value are included.platformstring[]web, mobile, api, mcp, cli, desktop.founderstringfeaturedbooleanlaunched_afterstring (YYYY-MM-DD)launch_date.launched_beforestring (YYYY-MM-DD)launch_date.sortstringdefault relevancerelevance (falls back to upvotes without a query), upvotes, newest, oldest or rating.limitintegerdefault 10pageintegerdefault 1has_more; increment while it is true.Response
structuredContent contains total, page, limit, has_more and a products array.
Each product is a product summary: name, slug, tagline, description, website, url (the Founder.best page), api_url, markdown_url, logo_url, status (live or upcoming), is_featured, launch_date, pricing, categories, use_cases, target_audiences, platforms, metrics and founder.
Example
Find me 10 SaaS products for generating social media content that have a free tier.The agent calls the tool:
{
"name": "search_products",
"arguments": {
"query": "generate social media content",
"pricing": ["free", "freemium"],
"limit": 10
}
}and gets back Markdown for the model plus structuredContent shaped like this (trimmed):
{
"total": 23,
"page": 1,
"limit": 10,
"has_more": true,
"products": [
{
"type": "product",
"name": "BidPage",
"slug": "bidpage",
"tagline": "Turn your next sponsorship into an auction.",
"website": "https://bidpage.app",
"url": "https://www.founder.best/products/bidpage",
"status": "live",
"launch_date": "2026-09-14",
"pricing": { "type": "free", "label": "Free", "has_free_tier": true },
"categories": [{ "name": "SaaS", "slug": "saas", "url": "https://www.founder.best/categories/saas" }],
"use_cases": ["Social Media Automation", "Social Media Management", "Content Promotion"],
"target_audiences": ["Solopreneurs", "Developers", "Sales Teams"],
"platforms": ["Web", "Desktop"],
"metrics": { "upvotes": 12, "comments": 2, "rating_average": null, "rating_count": 0 },
"founder": { "name": "Mustafa Sarp Yalcin", "username": "sarp", "url": "https://www.founder.best/founders/sarp" }
}
]
}Notes
totalfor a text search is the number of matching candidates after ranking (capped at 300), so it is exact for normal queries and a floor for very broad ones.- Combining
category,use_case,audienceandplatformnarrows with AND; values insidepricingandplatformarrays combine with OR. status: “upcoming”marks a product whose page is live but whose launch week is still ahead. Say so if you recommend it.
REST equivalent
Array parameters are comma-separated in the URL. See Products API.
