[Support Guide] Understanding and using Netlify's API

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! 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: . Be aware that non-documented endpoints 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.

You may also be interested in this article about linking a repo via the API. And, always be sure to exercise great care with handling your API tokens, since they have the same access to all sites/accounts that you do in our admin UI!

Let us know what you think.

6 Likes
How to dynamically create a subdomain?
Build & Deploy via webhook only
Netlify API for adding DNS record
Configure site DNS through API
List of Netlify IP adresses for whitelisting
How to Export all Identity User Data?
Split testing Under the Hood?
Test and production environments
Generate the .CSV file with all the submissions (verified and spam)
Oauth/tickets create ticket API endpoint returns a ticket with Authorized: null
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?
Custom draft URLs for manual deploys
Quick question about CI interaction and deploys from Github
Continues deployment problem for repo
Setup netlify DNS on a site via API only
Set persistent env variables programatically
List all branch subdomains of site
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
GitHub & site integration using API
Can you deploy existing build to another site?
Duplicated deploys and duplicated webhooks
Any usage documentation for the OAuth API endpoints?
Disable form processing in config file
List and edit form submissions using netlify-cli
How to create dynamic domain aliases or via API?
Feature request: import environment variables
Custom domains for users, with Netlify
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
Api to set webhook for forms
Enable Identity via Netlify API
Canceling Deployment
Netlify API is not fetching all DNS records of site
Transfer custom domain to AWS
Manual deploy branch preview - permament or timeout?
Environment variables via API
Linking a repository via API