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/listings
  • listings:readRead public directory listings and categories.
  • listings:writeCreate and update listings you own.
  • posts:readRead product updates on listings you own.
  • posts:writePublish 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.