Fetch docs

Fetch is an AI-first API client. Everything you make lives in your organization: workspaces, collections, folders, requests, environments, specs, mocks and monitors. Fetch is free; this page covers what you need to get going.

Getting started

  1. Create an account with a passkey (or GitHub/Google when offered). Save the recovery codes you're shown once.
  2. Open the app. Install it from your browser's menu (Install Fetch) to get its own window and offline start.
  3. Create a collection in the sidebar, add a request, type a URL and press ⌘/Ctrl + Enter.
  4. Create an environment for values like {{baseUrl}} and pick it at the top right.

Invite teammates with an invite link (Fetch sends no email during the beta).

Where requests run

ModeUse it forNotes
BrowserPublic APIs that allow CORSFastest. Only CORS-exposed headers are visible; cookies are hidden.
Agentlocalhost, private networks, mTLS, proxies, HTTP/3, databases, stdio MCPRuns on your computer. Nothing counts against cloud caps.
CloudPublic APIs without CORSRuns on Fetch's executor; public internet only; counts toward the monthly cloud cap.

Auto (the default) uses the agent for localhost and private hosts when it's paired, the browser for APIs known to allow it, then the agent, then the cloud.

The Fetch Agent

The agent is the fetch command-line tool running on your computer. It sends requests the browser can't (localhost, your LAN, client certificates, proxies), keeps vault secrets in your OS keychain, launches stdio MCP servers and proxies AI providers that don't allow browser calls. It listens only on 127.0.0.1:47823.

Download fetch for macOS, Linux or Windows, or install it from a terminal:curl -fsSL https://fetch.nightroll.app/install.sh | sh (macOS, Linux) orirm https://fetch.nightroll.app/install.ps1 | iex (Windows PowerShell).

fetch agent        # start it (keep it running)
fetch agent pair   # prints a 6-digit code

In the app, open Agent from the send menu or the command palette (⌘K → "Pair the Fetch Agent") and enter the code. The pairing token stays on this device.

The CLI

The same fetch program (see Download):

fetch login                         # sign in from the terminal
fetch run <collection> -e <env>      # run a collection; JUnit, JSON, HTML and CTRF reports for CI
fetch mock <collection>             # serve a collection's examples locally
fetch runner --token <token>        # a self-hosted runner for your org
fetch sync                          # mirror a workspace to a folder or Git repo
fetch mcp                           # Fetch's MCP server over stdio

fetch run also runs Postman v3 collections, so you can switch CI before switching people.

MCP setup

Fetch is a remote MCP server at https://fetch.nightroll.app/mcp (Streamable HTTP; sign-in with OAuth 2.1 in your browser). Tools are grouped in toolsets: core, authoring, testing, docs-mocks and admin. Destructive tools ask for confirmation.

Claude (claude.ai and Claude Desktop)

Settings → Connectors → Add custom connector, name it Fetch and paste https://fetch.nightroll.app/mcp.

Claude Code

claude mcp add --transport http fetch https://fetch.nightroll.app/mcp

ChatGPT

Settings → Apps & Connectors → enable developer mode → Create, then use https://fetch.nightroll.app/mcp with OAuth.

Cursor

// ~/.cursor/mcp.json
{ "mcpServers": { "fetch": { "url": "https://fetch.nightroll.app/mcp" } } }

VS Code (Copilot agent mode)

// .vscode/mcp.json
{ "servers": { "fetch": { "type": "http", "url": "https://fetch.nightroll.app/mcp" } } }

Other clients, and stdio

Any client that speaks Streamable HTTP can use the URL above. For clients that only launch local processes, usefetch mcp (stdio, through the agent). You can also publish a collection as its own hosted MCP server.

Bring your own AI key

The in-app assistant uses your own key for Anthropic, OpenAI, OpenRouter or any OpenAI-compatible endpoint. Keys stay on your device; calls go straight from your browser (or through the agent for providers that don't allow browser calls). The assistant uses the same commands as the API and MCP server, shows a diff and asks before it changes anything.

Variables and secrets

Use {{name}} anywhere in a request. Scopes, narrowest first: local, data (collection runs), environment, collection, global. Dynamic values like {{$guid}}, {{$timestamp}} and {{$randomEmail}} work as in Postman.

Scripts and tests

Pre-request and post-response scripts run on QuickJS with Postman's pm.* API and Fetch's typed fx.* API, plus chai, lodash, crypto-js, moment, uuid, ajv, tv4, xml2js, cheerio and csv-parse. No-code assertions cover status, headers, JSON paths, time and size. Collection-level and folder-level scripts run around every request inside them.

Sync and offline

The app keeps a full copy of your organization in your browser (SQLite on OPFS). Every edit is applied locally first, and waits in an outbox. The app syncs once when it opens; after that, press Sync at the top to send your changes and get your teammates'. Changes merge per field (the most recent edit to each field wins), and work offline until you sync again. Your edits leave the outbox once the server has stored them.

Importing from Postman

  1. In Postman, export the collection (Collection v2.1) and your environments, or the whole workspace.
  2. In Fetch, open the command palette (⌘K) and run Import with the file contents.

Fetch also imports Postman v2.0 and v3 YAML, Insomnia, Bruno and OpenCollection, Hoppscotch, Thunder Client, OpenAPI 3.x, Swagger 2.0, HAR, WSDL, GraphQL and cURL. Scripts using pm.* run unchanged in almost every case.

Limits

WhatLimit
Cloud requests10,000 per org per month; 30 per minute and 2 at a time per org
Hosted mock and MCP server calls100,000 per org per month; 10 per second per endpoint
Storage1 GB per org
Cloud responses10 MB and 30 seconds per request
API and sync600 calls per minute per user
MCP tool calls120 per minute
MonitorsEvery 15 minutes at most
Organizations3 per account
TrashKept 30 days

Monthly caps are hard stops during the beta (there's no billing yet). Requests sent from your browser or the agent don't count toward the cloud cap.

Keyboard shortcuts

Send⌘/Ctrl Enter
Save⌘/Ctrl S
Command palette⌘/Ctrl K
New requestAlt N
Close tabAlt W
Toggle sidebar⌘/Ctrl B
All shortcuts?