• The API Platform for AI.

      Explore More
      Platform Runtimes
      Kong Gateway
      • Kong Cloud Gateways
      • Kong Ingress Controller
      • Kong Operator
      • Kong Gateway Plugins
      Kong AI Gateway
      Kong Event Gateway
      Kong Mesh
      Platform Core Services
      • Gateway Manager
      • Mesh Manager
      • Service Catalog
      Platform Applications
      • Developer Portal
      • API and AI Analytics
      • API Products
      Development Tools
      Kong Insomnia
      • API Design
      • API Testing and Debugging
      Self-Hosted API Management
      Kong Gateway Enterprise
      Kong Open Source Projects
      • Kong Gateway OSS
      • Kuma
      • Kong Insomnia OSS
      • Kong Community
      Get Started
      • Sign Up for Kong Konnect
      • Documentation
    • Featured
      Open Banking SolutionsMobile Application API DevelopmentBuild a Developer PlatformAPI SecurityAPI GovernanceKafka Event StreamingAI GovernanceAPI Productization
      Industry
      Financial ServicesHealthcareHigher EducationInsuranceManufacturingRetailSoftware & TechnologyTransportation
      Use Case
      API Gateway for IstioBuild on KubernetesDecentralized Load BalancingMonolith to MicroservicesObservabilityPower OpenAI ApplicationsService Mesh ConnectivityZero Trust SecuritySee all Solutions
      Demo

      Learn how to innovate faster while maintaining the highest security standards and customer trust

      Register Now
  • Customers
    • Documentation
      Kong KonnectKong GatewayKong MeshKong AI GatewayKong InsomniaPlugin Hub
      Explore
      BlogLearning CentereBooksReportsDemosCase StudiesVideos
      Events
      API SummitWebinarsUser CallsWorkshopsMeetupsSee All Events
      For Developers
      Get StartedCommunityCertificationTraining
    • Company
      About UsWhy Kong?CareersPress RoomInvestorsContact Us
      Partner
      Kong Partner Program
      Security
      Trust and Compliance
      Support
      Enterprise Support PortalProfessional ServicesDocumentation
      Press Release

      Kong Expands with New Headquarters in Downtown San Francisco

      Read More
  • Pricing
  • Login
  • Get a Demo
  • Start for Free
Blog
  • Engineering
  • Enterprise
  • Learning Center
  • Kong News
  • Product Releases
    • API Gateway
    • Service Mesh
    • Insomnia
    • Kubernetes
    • API Security
    • AI Gateway
  • Home
  • Blog
  • Engineering
  • Harnessing the Power of Insomnia Plugins
Engineering
February 17, 2022
7 min read

Harnessing the Power of Insomnia Plugins

Viktor Gamov

Insomnia is a fast and lightweight open source desktop application that doubles as a tool for API design and testing and as an API client for making HTTP requests. It has built-in support for REST Client, gRPC and GraphQL. All of that is just what you get out of the box. Many users of Insomnia aren't aware of its secret menu: plugins.

Plugins are key to enhancing your usage of Insomnia. Insomnia already boasts a library of nearly 350 plugins, and they're quick and simple to install. If you have a specific use case and can't find a plugin to fit your needs, then you can even build your own like the Insomnia plugin winner Scott Harwell did last year.

In this article, we're going to highlight a handful of Insomnia plugins that we're sure you'll find useful. We'll show you how to use them and demonstrate why they'll come in handy. By the end, you'll feel comfortable using Insomnia plugins and be familiar with some noteworthy ones. You might even feel adventurous enough to start building your own.

Let's get started.

Prerequisites for Insomnia Plugins

Your first step, of course, is to follow the documentation to download and install Insomnia.

Once you've done that, you'll want to become familiar with how to install a plugin. With Insomnia running, go to Application | Preferences. Go to the Plugins tab in the dialog.

Each plugin listed at Insomnia's Plugin Hub has a unique plugin name. You'll enter the plugin’s name here (in the text input with the placeholder npm-package-name). For example, if we wanted to install the Faker plugin, we would enter insomnia-plugin-faker. Then, we click on Install Plugin.

After a few moments, Insomnia will install the plugin, and we can enable it.

All plugins are installed in a plugins folder. For example, if we install Insomnia on Linux, the plugins folder is $HOME/.config/Insomnia/plugins. Each installed plugin has its own sub-folder.

To uninstall a plugin, you can simply delete the plugin's sub-folder. If you want to install a plugin that is not in the Plugin Hub—if you build one yourself, for example—you would simply put your plugin code in its own sub-folder here.

Now that we know how to install plugins and where they live, let's look at our first one: Faker.

The Faker Plugin

The Faker plugin (insomnia-plugin-faker) is built on top of the Faker NPM module (with 5.5.3 as its last stable version) to generate "fake" data. With Faker, you can quickly generate random names, email addresses, phone numbers and more. This is excellent for generating test data.

One way to leverage this plugin in Insomnia is to combine it with template tags. When your request query parameter or request body needs a randomly generated test value, you can use a template tag linked to the Faker plugin.

To demonstrate this, we'll create a Mockbin endpoint and then send a request with some Faker-generated values. Afterward, we can check our Mockbin request history to see how those values came across the wire.

Generate Fake Data for Query Parameters

First, we create a GET request to our Mockbin endpoint. Then, we click on Query to add some query parameters.

