API for Developers

Integrate scientifically validated profile assessments directly into your HR software, ATS systems or custom applications.

# Invite candidate for profile assessment
curl -X POST https://www.escprofile.com/api/v1/invites \
  -H "Authorization: Bearer pk_live_..." \
  -H "Content-Type: application/json" \
  -d '{"email":"candidate@company.com"}'

Get Started in 3 Steps

From registration to your first assessment

1

Create API Key

Register for free and receive your API key instantly.

Register Now
2

Purchase Credits

Top up your balance - pay-as-you-go or with volume discounts.

View Pricing
3

Integrate

Invite candidates and retrieve results via API.

View Endpoints

Code Examples

Easy integration in any programming language

# Invite candidate
curl -X POST https://www.escprofile.com/api/v1/invites \
  -H "Authorization: Bearer pk_live_xxx" \
  -H "Content-Type: application/json" \
  -d '{
    "email": "candidate@example.com",
    "product_type": "pa-leadership",
    "callback_url": "https://your-app.com/webhook"
  }'

# Get result
curl https://www.escprofile.com/api/v1/results/inv_xxx \
  -H "Authorization: Bearer pk_live_xxx"
import requests

API_KEY = "pk_live_xxx"
BASE_URL = "https://www.escprofile.com/api/v1"

headers = {
    "Authorization": f"Bearer {API_KEY}",
    "Content-Type": "application/json"
}

# Invite candidate
response = requests.post(
    f"{BASE_URL}/invites",
    headers=headers,
    json={
        "email": "candidate@example.com",
        "product_type": "pa-leadership"
    }
)

invite = response.json()
print(f"Invitation created: {invite['invite_id']}")
const API_KEY = 'pk_live_xxx';
const BASE_URL = 'https://www.escprofile.com/api/v1';

// Invite candidate
const response = await fetch(`${BASE_URL}/invites`, {
  method: 'POST',
  headers: {
    'Authorization': `Bearer ${API_KEY}`,
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    email: 'candidate@example.com',
    product_type: 'pa-leadership'
  })
});

const invite = await response.json();
console.log(`Invitation created: ${invite.invite_id}`);
<?php
$api_key = 'pk_live_xxx';
$base_url = 'https://www.escprofile.com/api/v1';

// Invite candidate
$ch = curl_init("$base_url/invites");
curl_setopt_array($ch, [
    CURLOPT_POST => true,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
        "Authorization: Bearer $api_key",
        "Content-Type: application/json"
    ],
    CURLOPT_POSTFIELDS => json_encode([
        'email' => 'candidate@example.com',
        'product_type' => 'pa-leadership'
    ])
]);

$response = curl_exec($ch);
$invite = json_decode($response, true);
echo "Invitation created: " . $invite['invite_id'];

API Endpoints

RESTful API with JSON responses

Public Endpoints

POST /register

Create API Key

Register as a new API customer with email and company name.

GET /products

Get Products

List of all available assessment types and packages.

GET /health

API Status

Check system status and availability.

Authenticated Endpoints

GET /balance

Check Balance

View current balance and usage.

GET /search

Search Assessments

Find candidates by name, email or date.

POST /invites

Invite Candidate

Send invitation for profile assessment.

GET /invites

List Invitations

View all invitations with status.

GET /invites/{id}/results

Results (JSON)

All dimensions as structured JSON data.

GET /invites/{id}/report

PDF Report

Download PDF (Standard, Leadership, Sales).

GET /invites/{id}/match

Matching

Compare candidate with job profile.

POST /job-profiles

Create Job Profile

Create ideal profile with dimensions.

POST /invites/{id}/remind

Send Reminder

Send reminder email to candidate (max 3x).

POST /webhooks

Set Up Webhook

Receive notifications when assessments complete.

GET /invoices

Get Invoices

List all invoices with PDF download.

GET /gdpr/candidates

GDPR Candidates

List candidates eligible for deletion.

DELETE /gdpr/candidates/{id}

GDPR Deletion

Anonymize candidate data (GDPR compliant).

Teams New

GET /teams

List Teams

Get all teams for your account.

POST /teams

Create Team

Create a new team for group analysis.

GET /teams/{id}

Team Details

Get team info with member list.

POST /teams/{id}/members

Add Members

Add candidates to a team.

DELETE /teams/{id}/members/{sid}

Remove Member

Remove a candidate from the team.

GET /teams/{id}/export

Export Team

Export team data as CSV or JSON.

Create API Key

Register for free and start immediately

Contact Details
Billing Address
Registration successful!
Save this key now! It will only be shown once.

Admin Access

Here you can also invite candidates manually and view results - without API calls.

Important: Please change the password after your first login under "Account".

Purchase Credits

You can conveniently purchase credits in the Admin Tool. You received your login credentials by email after registration.


How it works:
  1. Log in to the Admin Tool with your credentials
  2. Click on "Invitations" in the menu
  3. Select a credit package and pay securely via Stripe
  4. Credits are available immediately
Forgot your credentials? Contact us at ralph.koebler@escprofile.com

Ready to Get Started?

Register now and integrate profile assessments into your software.