GreenRobot Job Search API

A comprehensive REST API for job search functionality, designed for website builders, job board operators, mobile app developers, and job seekers.

Base URL

https://jobsearch.greenrobot.com/api/v1

Response Format

JSON

Features

  • Advanced job search with multiple filters
  • Recent jobs feed (Premium)
  • Bulk export returns a 24h signed URL (Premium)
  • Rate-limited access with usage tracking
  • RESTful design with proper HTTP status codes

Pricing

Trial

Free

  • 1,000 API calls
  • 60 requests/minute
  • Basic support

Premium Plan

$29.99/month

  • 50,000 API calls per month
  • 120 requests/minute
  • 5,000 requests/hour
  • Bulk job downloads (ZIP)
  • Daily job updates endpoint
  • Priority support
  • Usage analytics

Rate Limits

API requests are rate limited to ensure fair usage and system stability.

Plan Monthly Calls Per Minute Per Hour
Trial 1,000 60 1,000
Premium 50,000 120 5,000

Usage Costs (Tokens)

Monthly usage is measured in tokens. Most endpoints cost 1 token per request. Some operations consume more:

OperationToken CostNotes
GET /jobs/search1Standard search
GET /jobs/{job_id}1Job details
GET /jobs/recent1Recent jobs window
POST /jobs/bulk-downloadVaries (500–10,000)Full or daily delta export; returns a 24h signed download_url; credits deducted on generation

Bulk download links expire in 24 hours. Token charges apply at generation time even if the file is not downloaded.

Rate Limit Headers

Rate limit information is included in response headers:

  • X-RateLimit-Limit: Request limit for the current window
  • X-RateLimit-Remaining: Remaining requests in current window
  • X-RateLimit-Reset: Time when rate limit resets (Unix timestamp)

API Endpoints

Jobs

GET /jobs/search

Search for jobs with comprehensive filtering options.

Query Parameters:
ParameterTypeDescription
qstringSearch query for job title, company, or keywords
locationarrayLocation filter (city, state, country, or "remote")
companystringFilter by specific company
skillsarrayRequired skills/technologies
job_typearrayJob type filter (full_time, part_time, contract, internship, remote)
pageintegerPage number for pagination (default: 1)
per_pageintegerResults per page (1-100, default: 20)

GET /jobs/{job_id}

Get detailed information for a specific job posting.

POST /jobs/bulk-download Premium

Prepare a gzipped JSONL export of all jobs (full) or a daily update (delta). Returns a signed download URL valid for 24 hours. Credits are deducted when generated, even if not downloaded.

Body (JSON):
FieldTypeDescription
modestringfull (default) or delta
daysintegerWhen mode=delta, number of days back if since not provided (default: 1)
qstringOptional search query
locationarrayOptional location filter (also supports location[])
skillsarrayOptional skills filter (also supports skills[])
sincestringISO datetime used when mode=delta, e.g., 2025-11-04T00:00:00Z

GET /jobs/recent Premium

Get jobs posted in the last N days with pagination support.

Requires: Premium subscription

Query Parameters:
ParameterTypeDescription
daysintegerNumber of days to look back (1-30, default: 7)
pageintegerPage number (default: 1)
per_pageintegerResults per page (1-100, default: 20)
locationarrayOptional location filter
skillsarrayOptional skills filter

Examples

Search for Python jobs in San Francisco

curl -H "X-API-Key: your_api_key" \
     "https://jobsearch.greenrobot.com/api/v1/jobs/search?skills[]=Python&location[]=San Francisco"

Get job details

curl -H "X-API-Key: your_api_key" \
     "https://jobsearch.greenrobot.com/api/v1/jobs/12345"

Example Response

{
  "data": {
    "jobs": [
      {
        "id": 12345,
        "title": "Senior Software Engineer",
        "company": "Tech Corp",
        "location": "San Francisco, CA",
        "salary_range": "$120,000 - $180,000",
        "date_posted": "2024-01-15",
        "source": "LinkedIn",
        "job_type": ["full_time", "remote"],
        "skills": ["Python", "React", "AWS"],
        "url": "https://company.com/jobs/12345"
      }
    ],
    "pagination": {
      "current_page": 1,
      "per_page": 20,
      "total_pages": 63,
      "total_count": 1247,
      "has_next": true,
      "has_previous": false
    }
  },
  "meta": {
    "timestamp": "2024-01-15T10:30:00Z",
    "response_time_ms": 45.2,
    "api_version": "1.0.0"
  }
}

API Explorer

Test all API endpoints directly from this page with full parameter support:

Get your API key from your profile

SDKs & Libraries

Official SDKs and community libraries are coming soon. In the meantime, you can use any HTTP client to interact with the API. See the examples above for sample requests using cURL.

Support

Contact