Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>DothttpNew to Visual Studio Code? Get it now.
Dothttp

Dothttp

Prasanth

dothttp.dev
|
3,579 installs
| (6) | Free
| Sponsor
A Http Client for sending to and receiving from http endpoints (dothttp)
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Http Client for vscode (dothttp-runner)

Install

visit vscode-marketplace or open-vsx and search for dothttp-code

Note:

⚠️⚠️⚠️⚠️ 🗣️ Installing this extenison, downloads & runs binaries from this repository.

Principle / WHY

Invoking http requests is typical job of frontend/backed dev. This extension aims in making http requests in vscode (most loved editor) without loosing privacy (like insomnia/postman, stores collection in remote, needs account and many more).

Main aim is to Save and re-use.

Checkout simple example here

For docs visit here

Features

  • Make http requests in vscode.
  • configure variables and reuse in dothttp.
    • properties from editor (add, update, delete, copy, disable all)
  • Request history to view past requests
  • Http Notebook
  • Import collections
    • From postman collection
    • From swagger spec (2/3)
    • Import curl
    • Import Har
  • Export To most popular programming languages

Http Notebook

Example

example http file

# users.http

#!/usr/bin/env /home/prasanth/cedric05/dothttp/dist/dothttp-cli

# this is comment

// this is also a comment

/*
   this is multi line
   comment
*/

# http file can have multiple requests, name tag/annotation is used to identify
@name("fetch 100 users, skip first 50")

# makes are get request, with url `https://req.dothttp.dev/user`
GET https://req.dothttp.dev/user

# below is an header example, if api_key is not defined, it will be defaulted to `121245454125454121245451`
"Authorization": "Basic dXNlcm5hbWU6cGFzc3dvcmQ="

# below is how you set url params '?' --> signifies url quary param
? ("fetch", "100") #
? ("skip", "50")
? projection, name
? projection, org
? projection, location




# makes are post request, with url `https://req.dothttp.dev/user`
POST https://req.dothttp.dev/user

basicauth('username', 'password')
/*
   below defines payload for the post request.
   json --> signifies payload is json data
*/
json({
    "name": "{{name=adam}}", # name is templated, if spcified via env or property, it will be replaced
    "org": "dothttp",
    "location": "Hyderabad",
    # "interests": ["exploring", "listening to music"],
})



# makes put request, with url `https://req.dothttp.dev/user/1`
PUT https://req.dothttp.dev/post

# define headers in .dothttp.json with env
basicauth("{{username}}, "{{password}}")

# posts with urlencoded
data({
    "name": "Adam {{$randomStr}}",
    "org": "dothttp",
    "location": "Hyderabad",
    "interests": ["exploring", "listening to music"],
})

// or use below one
// data('name=Adam+A&org=dothttp&location=Hyderabad&interests=%5B%27exploring%27%2C+%27listening+to+music%27%5D')


Support

  • producthunt support us via upvoting in producthunt
  • starring in github
  • donating in via github sponsors

Docs and more

Checkout Most Popular http collections here

Checkout other http collections

Checkout docs language for better understanding.

Checkout dothttp(dsl for http).

Checkout playground

view product post here

Vscode alternatives

  • rest-client written in typescript
  • httpYac written in typescript
  • Thunder Client closed source

Non Vscode alternatives

  • http-client closed source
  • dothttp written in python
  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2025 Microsoft