Start by adding a parameter called first_name. For its value, we press ctrl+space (or cmd+space) to bring up the template tags menu. We find Faker from the menu list and choose Name. Then, we click on the resulting Faker -> Name tag, which brings up a dialog with Faker settings. We choose FirstName as the kind of name that we want generated.

Similarly, we add an id parameter, which will get its value from the Faker -> Random group. We'll configure this tag to generate a random UUID.

With our query parameters established, we click Send.

When we navigate to Mockbin to see the request that came through, we can see the resulting query parameters used:

The first_name generated was Johnson, and we can see a random UUID used for id.

Generate Fake Data for the Request Body

As another example, we'll send a POST request to our Mockbin endpoint. This time we'll send a request body payload with a randomly generated address and business catchphrase (Faker has some fun little hidden gems).

When we look at Mockbin, we see the randomly generated address elements and an invented catchphrase.

The Path Parameter Plugin

When working with REST APIs, you will have endpoint URLs that use path parameters. These are dynamic values, often representing the id of a resource. However, unlike query parameters, these values make up part of the path. For example, the Numbers API returns math trivia facts for any given number. The endpoint URL is http://numbersapi.com/:number/math. Notice how the number you are requesting trivia for is provided as a path parameter.

The Path Parameter plugin (insomnia-plugin-path-parameter-tag) lets you use template tags to set a value for your path parameter.

In the URL bar for your request, at the point where you need a path parameter, insert a template tag and search for Path parameter from the list of available options. You can provide a display name for your parameter, and then you provide a value.

The value for your path parameter can be static (as shown above), or it can be retrieved from variables set for an Insomnia environment.

The Dotenv Plugin

The Dotenv plugin (insomnia-plugin-dotenv) lets you use template tags to pull in dynamic values stored in a file with environment variables (a .env file).

For example, we have three different .env files representing three different environments:

Each .env file has a different value for the variable status_code.

Test this out with httpstat.us, a handy site for getting responses with specific HTTP status codes. A request to https://httpstat.us/301, for example, returns a 301 Moved Permanently response.

In Insomnia, the status code we want will depend on the .env file we use. Similar to our previous examples, we'll use a template tag in our endpoint URL, and we'll choose dotenv from our template tag options. In our tag settings, we specify the location of the .env file and the variable in that file that we want to use. We can switch between our files to use different sets of values.

As an additional level of indirection, we could configure the template tag to look to our Insomnia environment for the status_code value. Meanwhile, we set up our Insomnia environment to use the dotenv template tag. This way, we simply switch our Insomnia environment to get different values, but those values still come from external .env files.

The JWT Creator Plugin

Sometimes, you need to create a JSON Web Token (JWT) on the fly. Perhaps you're testing requests to a protected API, and you know the JWT signing secret and what needs to go into the payload. With the JWT Creator plugin (insomnia-plugin-jwtcreator), you can use a template tag to insert a generated JWT.

To demonstrate this plugin, we'll send a request to our Mockbin endpoint. We want to include a Bearer Token authentication header with a JWT. To do this, we insert a template tag and select the JSON Web Token Creator tag. Next, we configure the tag to provide values for the JWT payload. We can specify iss, sub and aud, as well as add our own payload keys and values. Finally, we set a signing secret.

After sending the request to Mockbin, we see the authentication header that came through.

If we were to take this token and decode it at jwt.io, we could verify the signature by providing our signing secret. Then, verify that we included all of our payload options.

Theme Plugins

While functional plugins may be a huge help in your API design and testing, you might also enjoy exploring plugins that implement a new theme (color scheme) for your Insomnia desktop application.

Installing a theme plugin for Insomnia is straightforward. Let's demonstrate with the Omni Theme plugin (insomnia-plugin-theme-omni). First, you install the plugin as you would any other plugin.

Then, while still in the Preferences dialog, click on the Themes tab. Find and select the theme you just installed.

The Plugin Hub for Insomnia has a large number of theme plugins. They're worth exploring to find a theme for Insomnia that fits you perfectly.

Conclusion

Plugins are an excellent way to enhance the power of Insomnia, making it even more useful for your specific scenarios. Many plugins leverage Insomnia's template tag system to let you dynamically set values at request time. As you explore the Plugin Hub, you'll find plugins that help with response formatting, integrate with third-party services, assist in team collaboration and more. On top of that, there are also theme plugins for customizing your look and feel.

If you still can't find the plugin that does exactly what you're looking for, then you always have the option to build your own. You can keep your custom plugin to yourself, or you could even publish it to the Plugin Hub!

If you have feedback or questions about our new or upcoming releases, reach out on our Slack Community or GitHub.

Topics:API Development
|
Insomnia
|
Plugins
Powering the API world

Increase developer productivity, security, and performance at scale with the unified platform for API management, service mesh, and ingress controller.

Sign up for Kong newsletter

Platform
Kong KonnectKong GatewayKong AI GatewayKong InsomniaDeveloper PortalGateway ManagerCloud GatewayGet a Demo
Explore More
Open Banking API SolutionsAPI Governance SolutionsIstio API Gateway IntegrationKubernetes API ManagementAPI Gateway: Build vs BuyKong vs PostmanKong vs MuleSoftKong vs Apigee
Documentation
Kong Konnect DocsKong Gateway DocsKong Mesh DocsKong AI GatewayKong Insomnia DocsKong Plugin Hub
Open Source
Kong GatewayKumaInsomniaKong Community
Company
About KongCustomersCareersPressEventsContactPricing
  • Terms•
  • Privacy•
  • Trust and Compliance
  • © Kong Inc. 2025