REST Client
ExtensionFreeSend HTTP requests from text files in VS Code.
Capabilities15 decomposed
inline http request composition and execution
Medium confidenceEnables developers to write HTTP requests directly in `.http` and `.rest` files using a plain-text syntax with `###` delimiters separating multiple requests. Each request is parsed by the extension's lexer, validated against HTTP RFC 2616, and executed within the VS Code process without leaving the editor. The extension renders responses in a split-pane view with syntax highlighting for JSON, XML, and other content types, eliminating the need for external HTTP clients like Postman or curl.
Integrates HTTP request execution directly into the editor as first-class syntax rather than a separate panel or tool, using VS Code's native split-pane rendering and CodeLens links to make requests immediately actionable without context switching.
Faster than Postman for API testing during development because requests live in version-controlled files and execute with a single click, eliminating tool switching and collection management overhead.
multi-scope variable substitution with dynamic generation
Medium confidenceImplements a hierarchical variable resolution system supporting environment variables, file-level variables, request-level variables, and prompt variables. The extension provides 8 built-in dynamic variable types ({{$guid}}, {{$timestamp}}, {{$randomInt}}, {{$datetime}}, {{$localDatetime}}, {{$processEnv}}, {{$dotenv}}, {{$aadToken}}) that generate values at request time. Variables are substituted into URLs, headers, and request bodies using mustache-style syntax ({{variableName}}), with auto-completion, hover documentation, and diagnostic validation integrated into the editor.
Combines environment-scoped variables with inline dynamic generators ({{$guid}}, {{$timestamp}}) and system integration ({{$processEnv}}, {{$dotenv}}) in a single variable syntax, enabling both static configuration and runtime value generation without external scripting.
More flexible than curl's environment variable support because it supports multiple scopes, dynamic generation, and interactive prompts; simpler than Postman's variable system because syntax is plain text and integrates directly with VS Code's editor features.
cookie management with automatic persistence
Medium confidenceAutomatically captures and stores cookies from HTTP responses (Set-Cookie headers) and includes them in subsequent requests (Cookie header). The extension maintains a cookie jar per host/domain, respecting cookie attributes like Path, Domain, Expires, and HttpOnly. Developers can view, edit, and clear cookies manually. This enables testing stateful APIs that rely on session cookies without manual cookie extraction and header manipulation.
Automatically manages cookies without explicit configuration, capturing Set-Cookie headers and injecting Cookie headers in subsequent requests, respecting cookie attributes and domain scoping.
More convenient than curl because cookie handling is automatic; more transparent than Postman because cookie jar is visible and editable in the extension.
proxy configuration and routing
Medium confidenceAllows developers to configure HTTP and HTTPS proxies for request routing, enabling testing through corporate proxies, VPNs, or traffic inspection tools. Proxy settings are configured in VS Code settings and applied to all requests. The extension supports proxy authentication (Basic Auth) and proxy bypass rules for specific hosts. This enables developers behind corporate firewalls to test external APIs without manual proxy configuration per request.
Integrates proxy configuration directly into VS Code settings, applying to all requests without per-request configuration, supporting proxy authentication and bypass rules.
More integrated than curl because proxy settings are centralized in VS Code; more convenient than manual proxy configuration because settings apply globally to all requests.
code snippet generation for multiple languages
Medium confidenceGenerates executable code snippets in Python, JavaScript, and other languages from composed HTTP requests. The extension analyzes the request (method, URL, headers, body, authentication) and generates equivalent code using popular HTTP libraries (requests for Python, fetch for JavaScript, etc.). Generated snippets include proper error handling, header construction, and authentication setup. This enables developers to quickly convert REST Client requests into production code without manual translation.
Generates executable code snippets from REST Client requests with proper library imports and error handling, supporting multiple languages without external tools or services.
More integrated than manual code writing because generation is automatic; more convenient than Postman's code generation because snippets are generated directly from REST Client syntax.
syntax highlighting and editor integration with codelens
Medium confidenceProvides syntax highlighting for HTTP request syntax (methods, headers, URLs, request bodies) and response content (JSON, XML, HTML, plain text). The extension integrates CodeLens actionable links directly in the editor, displaying 'Send Request' links above each request block that developers can click to execute. Syntax highlighting extends to comments, variable references, and request delimiters (###). Auto-completion suggests HTTP methods, headers, MIME types, and variable names as developers type.
Integrates CodeLens actionable links directly above request blocks, enabling one-click execution without keyboard shortcuts or menu navigation, combined with syntax highlighting and auto-completion.
More integrated than curl because syntax highlighting and execution links are built into the editor; more accessible than Postman because CodeLens provides visual cues for executable requests.
symbol navigation and variable reference tracking
Medium confidenceProvides VS Code symbol navigation (Ctrl+Shift+O) to jump to request definitions and file-level variable declarations within `.http` files. Developers can use 'Go to Definition' to navigate to variable definitions and 'Find All References' to locate all usages of file-level variables. This enables quick navigation in large request files with many requests and variables, improving code organization and refactoring.
Integrates VS Code's native symbol navigation and reference tracking for HTTP requests and variables, enabling developers to use familiar editor shortcuts (Ctrl+Shift+O, F12) for request and variable navigation.
More integrated than external HTTP clients because navigation uses VS Code's native features; more powerful than curl because variable references are tracked and navigable.
multi-method authentication with cloud identity integration
Medium confidenceSupports 6 authentication mechanisms: Basic Auth (base64-encoded credentials in Authorization header), Digest Auth (RFC 2617 challenge-response), SSL Client Certificates (file-based), Azure Active Directory (interactive browser-based token flow with cloud environment selection), Microsoft Identity Platform (tenant-aware token generation), and AWS Signature v4 (request signing). Azure AD tokens are generated via {{$aadToken}} variable with parameters for cloud environment (public, cn, de, us, ppe), tenant ID, and audience specification, with token caching behavior unknown.
Integrates cloud identity providers (Azure AD, Microsoft Identity) directly into the HTTP client via {{$aadToken}} variable syntax, enabling token generation without external authentication flows or manual token copying, combined with support for legacy auth methods (Basic, Digest, SSL).
More integrated than curl for cloud authentication because it handles Azure AD token generation interactively within the editor; more convenient than Postman for developers already in VS Code because authentication is configured in settings.json and variables are substituted automatically.
response preview with multiple rendering modes
Medium confidenceRenders HTTP responses in a split-pane view with syntax highlighting for JSON, XML, HTML, and plain text. The extension supports multiple preview modes: headers only, body only, full response, and combined request+response view. Image responses are rendered as inline images rather than raw binary. Responses can be folded/unfolded for readability, and the preview font (size, family, weight) is customizable. Raw response bodies can be saved to disk, and response history is auto-saved for later retrieval.
Provides multiple preview modes (headers-only, body-only, full, combined) with customizable font rendering directly in the editor pane, avoiding the need for external response viewers or browser developer tools.
More integrated than curl because responses are rendered with syntax highlighting and multiple view modes in the editor; simpler than Postman because preview modes are built-in without configuration.
request chaining via response variable extraction
Medium confidenceEnables sequential request execution where responses from one request can be captured and used as variables in subsequent requests. The extension maintains request history and allows variables to reference previous response values, enabling workflows like: authenticate (request 1) → extract token from response → use token in API call (request 2). Variable substitution occurs at request time, allowing dynamic request composition based on prior responses. The exact mechanism for response-to-variable extraction (e.g., JSONPath, regex) is undocumented.
Enables request chaining through variable substitution without explicit orchestration syntax, relying on file order and variable references to define workflows, making it simpler than dedicated workflow tools but less explicit than DAG-based orchestration.
More lightweight than Postman's collection runner because chaining is implicit through variables; more accessible than curl scripts because syntax is declarative and integrated into the editor.
graphql query composition and execution
Medium confidenceSupports GraphQL query syntax within `.http` and `.rest` files, enabling developers to compose GraphQL queries and mutations with variables. The extension parses GraphQL syntax, provides syntax highlighting, and executes queries against GraphQL endpoints via HTTP POST requests. GraphQL variables are defined in the request body or via the extension's variable system, allowing parameterization of queries without manual string manipulation.
Treats GraphQL as a first-class request type within the same `.http` file format, allowing developers to mix REST and GraphQL requests in a single file with shared variables and environments.
More integrated than GraphQL Playground because queries live in version-controlled files; simpler than Postman's GraphQL support because syntax is plain text and shares the same variable system as REST requests.
curl command parsing and code generation
Medium confidenceParses cURL commands and converts them into REST Client request syntax, enabling developers to import existing curl commands from documentation or terminal history. The extension also generates cURL commands from composed requests, allowing export for use in scripts or documentation. This bidirectional conversion supports all cURL options relevant to HTTP requests (headers, authentication, body, method, etc.) and integrates with the extension's variable system.
Provides bidirectional conversion between cURL and REST Client syntax, enabling seamless migration from curl-based workflows and export for documentation without external tools.
More convenient than manual cURL-to-REST conversion because parsing is automatic; more accessible than curl itself because syntax is integrated into the editor with syntax highlighting and variable support.
soap request envelope composition and execution
Medium confidenceSupports SOAP request composition with XML envelope building snippets and syntax highlighting. Developers can compose SOAP requests with headers, body elements, and namespaces directly in `.http` files. The extension handles SOAP-specific headers (SOAPAction, Content-Type: application/soap+xml) and provides templates for common SOAP patterns. Responses are parsed and rendered with XML syntax highlighting.
Treats SOAP as a first-class request type with envelope templates and XML syntax highlighting, allowing developers to test SOAP services without external SOAP clients or tools.
More integrated than SoapUI because SOAP requests live in version-controlled files; simpler than curl for SOAP because envelope structure is templated and syntax-highlighted.
environment-scoped configuration with switching
Medium confidenceImplements environment management where developers define multiple named environments (dev, staging, production) in VS Code settings with environment-specific variables. The extension allows switching between environments, and all variable substitutions use the currently active environment's values. Environments can share common variables via a 'shared' environment, and environment-specific variables override shared variables. This enables testing the same request against different backends without modifying the request file.
Provides environment switching at the extension level, allowing developers to change all variable values with a single selection, integrated into VS Code's command palette and settings system.
More integrated than curl environment files because switching is interactive and built into the editor; simpler than Postman's environment management because configuration is plain text in settings.json.
request history with persistence and retrieval
Medium confidenceAutomatically saves all executed requests and responses to a local history store, allowing developers to view, search, and re-execute past requests. History is persisted across VS Code sessions and can be cleared manually. The extension displays request history in a sidebar or command palette, enabling quick access to frequently used requests without re-typing. History entries include request method, URL, timestamp, and response status code.
Maintains a persistent local history of all executed requests with one-click re-execution, integrated into VS Code's command palette and sidebar, without requiring explicit save actions.
More convenient than curl history because requests are stored with full context (URL, headers, body); simpler than Postman because history is automatic and requires no collection management.
Capabilities are decomposed by AI analysis. Each maps to specific user intents and improves with match feedback.
Related Artifactssharing capabilities
Artifacts that share capabilities with REST Client, ranked by overlap. Discovered automatically through the match graph.
puppeteer-mcp-server
Experimental MCP server for browser automation using Puppeteer (inspired by @modelcontextprotocol/server-puppeteer)
Hyperbrowser
Browser infrastructure and automation for AI Agents and Apps with advanced features like proxies, captcha solving, and session recording.
js-reverse-mcp
为 AI Agent 设计的 JS 逆向 MCP Server,内置反检测,基于 chrome-devtools-mcp 重构 | JS reverse engineering MCP server with agent-first tool design and built-in anti-detection. Rebuilt from chrome-devtools-mcp.
onestep-puppeteer-mcp-server
Experimental MCP server for browser automation using Puppeteer (inspired by @modelcontextprotocol/server-puppeteer)
Browserbase MCP Server
Run cloud browser sessions and web automation via Browserbase MCP.
puppeteer-mcp-server
Experimental MCP server for browser automation using Puppeteer (inspired by @modelcontextprotocol/server-puppeteer)
Best For
- ✓backend developers building REST APIs
- ✓full-stack engineers testing APIs during development
- ✓teams wanting API tests co-located with source code
- ✓developers managing multiple API environments
- ✓teams using environment-specific credentials
- ✓engineers automating API testing with dynamic values
- ✓developers testing session-based APIs
- ✓teams validating authentication flows with cookies
Known Limitations
- ⚠No built-in request scheduling or automation — each request is manual or triggered by user action
- ⚠Maximum request/response size limits unknown — large payloads may cause performance degradation
- ⚠No concurrent request execution — requests execute sequentially
- ⚠CORS restrictions apply as in browsers — cross-origin requests may fail without proper headers
- ⚠Prompt variables require interactive input per request — unsuitable for fully automated testing
- ⚠Find-all-references only works for file-level variables, not environment or request variables
Requirements
Input / Output
UnfragileRank
UnfragileRank is computed from adoption signals, documentation quality, ecosystem connectivity, match graph feedback, and freshness. No artifact can pay for a higher rank.
About
Send HTTP requests and view responses directly in VS Code using simple text files. Supports variables, environments, authentication, and request chaining with syntax highlighting.
Categories
Alternatives to REST Client
Are you the builder of REST Client?
Claim this artifact to get a verified badge, access match analytics, see which intents users search for, and manage your listing.
Get the weekly brief
New tools, rising stars, and what's actually worth your time. No spam.
Data Sources
Looking for something else?
Search →