Skill Focus Lab API
Integrate professional skill assessment into your application. Available for Enterprise plan customers.
https://skillfocuslab.org/api/v1
Authentication
All API requests require a Bearer token in the Authorization header. You'll receive your API key after enrolling in the Enterprise plan.
GET /api/v1/skills/score Authorization: Bearer YOUR_API_KEY Content-Type: application/json
Enterprise plan: 1,000 requests/minute. Business plan: 200 requests/minute. Each response includes X-RateLimit-Remaining and X-RateLimit-Reset headers.
Endpoints
/api/v1/skills/score
Get Skill Score
Returns the composite Skill Score (0-100) and individual sub-scores for a user.
user_email
query
Filter by user email (team admin only)
{
"user_id": 1234,
"overall_score": 73,
"tier": "advanced",
"sub_scores": {
"typing": { "score": 82, "wpm": 68, "accuracy": 96.4 },
"grammar": { "score": 75, "readability": 82 },
"focus": { "score": 61, "sessions_this_week": 12, "total_minutes": 300 },
"resume": { "score": 74, "ats_score": 89 }
},
"streak": { "current": 14, "longest": 42 },
"updated_at": "2026-02-22T10:30:00Z"
}
/api/v1/typing/analyze
Analyze Typing Performance
Submit typing data for AI analysis. Returns WPM, accuracy, weak keys, and coaching tips.
text
body
The text that was typed (required)
original
body
The original text prompt (required)
duration_ms
body
Typing duration in milliseconds
{
"wpm": 64,
"accuracy": 95.2,
"weak_keys": ["q", "z", "x"],
"coaching": "Focus on bottom-row keys. Your accuracy drops 8% on q-z-x sequences.",
"difficulty_recommendation": "medium"
}
/api/v1/grammar/check
Check Grammar
Submit text for AI grammar analysis. Returns issues, corrections, and readability metrics.
text
body
Text to check (max 5,000 chars, required)
style
body
Writing style: formal, casual, academic
{
"readability_score": 78,
"grade_level": "10th grade",
"issues": [
{ "type": "grammar", "text": "their", "suggestion": "there", "context": "...put it over their...", "explanation": "Use 'there' for location" }
],
"word_count": 342,
"sentence_count": 18
}
/api/v1/resume/score
Score Resume
Submit resume text for comprehensive scoring across 6 categories.
resume_text
body
Resume content as plain text (required)
job_description
body
Target job description for keyword matching
{
"overall_score": 74,
"categories": {
"content": 82, "impact": 68, "structure": 85,
"keywords": 71, "formatting": 78, "ats": 62
},
"top_improvements": [
"Add quantifiable achievements (e.g., 'Increased revenue by 23%')",
"Include industry-specific keywords from target job descriptions"
]
}
/api/v1/team/analytics
Team Analytics
Returns aggregated skill metrics for all team members. Team admin only.
period
query
7d, 30d, 90d (default: 30d)
department
query
Filter by department tag
{
"team_size": 24,
"avg_skill_score": 61,
"top_performer": { "name": "Alice", "score": 92 },
"skill_distribution": {
"expert": 3, "advanced": 8, "intermediate": 10, "beginner": 3
},
"weekly_trend": { "direction": "up", "change": 2.4 },
"most_active_tools": ["typing-test", "grammar-checker", "pomodoro"]
}
/api/v1/webhooks
Create Webhook
Register a webhook URL to receive real-time events (score updates, milestones, new members).
url
body
HTTPS webhook URL (required)
events
body
Array of event types to subscribe to
secret
body
Optional signing secret for verification
{
"id": "wh_abc123",
"url": "https://your-app.com/hooks/sfl",
"events": ["score.updated", "milestone.achieved", "member.joined"],
"secret": "whsec_...",
"created_at": "2026-02-22T10:30:00Z"
}
SDKs & Libraries
npm i @skillfocuslab/sdk
pip install skillfocuslab
Any HTTP client
SDKs are available to Enterprise plan customers. Contact sales for access.
Ready to integrate?
Enterprise API access includes unlimited requests, dedicated support, and custom integrations.
Talk to Sales