JobSeek API

Query job listings programmatically with our public REST API. Build integrations, dashboards, or automated alerts using live job data.

Quick Start

  1. Sign up or log in to your JobSeek account.
  2. Generate an API key from Profile → API Keys.
  3. Include the key in every request header: X-API-Key: your_key_here
  4. Start querying job data below.

Base URL

GET http://jobseek.dev/api/v1

Authentication

All endpoints require a valid API key passed in the X-API-Key header.

# Example request
curl -H "X-API-Key: jb_live_xxx" \\  
  http://jobseek.dev/api/v1/jobs?limit=5

Rate Limits

Usage is tracked per API key. Responses include rate-limit headers so you can monitor consumption.

Tier Daily Quota Per-Minute Burst
Free 100 requests / day 10 requests / min
Pro (Paid) 1,000 requests / day 10 requests / min

Daily quotas reset at midnight UTC. Per-minute counters use a 60-second rolling window.

Response Format

All responses are JSON with a consistent envelope.

Success

{
  "success": true,
  "data": [ ... ],
  "meta": {
    "page": 1,
    "limit": 20,
    "total": 150,
    "totalPages": 8
  }
}

Error

{
  "success": false,
  "error": {
    "code": "RATE_LIMIT_EXCEEDED",
    "message": "Daily quota exceeded. Upgrade to Pro for 1,000 requests/day."
  }
}

Endpoints

GET /api/v1/jobs

List jobs ordered by recency or popularity.

Query Parameters

Param Type Description
sort string date (default) or views
page integer Page number, 1-indexed. Default: 1
limit integer Items per page. Range: 1–100. Default: 20

Example

curl -H "X-API-Key: jb_live_xxx" \
  "http://jobseek.dev/api/v1/jobs?sort=views&page=1&limit=5"
GET /api/v1/jobs/search

Search jobs by keywords using full-text search against titles and descriptions.

Query Parameters

Param Type Description
q string Required. Search keywords.
sort string relevance (default), date, or views
page integer Page number, 1-indexed. Default: 1
limit integer Items per page. Range: 1–100. Default: 20

Example

curl -H "X-API-Key: jb_live_xxx" \
  "http://jobseek.dev/api/v1/jobs/search?q=backend+engineer&sort=date&limit=10"
GET /api/v1/jobs/:id

Retrieve a single job by its numeric ID.

Path Parameters

Param Type Description
id integer Numeric job ID.

Example

curl -H "X-API-Key: jb_live_xxx" \
  "http://jobseek.dev/api/v1/jobs/42"

Job Object

The shape of a job returned by the API.

{
  "id": 42,
  "source_id": "weworkremotely",
  "company_id": "acme-corp",
  "job_title": "Senior Backend Engineer",
  "job_description": "markdown string...",
  "job_type": "Full-time",
  "job_location": "Remote",
  "time_posted": "2026-04-20T00:00:00.000Z",
  "time_apply_end": "2026-05-20T00:00:00.000Z",
  "key_words": "backend, node, postgres",
  "original_link": "https://...",
  "apply_link": "https://...",
  "view_count": 51,
  "created_at": "2026-04-20T00:00:00.000Z",
  "updated_at": "2026-04-20T00:00:00.000Z"
}

Error Codes

Code HTTP Meaning
UNAUTHORIZED 401 Missing or invalid API key.
FORBIDDEN 403 API key has been revoked.
RATE_LIMIT_EXCEEDED 429 Daily or per-minute quota exceeded.
NOT_FOUND 404 Job ID not found.
VALIDATION_ERROR 400 Bad query parameters.

Rate-Limit Headers

Every successful response includes headers to help you track usage.

X-RateLimit-Limit-Daily: 100
X-RateLimit-Remaining-Daily: 87
X-RateLimit-Reset-Daily: 1777420800
X-RateLimit-Limit-Minute: 10
X-RateLimit-Remaining-Minute: 7
X-RateLimit-Reset-Minute: 1777345874

Need Help?

If you have questions about the API, rate limits, or need higher quotas, feel free to reach out at [email protected].