Skip to content

Netlify API

by netlify.com

OAuthHTTPSDevelopment
Open documentation ↗

Overview

Netlify is a hosting service for the programmable web

Netlify is a development API from netlify.com. Requests are authenticated with OAuth. It is served over HTTPS. Its OpenAPI description documents 120 endpoints.

At a glance

Authentication
OAuth
HTTPS
Yes
CORS
Unknown
Category
Development
Base URL
https://api.netlify.com/api/v1
Version
2.15.0
Endpoints
120
Spec updated
2023-03-06

Make a first request

Replace the placeholders; the documentation says exactly where credentials go.

cURL
curl -X GET "https://api.netlify.com/api/v1/accounts" \
  -H "Accept: application/json" \
  -H "Authorization: Bearer YOUR_TOKEN"
JavaScript
const response = await fetch("https://api.netlify.com/api/v1/accounts", {
  method: "GET",
  headers: {
    "Accept": "application/json",
    "Authorization": "Bearer YOUR_TOKEN",
  },
});
const data = await response.json();
console.log(data);
Python
import requests

response = requests.request(
    "GET",
    "https://api.netlify.com/api/v1/accounts",
    headers={
    "Accept": "application/json",
    "Authorization": "Bearer YOUR_TOKEN",
    },
    timeout=30,
)
print(response.json())

Endpoints

