findasaas API
The whole directory is readable programmatically. Read endpoints need no key, no signup and no rate-limit registration — so an agent can start with a single request.
Quick start
Search the directory without any credential:
curl "https://findasaas.com/api/v1/listings?search=invoicing&per_page=5"The full contract lives at /openapi.json as an OpenAPI 3.1 document. Every operation has a unique operationId, a description and typed response schemas, so it converts directly into LLM function-calling tools or a generated client.
Endpoints
GET /api/v1/listings — search and filter. Query params: search, category, page, per_page (max 100).
GET /api/v1/listings/{slug} — one listing, including its official website and category tags.
GET /api/v1/categories — the category vocabulary. Call this before filtering by category rather than guessing slugs; an unknown slug returns 404 instead of silently returning everything.
Errors
Failures are JSON, never an HTML page. Branch on code, which is stable — the message is for humans and may be reworded.
{
"error": {
"code": "not_found",
"message": "Unknown category: crm-tools",
"hint": "Call GET /api/v1/categories for the list of valid category slugs.",
"documentation": "https://findasaas.com/developers"
}
}Markdown instead of HTML
Every public page serves a markdown representation through content negotiation, so you do not have to scrape the rendered app. Responses set Vary: Accept.
curl -H "Accept: text/markdown" https://findasaas.com/API keys and scopes
Write access uses a personal key, generated self-serve from your dashboard — there is no sales step and no approval queue. Send it as a bearer token, and grant only the scopes the integration needs:
curl -H "Authorization: Bearer fas_..." https://findasaas.com/api/v1/listingslistings:read— Read public directory listings and categories.listings:write— Create and update listings you own.posts:read— Read product updates on listings you own.posts:write— Publish and edit product updates on listings you own.
A call outside a key's scopes returns 403 with the scope it needed named in requiredScopes, so an agent can tell the difference between "wrong credential" and "insufficient grant" without guessing.
MCP server
The findasaas MCP server exposes a founder's own listings as tools: read them, design the custom detail page, and publish product updates. Transport is Streamable HTTP at https://findasaas.com/api/mcp, with a manifest at /.well-known/mcp.json.
Authentication is OAuth 2.1 with PKCE — discovery at /.well-known/oauth-authorization-server — or the same personal API key, for clients that cannot do OAuth. Directory search does not need MCP; use the REST endpoints above.
Free to use
Reading the directory is free and unauthenticated. Listing a product is free. The paid features are one-time charges for boosts and the custom detail page — there is no subscription and nothing to talk to a salesperson about. See pricing.
Machine-readable index
/llms.txt states when an agent should reach for this site and when it should not. /openapi.json is the contract, /.well-known/mcp.json the MCP manifest, and /sitemap.xml every indexable URL.