Skip to main content

Developer API & MCP

Let any app or AI agent find and apply to remote, Indonesia-friendly jobs. Free to start; applying needs a paid plan and spends 1 credit per apply.

Quickstart

Create a key, then search jobs with a single request:

curl "https://lokerdollar.com/api/v1/jobs?q=react&remote_type=worldwide&limit=5" \
  -H "Authorization: Bearer lk_live_…"

Authentication

Pass your key as a bearer token on every request. Keys are shown once at creation — store them securely. Never put a key in a query string.

Authorization: Bearer lk_live_…

Plans & rate limits

PlanRate limitMax pageApplyCredits/mo
Free60/min50
Starter120/min20100
Pro300/min50500

Free is ad-supported (results may include promoted listings labeled sponsored: true). Paid tiers are ad-free. Every response carries X-RateLimit-Limit / -Remaining / -Reset headers; a 429 includes Retry-After.

REST endpoints

GET /api/v1/jobs

Search jobs. Query params: q, location, remote_type (worldwide | regional | timezone-based), job_type (full-time | part-time | contract | freelance), limit (1–50, default 20), offset, locale (id | en).

{
  "tier": "free",
  "jobs": [
    {
      "id": "job_8f2a1c",
      "title": "Senior React Developer",
      "company": "Remote Labs",
      "location": "Remote (Worldwide)",
      "payMin": 4000, "payMax": 6000,
      "payCurrency": "USD", "payPeriod": "monthly",
      "remoteType": "worldwide", "jobType": "full-time",
      "postedAt": "2026-06-12T09:00:00Z",
      "url": "https://lokerdollar.com/en/jobs/senior-react-developer-remote-labs--job_8f2a1c",
      "applyUrl": "https://lokerdollar.com/en/out/job_8f2a1c/senior-react-developer-remote-labs",
      "sponsored": false
    }
  ],
  "page": 0, "hasMore": true
}

GET /api/v1/jobs/{id}

Fetch a single active job (same basic fields as search).

POST /api/v1/jobs/{id}/apply

Apply to a job (paid tiers only; spends 1 credit). Body: candidate_name, candidate_email, message (80–3000 chars), resume_url (optional), locale (optional). Returns either a submitted application or an external apply URL to finish on the source site.

curl -X POST "https://lokerdollar.com/api/v1/jobs/job_8f2a1c/apply" \
  -H "Authorization: Bearer lk_live_…" \
  -H "Content-Type: application/json" \
  -d '{"candidate_name":"Budi","candidate_email":"budi@example.com","message":"…(80–3000 chars)…"}'

GET /api/v1/me

Your tier, scopes, apply-credit balance, and limits — call this to discover what your key can do before applying.

Errors

Every error returns the same envelope with a stable code:

{ "error": { "code": "rate_limited", "message": "…" } }
unauthorized401
forbidden403
payment_required402
not_found404
invalid_request400
rate_limited429
service_disabled503
internal500

Connect via MCP

The MCP server speaks JSON-RPC 2.0 over Streamable HTTP. Add it to any MCP client (Claude Desktop, Cursor, …):

{
  "mcpServers": {
    "lokerdollar": {
      "type": "http",
      "url": "https://lokerdollar.com/api/mcp",
      "headers": { "Authorization": "Bearer lk_live_…" }
    }
  }
}

Tools: search_jobs, get_job, apply_to_job, get_me. The server advertises usage instructions on initialize. Discovery: /.well-known/mcp.json · /llms.txt · /api/openapi.json

By using the API you agree to the API Terms of Service — including attribution, acceptable-use, and rate-limit rules.