- Import real estate listings from Zillow, inventory from Shopify, or invoices from Stripe
- Connect to public APIs (for example, APIsList, Public APIs, or RapidAPI)
- Integrate new CRMs and productivity tools
- Fetch and create data using any standard HTTP REST API
Rest API is available on all plans, including Free.
1. Connect a REST API to Softr
You connect a REST API once per workspace. Then you can use it in all your apps.1
Open Integrations
- In the Softr Studio dashboard, click Integrations in the left menu.
- Click Connect new.

- In the Select an integration window, click Rest API.

2
Connect your account
Fill in the Connect your account window:
API key
OAuth advanced settingsSome APIs need extra parameters in the OAuth requests. The API’s documentation lists them. To add them, turn on Advanced settings before you click Continue. Then click Add Parameter in the group that the API names:
- Provider: Enter a name for the API, for example “Stripe”. You’ll see this name in your list of integrations.
- Authentication type: Select API key or OAuth. The API’s own documentation tells you which one it uses.
-
Base URL: Enter the root address of the API, for example
https://api.stripe.com. The base URL is optional. The Vibe Coding block needs it. - Fill in the fields of your authentication type (see below).
- Click Continue.

-
Select Bearer token when the API expects
Authorization: Bearer <key>. Then paste the key in API key. - Select Custom header when the API expects the key in another header. Enter the header name in Header, then paste the key in API key.
- Copy the OAuth Redirect URL and add it to the OAuth app settings of the API.
- Enter the Authorization URL, the Access token URL, the Client ID, the Client secret, and the Scopes from the API’s documentation.
- Click Continue, then sign in to the API in the window that opens.

- Authorize parameters: Softr adds them to the authorization URL, where the person signs in.
- Access token parameters: Softr sends them when it gets the first access token.
- Refresh token parameters: Softr sends them when it refreshes an expired access token.
access_type=offline and prompt=consent. Without a refresh token, the connection stops working when the first access token expires.
3
Add API resources (endpoints)
A resource is one API call that you save and reuse in your apps, for example “Invoices” or “Customers by email”. Resources support the GET and POST methods.


- On the Integrations page, click the … menu of your REST API integration.
- Click Edit resources.

- In the Resources window, click Add.

- Fill in the resource:
- Name: A name that helps you find the resource in the list.
- HTTP method: GET for most endpoints. Select POST only when the API’s documentation uses POST to return data (see Body).
-
URL: The endpoint that Softr calls, for example
https://api.stripe.com/v1/invoices.
- Click Execute to send a test request to the API.

- When the test request succeeds, click Save.
Softr saves a resource only after a successful Execute. When you change the request (URL, headers, URL params, placeholders, body, or pagination), click Execute again.
2. Configure the optional sections
Below the Execute button, the resource has more sections. Turn on a section with its toggle. Every API is different, so you may need all of these sections or none of them. Check the API’s documentation.Headers
The Headers section always shows the authentication header of the integration. Click Add to add a header that only this resource needs.
URL params
Use URL params to add query parameters to the URL. Add each parameter as a name and a value. You can also type them in the URL field, but this section keeps them easier to read and change. Find the parameter names and values in the API’s documentation. In the example above, thecustomer parameter tells the Stripe invoices endpoint to return the invoices of one customer:

{LOGGED_IN_USER:StripeID}. Softr replaces it with the StripeID field of the logged-in user.
Placeholders
Placeholders send dynamic data to the API, based on the logged-in user, the page, or the filters and search of a block. Write a placeholder in curly braces, for example{placeholderName}, in the URL, the URL params, or the body. Softr doesn’t replace placeholders in headers.
You can use four kinds of dynamic placeholders:
-
{LOGGED_IN_USER:<FIELD NAME>}: Sends a field of the logged-in user.{LOGGED_IN_USER:EMAIL}and{LOGGED_IN_USER:NAME}send the email and the name of the user. -
{recordId}: Sends the ID of the record that the page shows (therecordIdin the page URL). -
{URL_PARAM:<PARAMETER NAME>}: Sends the value of a parameter in the page URL. -
{filter.<FIELD NAME FROM API>}: Sends the value of a search or filter in a block.

{filter.<FIELD NAME FROM API>} placeholder to filter or search the API from a block. In the example below, the Customers by email resource sends the search text to Stripe in the email URL param. When the block has no search or filter value, Softr removes a URL param whose value is only a filter placeholder, so the API returns all the records.

Use the filter placeholder to filter by dynamic values against the API.

Turn on the search bar of the block so that people can search the API.
Body
The Body section shows when the HTTP method is POST. Some APIs use POST to return data, for example search endpoints, GraphQL APIs, or previews. Write the body as JSON. Use the API’s documentation to know which keys to send. In this example, the Upcoming invoice resource gets a preview of the next Stripe invoice of the logged-in user:
Pagination
Most APIs return a limited number of records per request. Use the Pagination section to tell Softr how to get the next page of results. Softr uses cursor pagination:- Response parameter - cursor: Where the cursor of the next page is in the response (Body or Header), and its name. Turn on Transformer function if you need JavaScript to read the cursor.
- Request parameter - cursor: Where Softr sends the cursor in the next request, and the parameter name.
- Request parameter - limit: The parameter that sets the number of records per page, and its value.
starting_after, and asks for 25 invoices per page with limit.

Transformer
Use the Transformer section to change the API response with JavaScript. A transformer can extract a nested list from the response, or calculate a new field. AI tools are good at writing these functions. In the Stripe example,return response.data; keeps only the list of invoices in the data key of the response.

3. Check the response and the schema
When you click Execute and the request succeeds, three tabs show below the sections: Schema, Transformed JSON, and Raw JSON. Scroll down to see them. Schema The Schema tab lists the fields of the response. Softr Studio shows these fields when you set up a block. Each field has four settings:- Key: The name of the field in the response.
- Type: How Softr shows and filters the field. The types are TEXT, NUMBER, BOOLEAN, DATE, DATETIME, TIMESTAMP, OBJECT, ARRAY, EMAIL, and URL.
- Enabled: Clear this checkbox to hide the field in Softr Studio.
- Is ID field: Turn on this toggle for the field that identifies each record. When no field is the ID field, Softr shows a warning.


data key, so the transformer returns response.data.

FAQs
Can I use REST API to update data in Softr?
Can I use REST API to update data in Softr?
No. A REST API data source is read-only: blocks can show its data, but the Add record and Edit record buttons aren’t available. To send data to an API, use the Call API action on a block button, or the Call API action in Softr Workflows.
How do I add authentication for my API?
How do I add authentication for my API?
Select API key or OAuth when you connect the API. Softr adds the authentication header to every request.
Can I connect multiple APIs to one Softr app?
Can I connect multiple APIs to one Softr app?
Yes! You can add multiple REST API connections and use them across different blocks.