Guides

How to Send a Retool GET Request with a Body

OTC Team··4 min read
How to Send a Retool GET Request with a Body

If you've ever set up a Retool GET request with a body and found the body section completely missing from your REST API query editor, you're not alone. This has been one of the most commonly reported friction points in the Retool community, and for good reason — while HTTP technically allows GET requests to carry a body, most tools (including older versions of Retool) don't expose that option. Here's everything you need to know to unblock yourself.

Why Retool Doesn't Show a Body on GET Requests by Default

When you add a REST API resource in Retool and set the method to GET, you'll notice the Body tab that appears for POST and PUT requests is simply absent. This is by design — the HTTP specification historically discouraged GET request bodies, and many HTTP clients and proxies strip them silently. Retool followed that convention out of the box.

The problem is that a meaningful number of real-world APIs — particularly internal or third-party APIs built without strict REST conventions — do expect a body payload on GET requests. If your API is one of them, older Retool builds left you completely stuck.

The Fix: GET Request Body Support Was Added in Retool v2.121

The good news: Retool officially added body support for GET requests in version 2.121 and higher. If you're on Retool Cloud or a self-hosted instance running v2.121+, you should now see the Body tab appear even when the method is set to GET.

Before this became a stable release, Retool's dev team shipped it behind an experimental feature flag that Cloud users could request to have enabled manually. That workaround is no longer necessary for anyone on a current version.

To confirm your version: navigate to the bottom-left corner of your Retool editor or check your self-hosted admin panel. If you're below v2.121, upgrading is the cleanest path forward.

Step-by-Step: Sending a GET Request with a Body in Retool

  • Open your Retool app and navigate to the Query Editor.
  • Select your REST API resource from the resource dropdown (or create a new one).
  • Set the Action Type to GET.
  • On v2.121+, you will now see a Body tab alongside Headers, URL Parameters, and Auth.
  • Click the Body tab, select your body type (typically JSON), and enter your payload.
  • Run the query and verify the response in the query editor's right panel.

If the Body tab is still missing after upgrading, try clearing your browser cache and doing a hard refresh. On self-hosted instances, make sure your deployment has fully restarted with the new image.

What If You Can't Upgrade Right Now? The JavaScript Fetch Workaround

If you're on an older self-hosted Retool instance and an upgrade isn't immediately possible, you can use a JavaScript query with the native fetch API as a temporary workaround. Here's what that looks like:

fetch('https://your-api.com/endpoint', { method: 'GET', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ key: 'value' }) }).then(res => res.json())

However, be aware of these significant limitations before going this route:

  • CORS issues: All JavaScript in Retool runs in a sandboxed environment with a null origin. Many APIs will reject these requests with a CORS error unless they explicitly allow null origins.
  • No built-in authentication: You lose Retool's native auth handling (OAuth, Bearer tokens, etc.) that comes with REST resource queries. You'll have to manage tokens manually in your JS.
  • No query infrastructure: Features like automatic loading states, error handling UI, and query chaining work best with proper REST resource queries — not raw JS fetch calls.

For a short-term unblock, the JS workaround can work. But it's not a long-term solution, and upgrading to v2.121+ is strongly recommended.

When to Contact Retool Support

If you're on Retool Cloud and running a version that should support GET request bodies but the Body tab is still not appearing, reach out to Retool support directly. In the past, the team manually enabled a feature flag for Cloud users while the feature was in beta — support can verify your environment and make sure the flag is active on your workspace.

If you're on a self-hosted instance above v2.121 and still seeing the issue, share a screenshot of your query editor along with your exact version number when you contact support. That's the fastest way to get a resolution.

Summary

  • Retool's GET request body section was missing by design in older versions.
  • Body support for GET requests shipped in Retool v2.121.
  • Upgrade to v2.121+ to get the Body tab natively in your REST API queries.
  • If you're blocked on an older version, use a JavaScript query with fetch as a temporary workaround — but watch out for CORS and lost auth features.
  • Cloud users on older builds can contact Retool support to enable the experimental flag manually.

Once you're on a supported version, sending a Retool GET request with a body is no different from any other method — just select GET, open the Body tab, and add your JSON payload. No hacks required.

Ready to build?

We scope, design, and ship your Retool app — fast.

Ready to ship your first tool?