explaingit

nangohq/nango

7,360TypeScriptAudience · developerComplexity · 3/5LicenseSetup · moderate

TLDR

An open-source platform that handles OAuth logins, token refresh, and API connections for 700+ services so you can add third-party integrations to your app without writing custom auth code.

Mindmap

mindmap
  root((Nango))
    Building blocks
      Auth OAuth keys
      Proxy requests
      TypeScript functions
    Common patterns
      Data sync
      Incoming webhooks
      AI agent tools
    APIs supported
      700 plus services
      Token auto-refresh
    Deployment
      Cloud hosted
      Self-hosted
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Add OAuth login with Slack, Salesforce, or GitHub to your app without writing token-refresh logic.

USE CASE 2

Give your AI agent the ability to call external APIs like Stripe or Jira as tools on behalf of users.

USE CASE 3

Sync data from a third-party service like HubSpot into your own database automatically.

USE CASE 4

Handle incoming webhooks from external services and process them with custom TypeScript functions.

Tech stack

TypeScript

Getting it running

Difficulty · moderate Time to first run · 30min

Requires signing up for Nango Cloud or self-hosting, OAuth app credentials needed from each third-party provider you connect.

Source code is openly available but you may not offer Nango itself as a hosted service to others, internal and product use is permitted.

In plain English

Nango is an open-source platform for connecting your application or AI agent to external APIs. Instead of writing custom code to handle OAuth login flows, token refresh, rate limits, and retries for every third-party service you want to support, Nango handles all of that for you. It supports over 700 APIs out of the box. The platform is built around three main building blocks. The first is Auth, which manages the login and credential flow for APIs that use OAuth or API keys. You embed a short snippet in your app, and Nango takes care of storing credentials and refreshing tokens across multiple users. The second is the Proxy, which lets your backend make authenticated requests to external APIs through Nango. You send a request to Nango specifying which API and which user connection to use, and Nango resolves the credentials, handles retries, and returns the result. The third is Functions, where you write integration logic as TypeScript code and deploy it to run on Nango's infrastructure. An AI builder in the platform can generate these functions from a plain description of what you want. Common patterns the platform supports include syncing data to and from external services (for example, feeding data into a search index), processing incoming webhooks from third-party services, giving AI agents the ability to call external APIs as tools, and normalizing data from different APIs into a consistent format for your application. Nango is used in production at companies like Replit and Ramp. It is available as a hosted cloud service or can be self-hosted. The codebase is fully open source under the Elastic License, and the project welcomes contributions, including adding support for new APIs.

Copy-paste prompts

Prompt 1
I want to add Salesforce OAuth to my app using Nango, walk me through embedding the auth snippet and storing credentials.
Prompt 2
Use Nango to give my AI agent the ability to read and post to GitHub Issues on behalf of users.
Prompt 3
Set up a Nango sync job that pulls contacts from HubSpot into my Postgres database every hour.
Prompt 4
Write a Nango TypeScript function that fetches all open Jira tickets for a connected user and returns them as JSON.
Prompt 5
I want to self-host Nango, what do I need to run it and how do I configure the first OAuth provider?
Open on GitHub → Explain another repo

← nangohq on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.