{ "aid": "netlas.io:main-v1", "name": "Netlas API", "type": "Index", "description": "## Environment\n\nTo interact with the Netlas API, you will need an API client or at least the `curl` command-line utility. Alternatively, you can use the **Netlas CLI tool** or the **Netlas Python SDK**.\n\nThis specification includes code samples for all of these options.\n\n### Setting Up an API Client\n\nMost modern API clients support **OpenAPI v3.1** imports. Click **Download** at the top of this page, then import the file into your preferred API client.\n\n✅ We've confirmed that imports work smoothly in the following clients:\n\n| API Client | Steps to Import |\n|-------------------|-------------------------------------------------------------------------------------------------------|\n| **Postman** | In *Import Settings*, set *Folder Organization* to *Tags* for better structure. |\n| **Insomnia** | *Collections* → *Create*, then click the collection name in the top-left corner and choose *Import From File*. |\n| **Bruno** | Click *Import Collection* → *OpenAPI V3 File*, then choose a local folder to store the workspace. |\n| **Scalar** | Don’t forget to configure the API key in the collection's authentication settings. |\n\n⚠️ For tools that still expect **OpenAPI 3.0**, use the OpenAPI 3.0 JSON, for example with Thunder Client, RapidAPI for Mac (Paw), and other older OpenAPI-based import and code generation workflows.\n\n### Netlas CLI Tool\n\nThe Netlas CLI tool is ideal for users who prefer the command line or Bash scripting. It allows you to interact with Netlas just like any other terminal application.\n\nTo install the CLI via Homebrew:\n\n```bash\nbrew tap netlas-io/netlas \nbrew install netlas\n```\n\nOr install it using pipx:\n\n```bash\npipx install netlas\n```\n\n### Netlas Python SDK\n\nThe Netlas Python SDK is designed for Python developers. It provides a convenient way to work with the API, with built-in handling for common errors.\n\nInstall the SDK using pip:\n\n```bash\npip install netlas\n```\n\n> The Netlas CLI tool is included with the SDK, so it becomes available automatically after SDK installation.\nBoth the Netlas Python SDK and CLI tool are open-source and available under the MIT license in the Github Netlas repository.\n\n\"Netlas\n\n\n## Authentication\nEach registered Netlas user receives a unique API key. You can find your API key on the profile page, accessible from the top-right menu in the web application.\n\n![API-key access](/assets/images/api_key-d.png)\n\nInclude your API key as a **Bearer token** in the `Authorization` header to authorize your requests. The `curl` examples in this manual will work as-is if you export the API key as the `NETLAS_API_KEY` environment variable:\n\n```bash\nexport NETLAS_API_KEY=put_your_key_here\ncurl -X 'GET' \"https://app.netlas.io/api/host/\" \\\n -H \"Authorization: Bearer $NETLAS_API_KEY\"\n```\n\nNetlas API authorization follows RFC 6750, _The OAuth 2.0 Authorization Framework: Bearer Token Usage_.\n\n> The `X-API-Key` header was previously used for authentication and is still supported, but **considered deprecated** and may be removed in future versions.\n\nIf you are using the Netlas CLI or SDK, securely save your API key locally:\n\n```bash\nnetlas savekey \"YOUR_API_KEY\"\n```\n\nThe Netlas CLI tool automatically uses the saved key. \n\nTo fetch saved key in Python:\n\n```python\nimport netlas\napi_key = netlas.helpers.get_api_key()\n```\n⚠️ **FYI:** You may be eligible for a special subscription if you're using Netlas for educational purposes, building an integration, or writing for a blog or journal.
Read more →\n\n\n## Rate Limits\n\nTo ensure fair usage and optimal performance, the Netlas API enforces the following rate limits:\n\n- **60 requests per minute** for search and count operations, excluding certificate searches.\n- **3 requests per minute** for search and count operations involving [certificate data collections](#tag/Certificates).\n\nIf these limits are exceeded, the API responds with __Error 429 (Too Many Requests)__ and includes a `Retry-After` header indicating the number of seconds to wait before retrying.\n\nThe Netlas CLI and SDK are configured by default to automatically handle rate limit errors. \nWhen using the SDK, you can customize this behavior by setting the `throttling` and `retry` parameters in the search methods.\nThis allows you to either disable automatic handling or specify the number of retry attempts.\n\nTo manage rate limiting manually you you can catch and handle the `ThrottlingError` exception in your code:\n\n```python\nimport netlas\nimport time\n\nnc = netlas.Netlas()\n\nfor i in range(65):\n try:\n nc.host(host=None, fields=[\"*\"], exclude_fields=True, throttling=False)\n except netlas.ThrottlingError as e:\n time.sleep(e.retry_after) # Wait for the specified time before retrying\n```\n\n⚠️ **Important:** Always handle Netlas API errors correctly. Ignoring rate limits or other errors may result in temporary access restrictions. Read more about blocking policy in the FAQ section.\n", "url": "https://raw.githubusercontent.com/jentic/jentic-public-apis/refs/heads/main/apis/openapi/netlas.io/main/v1/apis.json", "tags": [ "netlas.io", "main" ], "created": "2026-04-11", "modified": "2026-04-11", "specificationVersion": "0.19", "access": "3rd-Party", "maintainers": [ { "FN": "Jentic", "X-github": "jentic", "url": "https://github.com/jentic" } ], "apis": [ { "aid": "netlas.io:main-v1", "name": "Netlas API", "description": "## Environment\n\nTo interact with the Netlas API, you will need an API client or at least the `curl` command-line utility. Alternatively, you can use the **Netlas CLI tool** or the **Netlas Python SDK**.\n\nThis specification includes code samples for all of these options.\n\n### Setting Up an API Client\n\nMost modern API clients support **OpenAPI v3.1** imports. Click **Download** at the top of this page, then import the file into your preferred API client.\n\n✅ We've confirmed that imports work smoothly in the following clients:\n\n| API Client | Steps to Import |\n|-------------------|-------------------------------------------------------------------------------------------------------|\n| **Postman** | In *Import Settings*, set *Folder Organization* to *Tags* for better structure. |\n| **Insomnia** | *Collections* → *Create*, then click the collection name in the top-left corner and choose *Import From File*. |\n| **Bruno** | Click *Import Collection* → *OpenAPI V3 File*, then choose a local folder to store the workspace. |\n| **Scalar** | Don’t forget to configure the API key in the collection's authentication settings. |\n\n⚠️ For tools that still expect **OpenAPI 3.0**, use the OpenAPI 3.0 JSON, for example with Thunder Client, RapidAPI for Mac (Paw), and other older OpenAPI-based import and code generation workflows.\n\n### Netlas CLI Tool\n\nThe Netlas CLI tool is ideal for users who prefer the command line or Bash scripting. It allows you to interact with Netlas just like any other terminal application.\n\nTo install the CLI via Homebrew:\n\n```bash\nbrew tap netlas-io/netlas \nbrew install netlas\n```\n\nOr install it using pipx:\n\n```bash\npipx install netlas\n```\n\n### Netlas Python SDK\n\nThe Netlas Python SDK is designed for Python developers. It provides a convenient way to work with the API, with built-in handling for common errors.\n\nInstall the SDK using pip:\n\n```bash\npip install netlas\n```\n\n> The Netlas CLI tool is included with the SDK, so it becomes available automatically after SDK installation.\nBoth the Netlas Python SDK and CLI tool are open-source and available under the MIT license in the Github Netlas repository.\n\n\"Netlas\n\n\n## Authentication\nEach registered Netlas user receives a unique API key. You can find your API key on the profile page, accessible from the top-right menu in the web application.\n\n![API-key access](/assets/images/api_key-d.png)\n\nInclude your API key as a **Bearer token** in the `Authorization` header to authorize your requests. The `curl` examples in this manual will work as-is if you export the API key as the `NETLAS_API_KEY` environment variable:\n\n```bash\nexport NETLAS_API_KEY=put_your_key_here\ncurl -X 'GET' \"https://app.netlas.io/api/host/\" \\\n -H \"Authorization: Bearer $NETLAS_API_KEY\"\n```\n\nNetlas API authorization follows RFC 6750, _The OAuth 2.0 Authorization Framework: Bearer Token Usage_.\n\n> The `X-API-Key` header was previously used for authentication and is still supported, but **considered deprecated** and may be removed in future versions.\n\nIf you are using the Netlas CLI or SDK, securely save your API key locally:\n\n```bash\nnetlas savekey \"YOUR_API_KEY\"\n```\n\nThe Netlas CLI tool automatically uses the saved key. \n\nTo fetch saved key in Python:\n\n```python\nimport netlas\napi_key = netlas.helpers.get_api_key()\n```\n⚠️ **FYI:** You may be eligible for a special subscription if you're using Netlas for educational purposes, building an integration, or writing for a blog or journal.
Read more →\n\n\n## Rate Limits\n\nTo ensure fair usage and optimal performance, the Netlas API enforces the following rate limits:\n\n- **60 requests per minute** for search and count operations, excluding certificate searches.\n- **3 requests per minute** for search and count operations involving [certificate data collections](#tag/Certificates).\n\nIf these limits are exceeded, the API responds with __Error 429 (Too Many Requests)__ and includes a `Retry-After` header indicating the number of seconds to wait before retrying.\n\nThe Netlas CLI and SDK are configured by default to automatically handle rate limit errors. \nWhen using the SDK, you can customize this behavior by setting the `throttling` and `retry` parameters in the search methods.\nThis allows you to either disable automatic handling or specify the number of retry attempts.\n\nTo manage rate limiting manually you you can catch and handle the `ThrottlingError` exception in your code:\n\n```python\nimport netlas\nimport time\n\nnc = netlas.Netlas()\n\nfor i in range(65):\n try:\n nc.host(host=None, fields=[\"*\"], exclude_fields=True, throttling=False)\n except netlas.ThrottlingError as e:\n time.sleep(e.retry_after) # Wait for the specified time before retrying\n```\n\n⚠️ **Important:** Always handle Netlas API errors correctly. Ignoring rate limits or other errors may result in temporary access restrictions. Read more about blocking policy in the FAQ section.\n", "image": "", "baseURL": "https://app.netlas.io", "humanURL": "https://docs.netlas.io/quick-start/", "version": "v1", "tags": [ "netlas.io", "main" ], "properties": [ { "type": "OpenAPI", "name": "OpenAPI definition", "url": "https://raw.githubusercontent.com/jentic/jentic-public-apis/refs/heads/main/apis/openapi/netlas.io/main/v1/openapi.json", "mediaType": "application/openapi+json" }, { "type": "GitHubRepo", "url": "https://github.com/jentic/jentic-public-apis/tree/main/apis/openapi/netlas.io/main/v1" } ], "contact": [ { "FN": "Netlas LLC", "url": "https://netlas.io/" } ] } ] }