Stashr for developers and AI agents

The API, MCP server, and CLI behind the app, at predictable URLs.

Everything in Stashr is built on one library and one API, and all of it is open to you: scripts, coding agents, and AI assistants can search, read, save, and organize a user's saves with the same capabilities the web app has. API, MCP, and CLI access are part of Pro and included in every free trial; create an account at /signup (no card needed), then make an API key under Settings → API keys.

REST API

A small JSON API over HTTPS at stashr.me/v1: search by meaning, read saves in full, save URLs, and manage tags, notes, favorites, and collections. Bearer auth with scoped API keys or OAuth, a single error envelope, RateLimit headers on every response.

MCP server

A hosted Streamable HTTP MCP server at stashr.me/mcp for Claude, ChatGPT, Codex, Cursor, and any MCP client. OAuth for interactive tools, API keys for headless agents; discovery through the standard server card and manifest.

CLI and agent skill

The official command-line client, published on npm as @stashr/cli. Readable output for people, stable JSON for scripts and coding agents; signs in with OAuth or an API key.

For agents and crawlers

Machine-readable entry points for crawlers and assistants. Every page on stashr.me also answers Accept: text/markdown with a Markdown rendering of the same URL.

Conventions at a glance

  • Auth: Authorization: Bearer with a scoped stashr_ API key (read, write, or full) or an OAuth token audience-bound to /v1.
  • Errors: always JSON, always the same envelope with a stable error.code, a message, and retryable; unknown /v1 paths return it with a 404.
  • Rate limits: 240 requests per minute (300 for API keys), announced on every response with the IETF RateLimit headers and Retry-After on a 429.
  • Versioning: in the path (/v1); breaking changes ship as a new version with at least six months of overlap and Deprecation/Sunset headers.
  • Questions: contact (support@stashr.me), with the X-Request-Id of any failed call.