Ryan Recruit API Documentation
Build powerful recruitment integrations with our comprehensive REST API
Getting Started
Follow these steps to start building with Ryan Recruit API
Create Account
Sign up for a Ryan Recruit account at $1/month. API access included in all plans.
Get API Key
Generate your API credentials from Settings → API Keys. Keep your keys secure.
Make Requests
Use our interactive API explorer below to test endpoints and build integrations.
Authentication
Ryan Recruit API uses JWT (JSON Web Tokens) for authentication
1. Login
Authenticate with your email and password to receive access and refresh tokens:
POST /api/v1/auth/login
Content-Type: application/json
{
"email": "you@example.com",
"password": "your-password"
}{
"success": true,
"data": {
"tokens": {
"accessToken": "eyJhbGc...",
"refreshToken": "eyJhbGc...",
"expiresIn": 900
},
"user": { ... }
}
}2. Use Access Token
Include the access token in the Authorization header for all API requests:
GET /api/v1/jobs Authorization: Bearer eyJhbGc...
Access tokens expire in 15 minutes for security
Refresh tokens are valid for 7 days
Use POST /api/v1/auth/refresh to get new access token
Rate Limits
API requests are limited to 1,000 requests per hour per account. Headers include remaining quota: X-RateLimit-Remaining
Interactive API Explorer
Browse all endpoints, test requests, and see live responses
Try It Out
Click "Authorize" in the Swagger UI and paste your access token to test API calls directly from your browser. All data is scoped to your company account.
Code Examples
Quick start examples in popular programming languages
JavaScript / Node.js
// Install: npm install node-fetch
const fetch = require('node-fetch');
const API_URL = 'http://localhost:6040';
let accessToken = null;
// Login
async function login() {
const res = await fetch(`${API_URL}/api/v1/auth/login`, {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
email: 'you@example.com',
password: 'your-password'
})
});
const data = await res.json();
accessToken = data.data.tokens.accessToken;
return accessToken;
}
// Get jobs
async function getJobs() {
const res = await fetch(`${API_URL}/api/v1/jobs`, {
headers: {
'Authorization': `Bearer ${accessToken}`
}
});
const data = await res.json();
return data.data;
}
// Usage
(async () => {
await login();
const jobs = await getJobs();
console.log('Jobs:', jobs);
})();Python
# Install: pip install requests
import requests
API_URL = 'http://localhost:6040'
access_token = None
# Login
def login():
global access_token
response = requests.post(
f'{API_URL}/api/v1/auth/login',
json={
'email': 'you@example.com',
'password': 'your-password'
}
)
data = response.json()
access_token = data['data']['tokens']['accessToken']
return access_token
# Get jobs
def get_jobs():
response = requests.get(
f'{API_URL}/api/v1/jobs',
headers={
'Authorization': f'Bearer {access_token}'
}
)
data = response.json()
return data['data']
# Usage
if __name__ == '__main__':
login()
jobs = get_jobs()
print('Jobs:', jobs)cURL (Command Line)
# Login
curl -X POST http://localhost:6040/api/v1/auth/login \
-H "Content-Type: application/json" \
-d '{
"email": "you@example.com",
"password": "your-password"
}'
# Get jobs (replace YOUR_TOKEN with access token from login)
curl http://localhost:6040/api/v1/jobs \
-H "Authorization: Bearer YOUR_TOKEN"
# Create job
curl -X POST http://localhost:6040/api/v1/jobs \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"title": "Senior Software Engineer",
"description": "We are looking for...",
"employmentType": "full_time",
"status": "published"
}'Official SDKs
Coming soon: Type-safe SDKs for popular languages
JavaScript/TypeScript
Coming Q2 2025
Python
Coming Q2 2025
Ruby
Coming Q3 2025
PHP
Coming Q3 2025
Want an SDK in a different language? Let us know and we'll prioritize it.
Key API Endpoints
Most commonly used endpoints to get started
Jobs
- GET
/api/v1/jobs - POST
/api/v1/jobs - GET
/api/v1/jobs/:id - PUT
/api/v1/jobs/:id - DEL
/api/v1/jobs/:id
Candidates
- GET
/api/v1/candidates - POST
/api/v1/candidates - GET
/api/v1/candidates/:id - PUT
/api/v1/candidates/:id - DEL
/api/v1/candidates/:id
Applications
- GET
/api/v1/applications - POST
/api/v1/applications - GET
/api/v1/applications/:id - PUT
/api/v1/applications/:id - DEL
/api/v1/applications/:id
Departments
- GET
/api/v1/departments - POST
/api/v1/departments - GET
/api/v1/departments/:id - PUT
/api/v1/departments/:id - DEL
/api/v1/departments/:id
Users
- GET
/api/v1/users - POST
/api/v1/users - GET
/api/v1/users/:id - PUT
/api/v1/users/:id - DEL
/api/v1/users/:id
Analytics
- GET
/api/v1/analytics - GET
/api/v1/analytics/jobs - GET
/api/v1/analytics/candidates - GET
/api/v1/analytics/sources
Need Help with the API?
API Support is Free: No premium tiers, no hidden fees. All Ryan Recruit customers get full API access and developer support at $1/month.