APIDocumentation
Programmatic access to AI and crypto job listings, company data, and market statistics.
Overview
The ClawJobs API gives you programmatic access to our database of AI and crypto job listings. We track positions at 500+ companies including OpenAI, Anthropic, Coinbase, and more.
Base URL: https://api.clawjobs.cc/v1
All responses are JSON. The standard response envelope wraps data in a data field with optional meta for pagination.
{
"data": [...],
"meta": {
"total": 1234,
"limit": 20,
"offset": 0,
"has_more": true
}
}Authentication
Pass your API key via the Authorization header or the X-API-Key header:
curl https://api.clawjobs.cc/v1/jobs \
-H "Authorization: Bearer clawjobs_your_api_key"Unauthenticated requests are treated as free tier with lower rate limits and reduced data fields.
Rate Limits
| Tier | Rate Limit | Max Results | Data Access |
|---|---|---|---|
| Anonymous / Free | 10 req/min | 20 per page, max offset 100 | Basic fields only |
| Pro | 120 req/min | 100 per page, no offset limit | Full data including descriptions and URLs |
Rate limits reset on a rolling 60-second window. Exceeding limits returns HTTP 429.
Endpoints
| Method | Path | Description |
|---|---|---|
| GET | /v1/jobs | List job listings with filters |
| GET | /v1/jobs/stats | Aggregated job market statistics |
| GET | /v1/jobs/:id | Get job details |
| GET | /v1/search | Search jobs by keyword |
| GET | /v1/companies | List companies |
| GET | /v1/companies/:id | Get company with jobs |
| GET | /v1/categories | List company categories |
GET /v1/jobs
Returns a paginated list of active job listings, sorted by creation date.
Query Parameters
| Param | Type | Description |
|---|---|---|
| limit | integer | Results per page (default 20, max 20 free / 100 pro) |
| offset | integer | Pagination offset (max 100 for free tier) |
| q | string | Filter by keyword in title/description |
| location | string | Filter by location (e.g. 'San Francisco', 'Remote') |
| category | string | Filter by company category (e.g. 'defi', 'ai') |
| department | string | Filter by department (e.g. 'Engineering', 'Marketing') |
| company | string | Filter by company ID |
| remote | string | Set to 'true' for remote-only jobs |
| sort | string | 'created_at' (default) or 'last_seen' |
Example (Pro)
curl "https://api.clawjobs.cc/v1/jobs?limit=3&category=ai" \
-H "Authorization: Bearer clawjobs_your_key"
{
"data": [
{
"id": 4521,
"company_id": "anthropic",
"company_name": "Anthropic",
"company_logo": "https://...",
"company_category": "ai",
"title": "Senior ML Engineer",
"url": "https://boards.greenhouse.io/anthropic/...",
"location": ["San Francisco, CA"],
"employment_type": "Full-time",
"remote": false,
"department": "Engineering",
"created_at": "2026-03-28T10:00:00Z",
"updated_at": "2026-04-01T08:30:00Z"
}
],
"meta": {
"total": 847,
"limit": 3,
"offset": 0,
"has_more": true
}
}Example (Free)
curl "https://api.clawjobs.cc/v1/jobs?limit=3"
{
"data": [
{
"id": 4521,
"title": "Senior ML Engineer",
"company_name": "Anthropic",
"location": ["San Francisco, CA"],
"remote": false,
"department": "Engineering",
"created_at": "2026-03-28T10:00:00Z"
}
],
"meta": {
"total": 847,
"limit": 3,
"offset": 0,
"has_more": true
}
}GET /v1/jobs/stats
Returns aggregated job market statistics. No tier gating - available to all users.
curl "https://api.clawjobs.cc/v1/jobs/stats"
{
"data": {
"total": 2847,
"remote": 892,
"added_today": 47,
"by_category": [
{ "category": "ai", "count": 1234 },
{ "category": "defi", "count": 567 }
],
"by_department": [
{ "department": "Engineering", "count": 1823 },
{ "department": "Research", "count": 312 }
],
"by_location": [
{ "location": "San Francisco", "count": 487 },
{ "location": "New York", "count": 312 }
]
}
}GET /v1/jobs/:id
Returns full details for a single job. Pro users get all fields including the full description and apply URL. Free users get basic fields only.
curl "https://api.clawjobs.cc/v1/jobs/4521" \
-H "Authorization: Bearer clawjobs_your_key"GET /v1/search
Full-text search across job titles and descriptions. Requires the q parameter.
Query Parameters
| Param | Type | Description |
|---|---|---|
| q | string | Search query (required) |
| location | string | Filter by location |
| category | string | Filter by company category |
| department | string | Filter by department |
| remote | string | 'true' for remote only |
| limit | integer | Results per page |
| offset | integer | Pagination offset |
curl "https://api.clawjobs.cc/v1/search?q=machine+learning&limit=5" \
-H "Authorization: Bearer clawjobs_your_key"GET /v1/companies
Returns a paginated list of companies with active job counts.
Query Parameters
| Param | Type | Description |
|---|---|---|
| q | string | Filter by company name |
| category | string | Filter by category |
| has_jobs | string | 'true' to only show companies with active jobs |
| sort | string | 'tvl' (default), 'jobs', or 'name' |
| limit | integer | Results per page |
| offset | integer | Pagination offset |
curl "https://api.clawjobs.cc/v1/companies?has_jobs=true&sort=jobs&limit=3"
{
"data": [
{
"id": "anthropic",
"name": "Anthropic",
"category": "ai",
"logo": "https://...",
"job_count": 45
}
],
"meta": {
"total": 523,
"limit": 3,
"offset": 0,
"has_more": true
}
}GET /v1/companies/:id
Returns company details with a list of all active jobs. Pro users get full company data including website URL and social links.
curl "https://api.clawjobs.cc/v1/companies/anthropic" \
-H "Authorization: Bearer clawjobs_your_key"GET /v1/categories
Returns all company categories with counts. Useful for building filter UIs.
curl "https://api.clawjobs.cc/v1/categories"
{
"data": [
{ "category": "ai", "count": 187 },
{ "category": "defi", "count": 134 },
{ "category": "infrastructure", "count": 98 }
]
}Error Responses
All errors follow the same format:
{
"error": {
"code": "UNAUTHORIZED",
"message": "Invalid API key"
}
}| Status | Code | Meaning |
|---|---|---|
| 400 | VALIDATION_ERROR | Bad request (e.g. missing required parameter) |
| 401 | UNAUTHORIZED | Invalid or expired API key |
| 404 | NOT_FOUND | Resource not found |
| 429 | - | Rate limit exceeded |
| 500 | INTERNAL_ERROR | Server error |
Free vs Pro Data
Free tier returns a subset of fields to give you a taste of the data. Upgrade to Pro for full access.
| Field | Free | Pro |
|---|---|---|
| id, title, company_name | Yes | Yes |
| location, remote, department | Yes | Yes |
| created_at | Yes | Yes |
| url (apply link) | No | Yes |
| description | No | Yes |
| company_logo, company_url, twitter | No | Yes |
| employment_type, updated_at | No | Yes |