[Support Guide] Understanding and using Netlify's API

Last reviewed by Netlify Support staff: July 2025

Did you know that Netlify has an extensive public API? Anything that you configure in our Admin UI at https://app.netlify.com is managed using this same API, and you’re welcome to use it to create and configure your site(s) and perform most other operations on your account.

We have an article on API Usage in our official documentation which shows how to do some common tasks like deploying your site and configuring it in great detail. It also talks about your options for authentication (since most endpoints require authentication), and also gives examples of usage with the command line http tool curl, so this article won’t rehash that information.

Some details not covered in that article that will be useful as you explore the API:

  • https://open-api.netlify.com has a fairly thorough list of the available calls but is always a work in progress (it may not be entirely complete; if you notice something missing, please file an issue here), since it has to be manually updated with new and changed endpoints.

  • Be aware of our API rate limits as documented in this article.

  • Unless you get officially branded as a reseller, you cannot manage users, subscriptions or payment methods - those are basically the only things our API does which you cannot do unless your account is configured as reseller.

  • Curious about charging your customers for hosting a site on Netlify? Please contact our sales team to discuss special pricing and ability to manage users and accounts on our platform.

The most important advice I can give you about using our API is to watch how we do it! Our entire admin UI works via this API, so checking to see how we use the API in-app will be the best guide to using every feature. You can use your browser’s developer tools to accomplish this! Note that while our UI uses calls to URLs like https://app.netlify.com/access-control/bb-api/api/v1/..., you’ll want to use the endpoint https://api.netlify.com/api/v1/... instead (the specific methods and endpoints will be the same for each, such as HTTP POST to .../hooks/your-hook-id-here).

While we do try to keep our documentation up to date - you can be sure that what is live in production works today! :slight_smile: . Please be aware that endpoints not documented on https://open-api.netlify.com/ may be subject to change at any time. We will honor the documentation for documented endpoints, and will notify if we deprecate any, but non-documented endpoints are considered internal or work in progress and we reserve the rights to change them without notice. This can also help you understand what the normal "order of operations" is when creating a site - you’ll see the endpoints and HTTP methods used, and discover many of the options you can set.

For an example of how to apply this workflow, you may be interested in checking out this article about linking a repo via the API in which I walk through a more complex process that requires multiple API calls, but which I still “sourced” from watching how our UI does things.
And, please always be sure to exercise great care with handling your API tokens, since they have the same access to all sites and accounts that you do in our admin UI!

Let us know what you think!

7 Likes
How to dynamically create a subdomain?
Build & Deploy via webhook only
List of Netlify IP adresses for whitelisting
Test and production environments
How to Export all Identity User Data?
Oauth/tickets create ticket API endpoint returns a ticket with Authorized: null
Split testing Under the Hood?
Generate the .CSV file with all the submissions (verified and spam)
Linking a repository via API
Using API, createSite method result with an error
How am I supposed to set up env variables over API?
Environment variables via API
Set persistent env variables programatically
Custom draft URLs for manual deploys
E-mail setting per site to send monthly usage
Quick question about CI interaction and deploys from Github
Reseller Program?
Receiving HTTP/2 401 respone despite specifiying Authorization header
Membership Site for Email Subscribers
How to control a Netlify build and deploy via CI
Cannot create DNS record via HTTP API
How to Add ENV vars using the CLI
List and edit form submissions using netlify-cli
GitHub & site integration using API
Can you deploy existing build to another site?
Any usage documentation for the OAuth API endpoints?
Disable form processing in config file
Possibility to trigger deploy preview from API
Netlify API for adding DNS record
Programmatically invite users in Netlify Function
[Support Guide] Linking a repository via API
Generate personal access token with another personal access token via CURL (API)
Is it possilbe to set the access control JWT token from the CLI
Configure site DNS through API
Automatically trigger a build when a build fails
Duplicated deploys and duplicated webhooks
Skipping CDN file diff
Number of DNS records
Netlify Forms – enable form detection through API
Redeploy a branch in a site with the latest git commit using Netlify API
Locking current production deploy
Is there an API to upload my own certificate for website?
Feature Request: Split Testing Percentages Editable Via API
Can I programmatically create a Site Deploy Notification?
[ Support Guide] How to use the API to increase your site's build time limit
How to create dynamic domain aliases or via API?
Feature request: import environment variables
Busting the `node_modules` cache when certain files change?
Is auto clone and deploy to a new sub domain possible?
Netlify/js-client API method createSiteBuildHook(): Not able to set 'title' and 'branch'
Deploy previews setting via netlify API
List of Users from the Identity API
Speeding up calling api endpoint to get deploys for a site
Automatically deploy branches that match name pattern
Does each "Deploy Preview" stay available forever?
Api to set webhook for forms
Enable Identity via Netlify API
Canceling Deployment
Netlify API is not fetching all DNS records of site
Manual deploy branch preview - permament or timeout?
Copying env vars from one site to another
Different response values in the API
Automatically create <branch>.mydomain.com subdomain?
Netlify + Wildcard domains + Cloudflare
Is it possible to write build data back to, eg, environmental variables?