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
- OpenAPI
- Specification ↗
- Spec updated
- 2023-03-06
Make a first request
Replace the placeholders; the documentation says exactly where credentials go.
curl -X GET "https://api.netlify.com/api/v1/accounts" \
-H "Accept: application/json" \
-H "Authorization: Bearer YOUR_TOKEN"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);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
| Method | Path | What it does |
|---|---|---|
| GET | /accounts | listAccountsForUser |
| POST | /accounts | createAccount |
| GET | /accounts/types | listAccountTypesForUser |
| GET | /accounts/{account_id} | getAccount |
| PUT | /accounts/{account_id} | updateAccount |
| DELETE | /accounts/{account_id} | cancelAccount |
| GET | /accounts/{account_id}/audit | listAccountAuditEvents |
| GET | /accounts/{account_id}/env | Returns 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}/env | Creates 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_methods | listPaymentMethodsForUser |
| GET | /builds/{build_id} | getSiteBuild |
| POST | /builds/{build_id}/log | updateSiteBuildLog |
| POST | /builds/{build_id}/start | notifyBuildStart |
| GET | /deploy_keys | listDeployKeys |
| POST | /deploy_keys | createDeployKey |
| 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}/cancel | cancelSiteDeploy |
| PUT | /deploys/{deploy_id}/files/{path} | uploadDeployFile |
| PUT | /deploys/{deploy_id}/functions/{name} | uploadDeployFunction |
| POST | /deploys/{deploy_id}/lock | lockDeploy |
| POST | /deploys/{deploy_id}/plugin_runs | This is an internal-only endpoint. |
| POST | /deploys/{deploy_id}/unlock | unlockDeploy |
| GET | /dns_zones | getDnsZones |
| POST | /dns_zones | createDnsZone |
| GET | /dns_zones/{zone_id} | getDnsZone |
| DELETE | /dns_zones/{zone_id} | deleteDnsZone |
| GET | /dns_zones/{zone_id}/dns_records | getDnsRecords |
| POST | /dns_zones/{zone_id}/dns_records | createDnsRecord |
| 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}/transfer | transferDnsZone |
| GET | /forms/{form_id}/submissions | listFormSubmissions |
| GET | /hooks | listHooksBySiteId |
| POST | /hooks | createHookBySiteId |
| GET | /hooks/types | listHookTypes |
| GET | /hooks/{hook_id} | getHook |
| PUT | /hooks/{hook_id} | updateHook |
| DELETE | /hooks/{hook_id} | deleteHook |
| POST | /hooks/{hook_id}/enable | enableHook |
| POST | /oauth/tickets | createTicket |
| GET | /oauth/tickets/{ticket_id} | showTicket |
| POST | /oauth/tickets/{ticket_id}/exchange | exchangeTicket |
| GET | /services/ | getServices |
| GET | /services/{addonName} | showService |
| GET | /services/{addonName}/manifest | showServiceManifest |
| 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}/assets | listSiteAssets |
| POST | /sites/{site_id}/assets | createSiteAsset |
| 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_signature | getSiteAssetPublicSignature |
| GET | /sites/{site_id}/build_hooks | listSiteBuildHooks |
| POST | /sites/{site_id}/build_hooks | createSiteBuildHook |
| 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}/builds | listSiteBuilds |
| POST | /sites/{site_id}/builds | createSiteBuild |
| GET | /sites/{site_id}/deployed-branches | listSiteDeployedBranches |
| GET | /sites/{site_id}/deploys | listSiteDeploys |
| POST | /sites/{site_id}/deploys | createSiteDeploy |
| 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}/restore | restoreSiteDeploy |
| GET | /sites/{site_id}/dns | getDNSForSite |
| PUT | /sites/{site_id}/dns | configureDNSForSite |
| GET | /sites/{site_id}/files | listSiteFiles |
| GET | /sites/{site_id}/files/{file_path} | getSiteFileByPathName |
| GET | /sites/{site_id}/forms | listSiteForms |
| DELETE | /sites/{site_id}/forms/{form_id} | deleteSiteForm |
| GET | /sites/{site_id}/metadata | getSiteMetadata |
| PUT | /sites/{site_id}/metadata | updateSiteMetadata |
| GET | /sites/{site_id}/plugin_runs/latest | This is an internal-only endpoint. |
| PUT | /sites/{site_id}/plugins/{package} | This is an internal-only endpoint. |
| PUT | /sites/{site_id}/rollback | rollbackSiteDeploy |
| GET | /sites/{site_id}/service-instances | listServiceInstancesForSite |
| POST | /sites/{site_id}/services/{addon}/instances | createServiceInstance |
| 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}/snippets | listSiteSnippets |
| POST | /sites/{site_id}/snippets | createSiteSnippet |
| 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}/ssl | showSiteTLSCertificate |
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.
Similar development APIs
Compare alternatives →Cloudflare
DevelopmentManage DNS, CDN, Workers and other services; documented with an official OpenAPI 3.0 spec
Azure DevOps
DevelopmentThe Azure DevOps basic components of a REST API request/response pair
IPify
DevelopmentA simple IP Address API
App Store Connect API
DevelopmentThe data structure that represents an app store connect api resource.
StackExchange
DevelopmentQ&A forum for developers
IPinfo
DevelopmentAnother simple IP Address API
Listed from public-apis (MIT), public-apis database (MIT), APIs.guru (CC0).