Skip to content
| Marketplace
Sign in
Visual Studio Code>Testing>Rapid REST ClientNew to Visual Studio Code? Get it now.
Rapid REST Client

Rapid REST Client

Apaya

|
75 installs
| (0) | Free
Lightweight, fast REST client for VS Code. Send requests from .http files with environment variables, pretty response viewer, and code generation.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Rapid REST Client

Lightweight, fast HTTP client for VS Code. Send requests directly from .http files with environment variables, response chaining, image previews, and code generation — no Postman needed.

Features

  • Send HTTP Requests — Execute GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS, TRACE from .http files
  • Pretty Response Viewer — JSON syntax highlighting, headers table, and timing breakdown in a side panel
  • Image URL Preview — Inline thumbnails for image URLs in JSON responses with full-size preview on click
  • Collapsible Long Strings — Long JSON string values are truncated with ... and expandable inline
  • Environment Variables — Use {{variable}} syntax with .http-env.json for dev/staging/production
  • File Variables — Define @variable = value at the top of .http files to avoid URL duplication
  • Response Chaining — Reference previous responses with {{requestName.response.body.field}} syntax
  • CodeLens — Clickable "Send Request" and "Copy as cURL" links above every request
  • Request Explorer — Browse all .http files and requests in the sidebar tree view
  • Code Generation — Copy any request as cURL, fetch, axios, or Python requests
  • Request History — Quick access to recent requests and responses
  • Syntax Highlighting — Full grammar support for .http files with methods, headers, variables, and comments
  • Keyboard First — Cmd+Enter / Ctrl+Enter to send, no mouse required

Keyboard Shortcuts

Shortcut Action
Cmd+Enter (Mac) / Ctrl+Enter (Win/Linux) Send request at cursor

Usage

1. Create a .http file

@base_url = https://api.example.com
@token = my-secret-token

###

# @name ListUsers
GET {{base_url}}/users
Authorization: Bearer {{token}}
Accept: application/json

###

# @name CreateUser
POST {{base_url}}/users
Content-Type: application/json
Authorization: Bearer {{token}}

{
    "name": "Alice",
    "email": "alice@example.com"
}

2. Set up environments (optional)

Create .http-env.json in your workspace root:

{
  "development": {
    "base_url": "http://localhost:3000",
    "token": "dev-token-123"
  },
  "staging": {
    "base_url": "https://staging.api.example.com",
    "token": "staging-token-456"
  }
}

3. Send requests

  • Click Send Request in the CodeLens above any request
  • Press Cmd+Enter / Ctrl+Enter with cursor inside a request
  • Use the play button in the editor title bar

File Variables

Define variables at the top of your .http file using @variable = value to avoid duplicating URLs and tokens:

@base_url = http://localhost:8888
@api_version = v2

###

GET {{base_url}}/{{api_version}}/users
Accept: application/json

###

POST {{base_url}}/{{api_version}}/users
Content-Type: application/json

{
    "name": "Bob"
}

File variables can reference environment variables:

@baseUrl = https://{{host}}/v1

Response Chaining

Chain requests by referencing previous responses. Name your requests with # @name and use {{requestName.response.body.field}} or {{requestName.response.headers.headerName}} in subsequent requests.

@base_url = http://localhost:8888

###

# @name crawlRequest
POST {{base_url}}/crawl
Content-Type: application/json

{
    "url": "https://example.com"
}

###

# Check job status using the job_id from the previous response
GET {{base_url}}/status/{{crawlRequest.response.body.job_id}}
Accept: application/json

###

# Download the result
GET {{base_url}}/download/{{crawlRequest.response.body.job_id}}
Accept: text/markdown

Supported reference patterns

Pattern Description
{{name.response.body.field}} Access a top-level field from JSON response body
{{name.response.body.data.id}} Access nested fields with dot notation
{{name.response.headers.Content-Type}} Access a response header value

Note: Response chaining works when you run requests sequentially. Use "Send All Requests" to run an entire file in order, or send individual requests one at a time — stored responses persist within a session.

Response Viewer

The response panel shows:

  • Status badge — Color-coded status code (green for 2xx, yellow for 4xx, red for 5xx)
  • Body tab — Pretty-printed JSON with syntax highlighting
  • Headers tab — Response headers in a table view
  • Timing tab — Visual breakdown of DNS, TCP, TLS, TTFB, and download times

Image URL Preview

When JSON responses contain image URLs (ending in .jpg, .png, .webp, .gif, .svg, .avif, etc.), Rapid REST Client shows:

  • An inline thumbnail next to the URL
  • Click the thumbnail to open a full-size preview overlay
  • Press Escape or click outside to close the preview
  • Click the URL bar at the bottom of the overlay to copy the URL

Collapsible Long Strings

JSON string values longer than 120 characters are automatically truncated with ... and an [expand] link. Click to reveal the full value, click [collapse] to shrink it back.

.http File Format

  • Separate multiple requests with ### or ---
  • Comments: lines starting with # or //
  • Name requests with # @name MyRequest
  • Define file-level variables with @variable = value
@host = api.example.com
@baseUrl = https://{{host}}/v1

###

# @name GetUsers
GET {{baseUrl}}/users?page=1

###

# @name DeleteUser
DELETE {{baseUrl}}/users/123

Variable Resolution

Variables are resolved in this order:

  1. Response references — {{requestName.response.body.field}} from previous requests
  2. File variables — @variable = value in the .http file
  3. Environment variables — from .http-env.json active environment
  4. System environment — process.env fallback

Settings

Setting Default Description
rapidHttp.timeout 30000 Request timeout in milliseconds
rapidHttp.followRedirects true Follow HTTP redirects automatically
rapidHttp.validateSSL true Validate SSL certificates
rapidHttp.defaultEnvironment "" Default environment name
rapidHttp.saveHistory true Save request history in memory
rapidHttp.historySize 50 Maximum history entries
rapidHttp.responseBodyMaxSize 5242880 Max response body size (bytes)

Commands

Command Description
Rapid REST Client: Send Request Send HTTP request at cursor
Rapid REST Client: Send All Requests Send all requests in file sequentially
Rapid REST Client: Select Environment Switch active environment
Rapid REST Client: Copy as cURL Copy request as cURL command
Rapid REST Client: Copy as Fetch Copy as JavaScript fetch
Rapid REST Client: Copy as Axios Copy as JavaScript axios
Rapid REST Client: Show Request History Browse request history
Rapid REST Client: New .http File Create new .http file from template
Rapid REST Client: Format Request Body Pretty-print JSON body

Requirements

  • VS Code 1.85.0 or later

Privacy

Rapid REST Client runs entirely locally. No data is collected, no telemetry, no cloud services. Your requests and environments stay on your machine.

License

Copyright (c) 2026 Apaya. All rights reserved.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft