[//]: #@corifeus-header
[](https://travis-ci.org/patrikx3/freenom) [](https://scrutinizer-ci.com/g/patrikx3/freenom/?branch=master) [](https://scrutinizer-ci.com/g/patrikx3/freenom/?branch=master)
[](https://www.npmjs.com/package/p3x-freenom/)
---
# Freenom API - Promise and auto renew expiring domains
This is an open source project. Just code.
### Node Version Requirement
```
>=7.8.0
```
### Built on Node
```
v8.8.1
```
The ```async``` and ```await``` keywords are required.
Install NodeJs:
https://nodejs.org/en/download/package-manager/
# Description
[//]: #@corifeus-header:end
# Freenom API
http://www.freenom.com/en/freenom-api.html
I am using these only right now. So no other functions but very easy to add in and Promise based.
```javascript
const Freenom = require('p3x-freenom');
const freenom = await Freenom({
email: 'p3x@corifeus',
password: 'password',
});
await freenom.service.ping();
await freenom.domain.search({
domainname: 'patrikx3.com',
domaintype: 'FREE'
})
await freenom.domain.delete({ domainname: 'random.tk'));
await freenom.domain.register({
domainname: [
'random.tk',
'random1.tk',
'random2.tk',
],
domaintype: 'FREE',
period: '1Y',
nameserver: [
'ns1.ns.tk',
'ns2.ns.tk',
]
})
await freenom.domain.delete, { domainname: domains })
await freenom.domain.list()
```
# The good extra functions
It automatically renew the free domains (it checks if it is within 14 days expiry and the do it).
```javascript
// just a helper, you don't relly need it
const renewable = await freenom.domain.expiring({
expiry: '60 days',
});
// the magic
await freenom.domain.expiringRenew({
period: '12M',
})
```
[//]: #@corifeus-footer
---
[**P3X-FREENOM**](https://pages.corifeus.com/freenom) Build v1.0.209-178
[](https://www.facebook.com/corifeus.software) [](https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=LFRV89WPRMMVE&lc=HU&item_name=Patrik%20Laszlo&item_number=patrikx3¤cy_code=HUF&bn=PP%2dDonationsBF%3abtn_donate_SM%2egif%3aNonHosted)
[//]: #@corifeus-footer:end