API Documentation
REST API for accessing job listings, companies, and tags. All endpoints require bearer token authentication and return standardized JSON responses.
/api/v1Authentication
All endpoints require a bearer token in the Authorization header. Contact us to get an API token.
Authorization: Bearer <your_token>Rate Limiting
Each token is limited to 100 requests per minute using a sliding window. Rate limit status is included in response headers.
X-RateLimit-LimitMaximum requests per window (100)
X-RateLimit-RemainingRemaining requests in current window
Response Format
{
"data": [ ... ],
"meta": {
"page": 1,
"limit": 20,
"total": 150,
"totalPages": 8
}
}{
"error": {
"code": "NOT_FOUND",
"message": "Job not found"
}
}Endpoints
/api/v1/jobsList active jobs with optional filters. Results are ordered by most recently posted.
| Param | Type | Description |
|---|---|---|
| role_category | string | Filter by category. Client-facing: fde, solutions_engineer, csm, tam, sales_engineer, implementation, professional_services. Broad: engineering, product, design, marketing, data, operations, sales, finance, hr, legal, other |
| client_facing | boolean | If true, return all client-facing role categories |
| company | string | Filter by company slug |
| location | string | Partial match on job location |
| remote_only | boolean | If true, only return remote jobs |
| search | string | Search job title or company name |
| page | integer | Page number (default: 1) |
| limit | integer | Results per page (default: 20, max: 50) |
curl -H "Authorization: Bearer $TOKEN" \
"https://aijobs.example.com/api/v1/jobs?role_category=fde&limit=5"/api/v1/jobs/:idGet a single job by UUID, including full description and company details.
curl -H "Authorization: Bearer $TOKEN" \
"https://aijobs.example.com/api/v1/jobs/<uuid>"/api/v1/companiesList active companies with tags and active job counts. Sorted by active jobs, then by name.
| Param | Type | Description |
|---|---|---|
| category | string | Filter by company category (enterprise_ai, public_saas, ai_native, other) |
| search | string | Partial match on company name |
| page | integer | Page number (default: 1) |
| limit | integer | Results per page (default: 50, max: 100) |
curl -H "Authorization: Bearer $TOKEN" \
"https://aijobs.example.com/api/v1/companies?search=anthropic"/api/v1/companies/:idGet a single company by UUID or slug. Includes tags, active job count, and full metadata.
curl -H "Authorization: Bearer $TOKEN" \
"https://aijobs.example.com/api/v1/companies/anthropic"/api/v1/tagsAll tags grouped by dimension: industry, stage, business_model, ai_role, funding_tier.
curl -H "Authorization: Bearer $TOKEN" \
"https://aijobs.example.com/api/v1/tags"{
"data": {
"industry": [
{ "value": "AI Infrastructure", "slug": "ai-infrastructure" },
{ "value": "Developer Tools", "slug": "developer-tools" }
],
"stage": [ ... ],
"funding_tier": [ ... ]
}
}/api/v1/statsSite-wide statistics: total active jobs, total active companies, and new jobs added today.
curl -H "Authorization: Bearer $TOKEN" \
"https://aijobs.example.com/api/v1/stats"{
"data": {
"totalJobs": 1234,
"totalCompanies": 772,
"newToday": 45
}
}