Robust Devs developer and agent resources

A public read-only API, an MCP server, an OpenAPI 3.1 description, and a CLI. No API key, no signup, no sandbox to request. Everything on this page is live and callable right now.

The Robust Devs REST API

Base URL https://robustdevs.co. Every operation is a GET, every response is public information, and there is no authentication step to get wrong. Canonical paths are versioned under /api/v1/; the unversioned /api/ paths are stable aliases of the same handlers.

getApiIndex

GET /api/v1

The API root. Lists the operations, the error model and the rate-limit policy, so a caller can use the API without parsing the OpenAPI document first.

curl "https://robustdevs.co/api/v1"

listBlogPosts

GET /api/v1/blogs

Published articles, newest first.

limit
integer 1–50, default 3 How many posts to return
slug
string Restrict to one post by URL slug
curl "https://robustdevs.co/api/v1/blogs?limit=1"

listCaseStudies

GET /api/v1/case-studies

Client case studies, newest first, with outcome metrics and tech stack where the client permitted publication.

limit
integer 1–50, default 3 How many case studies to return
slug
string Restrict to one category by title, e.g. SaaS. Matches the category, not a case-study slug.
curl "https://robustdevs.co/api/v1/case-studies?limit=1"

The Robust Devs MCP server

Model Context Protocol over Streamable HTTP, protocol version 2025-06-18 and no authentication. Point a client at https://robustdevs.co/api/mcp; the same server also answers on /mcp and /.well-known/mcp, and publishes its card at /.well-known/mcp/server-card.json.

list_blog_posts
Published Robust Devs articles about AI product engineering.
list_case_studies
Published client case studies with outcome metrics and tech stack.
get_pricing
The one standing published price, and how everything else is scoped.
get_capabilities
What Robust Devs builds, which three markets it serves, and how to start.

The Robust Devs CLI and SDK

One npm package, zero dependencies, no API key. It is a thin client over the same endpoints documented above — nothing is available through it that is not available through curl.

npx robustdevs blog --limit 3     # no install
npm install -g robustdevs         # CLI
npm install robustdevs            # SDK

import { RobustDevsClient } from 'robustdevs';
const client = new RobustDevsClient();
await client.listBlogPosts({ limit: 5 });

Errors, rate limits and versioning

Typed errors

Every failure is application/problem+json (RFC 9457) and validates against the ApiError schema in the OpenAPI document. Branch on error.code, never on the prose in title.

invalid_limit
400 limit was not an integer between 1 and 50.
endpoint_not_found
404 No endpoint is published at that path.
rate_limited
429 Too many requests. Wait for Retry-After.
internal_error
500 Unexpected server error. Retry once.
upstream_unavailable
502 The CMS could not be reached. Transient — retry.

Rate limits

120 requests per 60 seconds, advertised on every response — success and failure alike — as RFC 9331 headers, so a caller can self-throttle instead of discovering the limit by hitting it. Exceeding it returns 429 with Retry-After. Enforcement is best-effort and per instance rather than global: read the headers as a courtesy signal, not a security boundary.

RateLimit-Policy: "content";q=120;w=60
RateLimit: "content";r=118;t=57

Versioning and deprecation

The version is in the path. Breaking changes ship under a new one — /api/v2/ — and a version is never changed in place. Every response names the version that served it in an API-Version header. When a version is scheduled for removal its responses carry Deprecation (RFC 9745) and Sunset (RFC 8594), with the sunset date at least 180 days out. No version is deprecated today, which is why neither header is present. Full policy: /deprecation-policy.md.

Every machine-readable file Robust Devs publishes

All of these are also advertised as RFC 8288 Link headers on every route on this site, so an agent that lands anywhere can find them with one HEAD request.

/api/v1
The API root: operations, error model, rate-limit policy, documentation links.
/openapi.json
OpenAPI 3.1 description of the public content API, including the typed error schema. Also served at /.well-known/openapi.json and /api/openapi.json.
/api.md
The same API in markdown: operations, errors, rate limits.
/api/mcp
MCP server, Streamable HTTP. Also answers on /mcp and /.well-known/mcp.
/.well-known/mcp/server-card.json
MCP server card: transport, protocol version, tool list.
/.well-known/agent-card.json
A2A agent card: the skills this company answers for.
/.well-known/agent-skills/index.json
Capability index with explicit when-to-use guidance for each skill.
/.well-known/api-catalog
RFC 9727 linkset pointing at the API description and its documentation.
/.well-known/ai-catalog.json
Agentic Resource Discovery catalog of every agent-facing resource here.
/agents.md
Agent briefing: what this company does and when to use it.
/llms.txt
Structured index of every page on the site.
/llms-full.txt
The long form, with the content inlined.
/pricing.md
Machine-readable pricing.
/deprecation-policy.md
How and when an API version is retired.
/sitemap.xml
Every indexable URL.

Questions developers and agents ask

  • No. There is no authentication, no signup and no key to rotate. Every documented operation is a GET over content already published on robustdevs.co, so the API exposes nothing that the website does not. Send the request and read the response.

We build the AI products behind APIs like this one

Robust Devs builds AI products for marketing, healthtech and fintech. If you are integrating agents into a product rather than reading about ours, start with a conversation.