---
title: "Integrate any API with RShift Sites"
description: "Connect any external service to your RShift Sites app, even ones without a built-in connector. Describe the API in a prompt and RShift Sites writes the integration, storing keys safely in the built-in backend (Cloud)."
image: "https://help.rshift.com/og.svg"
---

> Documentation Index
> Fetch the complete documentation index at: https://help.rshift.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Integrate any API with RShift Sites

RShift Sites can integrate with **any external API**, public or private, authenticated or not. This is the most flexible integration type, allowing you to bring in functionality RShift Sites does not natively support.

> **Note**
>
> **What is an API?**\
> API (Application Programming Interface) is a structured way for services or applications to communicate and share data with each other. It defines what you can ask for, what you'll get back, and how to make the request. For example, a weather service's API lets your app ask for the current temperature in a city and get the answer back in a format your app can display.

Before integrating an API yourself, check the **Connectors** catalog first. If the tool exists as a connector, connecting it is faster and RShift Sites manages the credentials for you. If the tool is not in the catalog but several projects or teammates will use its REST API, a workspace admin can [create a custom connector](/sites/integrations/create-connector/) for it, which adds it to the catalog with the same managed credentials. Direct API integration is the right path when you need full control over how your app calls the API, or when the integration only matters to a single project.

When you ask RShift Sites to integrate an API, it automatically chooses the correct approach:

* **If the API requires no authentication**, your app calls the API directly.
* **If the API requires authentication**, RShift Sites prompts you to enable the built-in backend (Cloud) and add a secret, and automatically creates an Edge Function to protect sensitive credentials.

## APIs without authentication

If an API requires no credentials, there is no setup required. Just ask RShift Sites to integrate the API. For example:

```text
Integrate Chuck Norris Jokes: https://api.chucknorris.io/jokes/random
```

RShift Sites detects that no key is required and adds the feature directly to your app.

## Authenticated APIs (requires secrets)

For APIs that require authentication credentials or API keys, RShift Sites handles the integration securely using the built-in backend (Cloud). Credentials are stored as secrets in the linked Cloud project and accessed only through Edge Functions, ensuring they remain protected.

**Setup**

1. Ask RShift Sites to integrate the API and include key details:
   * Endpoint URLs and HTTP methods
   * Authentication method (API key header, query param, Bearer token, OAuth)
   * Required headers (Content-Type, custom headers)
   * Request and response format examples (JSON, params, bodies)
   * OpenAPI spec or documentation link
2. Enable [Cloud](/sites/features/cloud/).
3. Add your API key under **Cloud → Secrets.**

**For example:**

```text
Integrate the OpenWeatherMap API. 
Base URL: https://api.openweathermap.org/data/2.5. 
Auth: API key passed as a query parameter appid. 
I need an endpoint to fetch the current weather: GET /weather?q={city}&units=metric&appid={API_KEY}. 
Docs: https://openweathermap.org/current
```

RShift Sites generates the integration with an Edge Function and a weather widget where users can enter a city and fetch weather data.

## Embed feeds and widgets

Not every external service needs an API call. Many services offer embeddable widgets, for example review walls, maps, and booking calendars. Paste the embed code in the project chat and ask RShift Sites to place it, and RShift Sites adds the widget to your app.

Social media feeds need more care, because the platforms limit what an app can read from their APIs, and the rules differ by platform and by whether the accounts are your own. Tell RShift Sites what you want to show, and RShift Sites recommends the setup: a curated wall of individual posts you paste in, an aggregator service's embed code, or the platform's official API for your own accounts.

```text
Add a section to the homepage that shows the latest posts from our own Instagram and TikTok accounts. Recommend the simplest setup that keeps the feed updated, and tell me which accounts or credentials you need from me.
```

Some social platforms have a built-in connector that reads your own account, for example [TikTok](/sites/integrations/tiktok/) and [X (Twitter)](/sites/integrations/x/).

## API access for the project chat

Integrating an API this way adds functionality to your **app**. If you instead want RShift Sites to read from a tool as context **while building**, and the tool is not in the connector catalog, connect it as a [custom MCP server](/sites/integrations/custom-mcp/).

## FAQ

**Can RShift Sites integrate with any API?**

Yes. RShift Sites can integrate with **any external API**, public or private. APIs without authentication can be called directly, while authenticated APIs are integrated securely using the built-in backend (Cloud), secrets, and Edge Functions to protect credentials.

**Where are my API keys stored?**

In your project's [secrets](/sites/features/secrets/), which live in the built-in backend (Cloud), never in your app's frontend code. RShift Sites creates an Edge Function that reads the secret server-side, so the key is not exposed to visitors of your app.

**Do I need the built-in backend (Cloud) to integrate an API?**

Only for authenticated APIs. APIs that need no credentials can be called directly from your app. When credentials are involved, RShift Sites prompts you to enable the [built-in backend (Cloud)](/sites/features/cloud/) so the key can be stored as a [secret](/sites/features/secrets/) and used from an Edge Function.

## Related topics

- [RShift Sites connectors: Connect tools, services, and APIs](/sites/integrations/introduction/)
- [Add payments to your app](/sites/features/payments/)
- [Connect a custom MCP server as a chat connector](/sites/integrations/custom-mcp/)
- [Prompt library](/sites/features/chat-mode/)
- [Set up workspace single sign-on (SSO)](/sites/features/business/sso/)

Source: https://help.rshift.com/sites/integrations/any-api/index.mdx
