Skip to content

NangoHQ/nango-sync

main
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Nango Logo

Integrate your app with 3rd-party APIs, fast

The service that lets you easily synchronise data between your app and any 3rd-party API.


Explore the docs »

Website · Examples · Report Bug · Slack · Roadmap · Twitter ·

⭐️ Why Nango?

Adding integrations to an app is complicated.

At first, it looks as simple as making requests to a 3rd-party API. But you quickly need to build OAuth, background synchronisation, retries, pagination, caching, webhooks, data transformation, monitoring, etc.

We pre-built these components so you don’t have to and can focus on shipping low maintenance integrations fast.

 How it works

With Nango, building integrations becomes as simple as:

  1. Authenticate users with OAuth in your frontend:
nango.auth('hubspot', '<user-id>'); // Starts OAuth flow
  1. Easily sync data from any API endpoint to your DB in the backend:
nango.sync('https://api.hubspot.com/crm/v3/contacts', config); // Syncs contacts forever!
  1. Read the always-fresh data from the DB and use it in your app
SELECT * FROM hubspot_contacts WHERE ...

Additionally, Nango has out-of-the-box support for:

  • 🔐 OAuth token retrieval & refresh
  • 📶 Incremental syncs
  • 🪝 Webhooks
  • ⚡️ JSON-to-SQL schema mapping
  • 🔄 Retries & rate-limit handling
  • 🚀 Scalable & flexible open-source infrastructure
  • Language-agnostic
  • ☁️ Self-hosted and Cloud options

🧑‍💻 Example use cases

Nango is API agnostic: It works with any API endpoint that returns JSON (you just need to give it a few details about the endpoint).

While Nango supports millions of APIs, here are some of the most popular ones:

  • CRMs such as HubSpot, Salesforce, Pipedrive, Zoho CRM, Zendesk Sell etc.
  • Accounting systems such as Quickbooks, Xero, Netsuite, Zoho Books, Freshbooks etc.
  • Cloud providers such as AWS, GCP, Azure, DigitalOcean, Fly.io, Heroku etc.
  • Productivity tools such as Gmail, Google Calendar, Slack, Outlook 365, Zoom, Google Drive etc.
  • Project Management tools such as Airtable, Asana, Monday.com, ClickUp etc.
  • Dev tools such as Github, Gitlab, JIRA, Trello, Figma etc.
  • ...any API endpoint that returns JSON

The docs have more examples of Nango configurations for different APIs and endpoints.

🚀 Quickstart

Let’s sync the Pokémon API to your DB in 3 minutes.

Clone the repo and start Nango locally…

git clone https://github.com/NangoHQ/nango-sync.git && cd nango-sync
docker compose up

...and create a Sync with a simple CURL command:

curl --request POST \
	--url http://localhost:3003/v1/syncs \
	--header "Content-type: application/json" \
	--data '{"url": "https://pokeapi.co/api/v2/pokemon", "response_path": "results", "paging_url_path":"next", "mapped_table":"pokemons", "frequency":"1 minute"}'

That's it! You can check out the list of all Pokémons in your local db (password is nango). They will stay in sync forever!

☁️ Use the fully-hosted Nango Cloud

Request a Nango instance on the Slack community (free-tier available).

🔗 Links

💪 Contributors