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
| Plan | Rate limit | Max page | Apply | Credits/mo |
|---|---|---|---|---|
| Free | 60/min | 5 | — | 0 |
| Starter | 120/min | 20 | ✓ | 100 |
| Pro | 300/min | 50 | ✓ | 500 |
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": "…" } }| unauthorized | 401 |
| forbidden | 403 |
| payment_required | 402 |
| not_found | 404 |
| invalid_request | 400 |
| rate_limited | 429 |
| service_disabled | 503 |
| internal | 500 |
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.