API
Learn how the netcup API works.
You can find the technical documentation for the API at: Technical Documentation API
Customer Control Panel-API
The APIs in the CCP allow you to programmatically perform various actions.
Currently available API services
- DNS API
- With the DNS API you can make modifications to DNS zones of domains that are connected via our netcup nameservers, and get information about the DNS zones and records.
- Domain reselling API
- Can only be used after concluding a domain reselling contract with us
- The API allows you to register and transfer domains, create contact handles, assign handles to domains and much more.
Authentication
Applying for an API Password and API Key
To use the API functions, you'll need the following:
- Legacy DNS: Legacy API Key and API Passwort
- CloudDNS: API Key
To check whether your domains use Legacy DNS or CloudDNS, follow these steps:
- Log in to the Customer Control Panel (CCP).
- Go to the Domains menu item on the left.
- In the Results section, click the magnifying glass icon next to the domain in question.
You need an API Key if the domain uses CloudDNS—you can tell this by the CloudDNS tab.
You need a Legacy API Key if the domain uses DNS—you can tell this by the DNS tab.
You can find the required information for the API Key, Legacy API Key, and Legacy API Password in the CCP under Master Data > API.
Creating an API Key
To connect to the interface, you need at least one API Key—you can also create this in the CCP under Master Data > API. To create an API Key, click the Creating an API Key button in the lower-right corner of the API Keys section.
We generate the API Key, and it is long enough to ensure a high level of security.
- Enter a description for your new API Key (maximum 50 characters) in the field provided.
- Read the API Terms of Use and check the box to indicate that you agree to them.
- Then, click the Confirm button in the lower-right corner.
Creating a Legacy API Key
To create a Legacy API Key, click the Creating an API Key button in the lower-right corner of the Legacy API Keys section.
The Legacy API Key is also generated by us and is long enough to ensure a high level of security.
- Read the API Terms of Use and check the box to indicate that you agree to them.
- Then, click the Confirm button in the lower-right corner.
Your newly created API Keys will then be displayed in the API Keys or Legacy API Keys sections, and you can now implement them in your client.
Regenerating Legacy API Password
In the Legacy API Keys section, click the Regenerating API Password button in the lower-right corner. We generate this password—you cannot set your own.
As soon as you create a new password, you must update it immediately in your client. The API Password will be displayed to you once in the confirmation message. If you forget it, you’ll need to create a new password, since only one Legacy API Password is assigned per customer account. So be sure to keep the password in a safe place.
Check the box to indicate that you agree to the terms and conditions for creating a password, and then click the Confirm button in the lower-right corner.
After you've saved the password securely, click the Close button in the lower-right corner.
Deleting API Key
You can create multiple API Keys and delete them individually.
If you delete an API Key, you will no longer be able to access the API using that key.
- Click the trash can icon next to the API Key you want to delete.
- Click the Confirm button in the lower-right corner.
Authentication at the API
To use the API, you must authenticate yourself. Every job requires authentication with a valid session in the form of a session ID.
When using the login method, you send us
- Your customer number
- Your API key
- Your API password
You will then receive a generated session ID from us as a return value, which you need, together with the API key, to use the other methods. By using your session ID, you are authenticated to our API.
The session expires automatically after 15 minutes of inactivity. Alternatively, you can use the logout method. This leads to a direct expiration of the session.
API log
In your Customer Control Panel (CCP), you can view the most recently executed API actions in the Domains area under API Log. If you are not a domain reseller, the button will appear as soon as you have performed at least one API action.
There you will find the time, the action, the status, a short feedback, the handle, or the domain to which the action refers, the used API key, as well as the time at which the message (with ackpoll) was read.
As can also be seen in the screenshot above, actions that are carried out on the same day and at the same hour, minute and second are not necessarily shown in chronological order.
By clicking on the magnifying glass to the left of the action, you are shown a long feedback, the request message and the response message. You also see the server request ID, the client request ID, the feedback number, and the message format used.
The feedback numbers are based on the usual groups of HTTP error codes:
- 2*** Success messages
- 4*** Errors generally on the customer side
- 5*** Errors generally on the server side
The following actions are logged:
- cancelDomain
- changeOwnerDomain
- createDomain
- createHandle
- deleteHandle
- getAuthcodeDomain
- transferDomain
- updateDnsRecords
- updateDnsZone
- updateDomain
- updateHandle
Technical Information
API Endpoint
The API endpoint is located at the following URI:
https://ccp.netcup.net/run/webservice/servers/endpoint.php
General Information about API Requests
- Input and output is in UTF-8.
- Domains that contain special characters such as a German umlaut must be converted to Punycode before transmission. Depending on the registrar, it may still be the case that certain special characters are not supported. You will then receive an error message.
- If the feedback from the registry changes (e.g., during a transfer from order acceptance “return receipt” to “transfer successful”, the message will be retransmitted with the new feedback during a poll, even if it has previously been read via ackpoll.
Validation
- The XSDs contained in the WSDL can be used for validation.
URI for SOAP Requests
https://ccp.netcup.net/run/webservice/servers/endpoint.php?WSDL
Notes on SOAP Requests
- Please specify the parameters in a SOAP call in the client as described in the function or the WSDL.
- For example, use the SOAP Client generated by us
https://ccp.netcup.net/run/webservice/servers/endpoint.php?PHPSOAPCLIENT
- We do not guarantee the client to be error-free. There are a variety of free solutions on the market that generate code from the WSDL in your preferred language.
Notes on JSON Requests
The message (payload) to the server must be via POST. A login would look like this:
{
"action":"login",
"param":{
"apikey":"xxxxxxxxxxxx",
"apipassword":"xxxx",
"customernumber":"123456"
}
}
URI for JSON Requests (REST)
https://ccp.netcup.net/run/webservice/servers/endpoint.php?JSON
Important Notes on JSON Requests
- Use the JSON URI for REST-form requests.
- The order of parameters is irrelevant in JSON requests, as the parameters are defined by key.
Technical Clients
Please note that we do not accept any liability for the functionality, stability, reliability, etc. of the following clients. These were not developed by or on behalf of netcup GmbH or tested by us. We cannot provide support for them. If you have any questions, please contact the developer of the respective client.
Some of our users have developed clients that can be used with our APIs. We appreciate the commitment of our users and would like to introduce you to the projects here. Have you also developed a client for one of our APIs, and it is missing from the list below? Feel free to email us with a short description of your project, and we will include your client.
Table of Contents
- 1 List of CCP API Clients
- 1.1 DNS API
- 1.1.1 DNS Management
- 1.1.2 Dynamic DNS
- 1.1.3 Let’s Encrypt Clients
- 1.1.4 Libraries / Interfaces
- 1.1 DNS API
List of CCP API Clients
DNS API
DNS Management
- ncdapi (inofficial netcup DNS API Client)
- A Bash client for the netcup DNS API, which allows the modification and creation of DNS records as well as the export and import of zones
- https://github.com/linux-insideDE/ncdapi
Dynamic DNS
- Dynamic DNS client for netcup DNS API
- A PHP DNS API client for dynamic DNS (dynamic DNS) with IPv6 support
- https://github.com/stecklars/dynamic-dns-netcup-api
- Own DynDNS on Netcup vServer with API
- “Netcup provides an API for queries and changes to DNS data. Lars-Sören Steck has published code on Github that can be run on clients and updates dynamic DNS entries with the API. I have bastardized the repository with my existing code into a DynDNS server for Netcup.”
- https://www.onderka.com/computer-und-netzwerk/eigener-dyndns-auf-netcup-vserver-mit-api
- Dyndns client for the netcup dns api written in go
- A Go DNS API client for dynamic DNS (dynamic DNS) with IPv6 support
- https://github.com/Hentra/dyndns-netcup-go
- ownDynDNS (Self-hosted dynamic DNS PHP script for FRITZ!Box and netcup DNS API)
- A PHP DNS API client for dynamic DNS with FRITZ!Box routers (can be directly integrated into it)
- https://github.com/fernwerker/ownDynDNS
- netcup-ddns
- Lua DNS API client for dynamic DNS on routers with OpenWRT
- https://github.com/hazzl/netcup-ddns
- NetCupDynDNS
- C# DNS API client for dynamic DNS (dynamic DNS) with IPv6 support
- https://github.com/DjNemas/NetCupDynDNS
- netcup-ddns-for-mikrotik
- This Script is for using the netcup API for DynDNS on Mikrotik Routers
- https://github.com/toscdesign/netcup-ddns-for-mikrotik
Let's Encrypt Clients
- ACME-DNS-NC
- A helper script for various Let’s Encrypt clients (e.g., GetSSL and acme.sh) to automate the dns-01 Challenge (DNS API)
- https://github.com/froonix/acme-dns-nc
- certbot-dns-netcup
- netcup DNS Authenticator plugin for certbot
- https://github.com/coldfix/certbot-dns-netcup
Libraries / Interfaces
- netcup_dns module
- Add netcup_dns module (Manage DNS records hosted by netcup)
- https://github.com/ansible/ansible/pull/44063
- nc_dnsapi
- A simple API wrapper for the netcup DNS API
- https://pypi.org/project/nc-dnsapi/
- dnssync_nc
- dnssync_nc is a Python package that can interface with the (public, non-reseller) DNS API of the ISP netcup
- https://github.com/johndoe31415/dnssync_nc
- phpnetcuplib
- phpnetcuplib is a PHP library that can interface with the public reseller API of the ISP netcup
- https://github.com/goINPUT-IT-Solutions/phpnetcuplib
- netcup-node
- A node wrapper for the Netcup CCP API
- https://github.com/proohit/netcup-node
- https://www.npmjs.com/package/netcup-node
DNS API
The DNS functionality (DNS API) of the CCP API allows you to make modifications to DNS zones of domains which are connected via our netcup nameservers, as well as receive information about the DNS zones and records.
The functionality available is oriented, among other things, to the possibilities that are already available to you in the CCP in the “DNS” area. Extensive documentation can already be found in our Help Center.
In the following, we describe the basics of using the DNS API.
Requirements
No special requirements need to be met to use the DNS API. The DNS API can be used by any customer who owns domains with us. It’s important that the nameservers of netcup are set for the domains to be edited. If you use external nameservers, we cannot provide an API for these. The DNS API is aimed at customers who already have experience with manipulating and creating DNS entries.
Please note: Invalid or incorrect DNS entries can affect the functionality of your domain.
Functions
With the DNS API you can currently:
- Log in or log out of the API
- Methods: login or logout
- Obtain information about the DNS zone of a domain
- Method: infoDnsZone
- Obtain all DNS records of a zone
- Method: infoDnsRecords
- Make changes to the DNS zone of a domain
- Method: updateDnsZone
- Make changes to the DNS records of a zone
- Method: updateDnsRecords
All changes you make via the API are also visible in the CCP, and vice versa.
Domain Reselling API
With the Domain Reselling functionality (Domain Reselling API) of the CCP API, you can perform a variety of actions with domains as a domain reseller. The API allows you to register and transfer domains, create contact handles, assign domains handles, and much more.
The functionality available is oriented, among other things, to the possibilities that domain reselling already offers you in the CCP. You can refer to our respective documentation for this.
In the following, we describe the basics of using the Domain Reselling API.
Requirements
To use the Domain Reselling API, you need to meet certain requirements:
- You must be a domain reseller of netcup in order to use the Domain Reselling API: Order Reseller Level
- The Domain Reselling API is aimed at customers who have already gained experience with actions that affect domains.
- When using functions of the API, which require the indication of nameservers, it is necessary to operate at least two own nameservers. In this case, you cannot use the nameservers provided by us. If you want to use these, please carry out the necessary actions via your CCP after registration or transfer.
- For example, use the preconfigured PowerDNS image from netcup on your vServer to install nameservers yourself.
Functions
With the Domain Reselling API, you can currently:
- Log in or log out of the API
- Methods: login or logout
- Create, edit, and delete contact handles
- Methods: createHandle, updateHandle, and deleteHandle
- List all created contact handles
- Method: listallHandle
- Register and transfer domains
- Methods: createDomain and transferDomain
- List all created domains
- Method: listallDomains
- Request authcodes for domains
- Method: getAuthcodeDomain
- Cancel domains
- Method: cancelDomain
- Carry out owner changes of domains
- Method: changeOwnerDomain
- Perform domain updates (change handles and nameservers)
- Method: updateDomain
- Get information about a domain or a contact handle
- Methods: infoDomain or infoHandle
- Get the price of a specific TLD
- Method: priceTopleveldomain
- Receive feedback on carried out domain orders and mark them as read
- Methods: poll and ackpoll
All changes you make via the API are also visible in the CCP, and vice versa.
Limitations
- When executing domain orders via the API (using the createDomain / transferDomain methods):
- It is necessary to specify your own handles. Using our standard handles is not possible.
- If our standard handles are set for a domain, termination, and a change of ownership of the domain can only be done via the CCP.
- Domains are always created as additional domains. It is not possible to register inclusive domains via the API.
- It is necessary to specify your own handles. Using our standard handles is not possible.
- As previously mentioned in the prerequisites, you need to specify and operate your own nameservers when using API functions that require nameserver information. You can also use our PowerDNS image on our vServers.
If you still want to use the above functionality, you can perform the desired actions via your CCP.
- Only the following actions are recorded in the logging: cancelDomain, createDomain, changeOwnerDomain, createHandle, deleteHandle, getAuthcodeDomain, transferDomain, updateDnsRecords, updateDnsZone, updateDomain, updateHandle