MethodPathWhat it does
GET/accountslistAccountsForUser
POST/accountscreateAccount
GET/accounts/typeslistAccountTypesForUser
GET/accounts/{account_id}getAccount
PUT/accounts/{account_id}updateAccount
DELETE/accounts/{account_id}cancelAccount
GET/accounts/{account_id}/auditlistAccountAuditEvents
GET/accounts/{account_id}/envReturns all environment variables for an account or site. An account corresponds to a team in the Netlify UI. To use this endpoint, your site must no longer be
POST/accounts/{account_id}/envCreates new environment variables. Granular scopes are available on Pro plans and above. To use this endpoint, your site must no longer be using the <a href="h
GET/accounts/{account_id}/env/{key}Returns an individual environment variable. To use this endpoint, your site must no longer be using the <a href="https://docs.netlify.com/environment-variables/
PUT/accounts/{account_id}/env/{key}Updates an existing environment variable and all of its values. Existing values will be replaced by values provided. To use this endpoint, your site must no lon
PATCH/accounts/{account_id}/env/{key}Updates or creates a new value for an existing environment variable. To use this endpoint, your site must no longer be using the <a href="https://docs.netlify.c
DELETE/accounts/{account_id}/env/{key}Deletes an environment variable. To use this endpoint, your site must no longer be using the <a href="https://docs.netlify.com/environment-variables/classic-exp
DELETE/accounts/{account_id}/env/{key}/value/{id}Deletes a specific environment variable value. To use this endpoint, your site must no longer be using the <a href="https://docs.netlify.com/environment-variabl
GET/billing/payment_methodslistPaymentMethodsForUser
GET/builds/{build_id}getSiteBuild
POST/builds/{build_id}/logupdateSiteBuildLog
POST/builds/{build_id}/startnotifyBuildStart
GET/deploy_keyslistDeployKeys
POST/deploy_keyscreateDeployKey
GET/deploy_keys/{key_id}getDeployKey
DELETE/deploy_keys/{key_id}deleteDeployKey
GET/deploys/{deploy_id}getDeploy
DELETE/deploys/{deploy_id}deleteDeploy
POST/deploys/{deploy_id}/cancelcancelSiteDeploy
PUT/deploys/{deploy_id}/files/{path}uploadDeployFile
PUT/deploys/{deploy_id}/functions/{name}uploadDeployFunction
POST/deploys/{deploy_id}/locklockDeploy
POST/deploys/{deploy_id}/plugin_runsThis is an internal-only endpoint.
POST/deploys/{deploy_id}/unlockunlockDeploy
GET/dns_zonesgetDnsZones
POST/dns_zonescreateDnsZone
GET/dns_zones/{zone_id}getDnsZone
DELETE/dns_zones/{zone_id}deleteDnsZone
GET/dns_zones/{zone_id}/dns_recordsgetDnsRecords
POST/dns_zones/{zone_id}/dns_recordscreateDnsRecord
GET/dns_zones/{zone_id}/dns_records/{dns_record_id}getIndividualDnsRecord
DELETE/dns_zones/{zone_id}/dns_records/{dns_record_id}deleteDnsRecord
PUT/dns_zones/{zone_id}/transfertransferDnsZone
GET/forms/{form_id}/submissionslistFormSubmissions
GET/hookslistHooksBySiteId
POST/hookscreateHookBySiteId
GET/hooks/typeslistHookTypes
GET/hooks/{hook_id}getHook
PUT/hooks/{hook_id}updateHook
DELETE/hooks/{hook_id}deleteHook
POST/hooks/{hook_id}/enableenableHook
POST/oauth/ticketscreateTicket
GET/oauth/tickets/{ticket_id}showTicket
POST/oauth/tickets/{ticket_id}/exchangeexchangeTicket
GET/services/getServices
GET/services/{addonName}showService
GET/services/{addonName}/manifestshowServiceManifest
GET/sites**Note:** Environment variable keys and values will soon be moved from `build_settings.env` and `repo.env` to a new endpoint. Please use [getEnvVars](#tag/envir
POST/sites**Note:** Environment variable keys and values will soon be moved from `build_settings.env` and `repo.env` to a new endpoint. Please use [createEnvVars](#tag/en
GET/sites/{site_id}**Note:** Environment variable keys and values will soon be moved from `build_settings.env` and `repo.env` to a new endpoint. Please use [getEnvVars](#tag/envir
PATCH/sites/{site_id}**Note:** Environment variable keys and values will soon be moved from `build_settings.env` and `repo.env` to a new endpoint. Please use [updateEnvVar](#tag/env
DELETE/sites/{site_id}deleteSite
GET/sites/{site_id}/assetslistSiteAssets
POST/sites/{site_id}/assetscreateSiteAsset
GET/sites/{site_id}/assets/{asset_id}getSiteAssetInfo
PUT/sites/{site_id}/assets/{asset_id}updateSiteAsset
DELETE/sites/{site_id}/assets/{asset_id}deleteSiteAsset
GET/sites/{site_id}/assets/{asset_id}/public_signaturegetSiteAssetPublicSignature
GET/sites/{site_id}/build_hookslistSiteBuildHooks
POST/sites/{site_id}/build_hookscreateSiteBuildHook
GET/sites/{site_id}/build_hooks/{id}getSiteBuildHook
PUT/sites/{site_id}/build_hooks/{id}updateSiteBuildHook
DELETE/sites/{site_id}/build_hooks/{id}deleteSiteBuildHook
GET/sites/{site_id}/buildslistSiteBuilds
POST/sites/{site_id}/buildscreateSiteBuild
GET/sites/{site_id}/deployed-brancheslistSiteDeployedBranches
GET/sites/{site_id}/deployslistSiteDeploys
POST/sites/{site_id}/deployscreateSiteDeploy
GET/sites/{site_id}/deploys/{deploy_id}getSiteDeploy
PUT/sites/{site_id}/deploys/{deploy_id}updateSiteDeploy
DELETE/sites/{site_id}/deploys/{deploy_id}deleteSiteDeploy
POST/sites/{site_id}/deploys/{deploy_id}/restorerestoreSiteDeploy
GET/sites/{site_id}/dnsgetDNSForSite
PUT/sites/{site_id}/dnsconfigureDNSForSite
GET/sites/{site_id}/fileslistSiteFiles
GET/sites/{site_id}/files/{file_path}getSiteFileByPathName
GET/sites/{site_id}/formslistSiteForms
DELETE/sites/{site_id}/forms/{form_id}deleteSiteForm
GET/sites/{site_id}/metadatagetSiteMetadata
PUT/sites/{site_id}/metadataupdateSiteMetadata
GET/sites/{site_id}/plugin_runs/latestThis is an internal-only endpoint.
PUT/sites/{site_id}/plugins/{package}This is an internal-only endpoint.
PUT/sites/{site_id}/rollbackrollbackSiteDeploy
GET/sites/{site_id}/service-instanceslistServiceInstancesForSite
POST/sites/{site_id}/services/{addon}/instancescreateServiceInstance
GET/sites/{site_id}/services/{addon}/instances/{instance_id}showServiceInstance
PUT/sites/{site_id}/services/{addon}/instances/{instance_id}updateServiceInstance
DELETE/sites/{site_id}/services/{addon}/instances/{instance_id}deleteServiceInstance
GET/sites/{site_id}/snippetslistSiteSnippets
POST/sites/{site_id}/snippetscreateSiteSnippet
GET/sites/{site_id}/snippets/{snippet_id}getSiteSnippet
PUT/sites/{site_id}/snippets/{snippet_id}updateSiteSnippet
DELETE/sites/{site_id}/snippets/{snippet_id}deleteSiteSnippet
GET/sites/{site_id}/sslshowSiteTLSCertificate

Showing the first 100 of 120 endpoints; the full list is in the documentation.

Questions

Does the Netlify API need an API key?

Yes. The Netlify API uses OAuth authentication; the documentation explains how to get credentials.

Does the Netlify API support HTTPS?

Yes, the Netlify API is served over HTTPS.

How many endpoints does the Netlify API have?

Its OpenAPI description lists 120 endpoints in version 2.15.0. The first 100 are shown on this page.

What are alternatives to the Netlify API?

Other Development APIs include Cloudflare, Azure DevOps, IPify, App Store Connect API, StackExchange.

Compare alternatives →

Listed from public-apis (MIT), public-apis database (MIT), APIs.guru (CC0).