Provision Student plans via API

API access to creating free student plans associated to a business account
Note: If you are a student and want a free Keeper account, contact your schools IT department, they will need to implement the below API to provision the Keeper account for you.
The primary use case enabled via this API is to provision free "Keeper Unlimited" accounts for students within your organization, there is no additional cost to your school when proivisioning these accounts.


Keeper offers enterprise customers APIs to provision Student plans. Keeper provides REST APIs that enable you to build custom applications and integration in provisioning Student plans.

Capabilities of the API

Provision Student Plan API endpoint is for Universities to register "Keeper Unlimited" accounts for students within your university at no additional cost. The endpoint will create a 1 year license with the following Product/Add-ons:
  • Keeper Unlimited
  • BreachWatch
  • 10GB File Storage
For the full list of Keeper Unlimited License features, visit the following page.
In order to access this API, contact your Keeper representative to request an API key, this will be securely shared in a Keeper record.

API definition


Additional API Details

API Parameters

For more information on the required parameters, visit:

API Response codes

For more information on the response codes, visit:

API Explorer

If you wish to explore the APIs in another tool like postman or the swagger editor, download the associated YAML definition of the APIs below
For more information on exploring the API with swagger, visit:
If you need support or have additional questions on the usage of these APIs, please contact support or your sales representative.
Sample script using the API

Sample node.js script

Use the below sample so understand how you might implement this in your environment:
var request = require('request');
var CryptoJS = require('crypto-js');
var secret = 'PARTNER_SECRET';
var partner_name = 'PARTNER_NAME';
var email = 'EMAIL';
var hash = CryptoJS.SHA256(email + secret);
var transaction_id = 'TRANSACTION_ID';
var first_name = 'FIRST_NAME';
var last_name = 'LAST_NAME';
var options = {
'method': 'GET',
'url': ''+transaction_id+'&first_name='+first_name+'&last_name='+last_name+'&email='+email+'&hash='+hash+'&partner_name='+partner_name+'',
'headers': {
'Content-Type': 'application/json'
request(options, function (error, response) {
if (error) console.log("Error From the server: "+error);
console.log("response body: "+response.body);
console.log("response status: "+response.statusCode);