Skip to main content

Public Jobs API — Get your job feed with an access token

S
Written by Sagar Modhvaniya

Fetch your curated job feed and filter options programmatically from your own website or app.

Getting your access token

  1. Log in to your artha.link account and open API from the sidebar (or More → API on mobile).

  2. Click Create access token, give it a name, and optionally set an expiration.

  3. Copy the token immediately — for security reasons it is shown only once. You can have up to 5 active tokens, and you can revoke or delete a token at any time from the same page.

Base URL

https://api.artha.link/api/v1

Authentication

Include your access token on every request using either header:

Authorization: Bearer ak_live_YOUR_TOKEN

or

X-API-Key: ak_live_YOUR_TOKEN

Keep your token secret. Use it from your server only — never in browser or mobile app code. If a token is exposed, revoke it and create a new one.

How results are personalized

Your saved job feed preferences from My Link (keywords, companies, experience levels, countries, work modes, salary, and more) are applied automatically as defaults on every request. Any query parameter you pass explicitly overrides the matching saved preference.

Endpoints

GET /jobs

Returns your personalized job feed.

Query parameters (all optional):

Parameter

Type

Description

limit

integer

Results per page, 1–100 (default 10)

offset

integer

Pagination offset (default 0)

q

string

Free-text search

location

string

Country code, e.g. US

state

string

State filter

city

string

City filter

niche_keywords

string (CSV)

Keywords to include

negative_keywords

string (CSV)

Keywords to exclude

job_type

string

full-time, part-time, contract, internship

work_mode

string

remote, hybrid, onsite

exp_level

string

Experience level

education

string

Education level

industry

string

Industry filter

company

string

Company name filter

salary_min

number

Minimum salary

salary_max

number

Maximum salary

posted_after

string

ISO date — only jobs posted after

sort_by

string

most_relevant (default), newest, high_cpa

Example request:

curl "https://api.artha.link/api/v1/jobs?limit=10&work_mode=remote" \
-H "X-API-Key: ak_live_YOUR_TOKEN"

Example response:

{
"success": true,
"message": "Jobs fetched successfully",
"data": {
"items": [
{
"id": "1831_20882683",
"slug": "sales-manager-geo-allianz-chhindwara-fe01e75d",
"title": "Sales Manager Geo",
"company": "Allianz",
"logo": "https://static.example.com/logo.png",
"description": "<p><b>Job Description:</b> ...</p>",
"location": null,
"city": "Chhindwara",
"state": "Madhya Pradesh",
"country": "IN",
"job_type": "full-time",
"salary_min": null,
"salary_max": null,
"salary_curr": null,
"exp_min": 2,
"exp_max": 5,
"exp_unit": "years",
"skills": ["Sales Execution", "Customer Relations"],
"posted_date": "2026-07-21T17:31:44",
"url": "https://artha.link/@your-username/jobs/sales-manager-geo-allianz-chhindwara-fe01e75d?clientId=...&domainName=your-username&source=public-api&utm_source=artha-link"
}
],
"total": 113097,
"limit": 10,
"offset": 0,
"has_more": true
}
}

Important: always link users to the url field. It points to the job page on your artha.link profile with tracking parameters already included, so applications from your integration stay attributed to you and count toward your earnings.

GET /jobs/filters

Returns available filter options for building job-search UIs: categories, job types, experience levels, education levels, work modes, countries, states, cities, companies, industries, salary ranges, and the total job count. Each option includes its value and matching job count.

curl "https://api.artha.link/api/v1/jobs/filters" \
-H "X-API-Key: ak_live_YOUR_TOKEN"

Errors

Error responses have the shape { "success": false, "error": { "code": "...", "message": "..." } }.

Status

Code

Meaning

400

VALIDATION_ERROR

Invalid query parameters

401

MISSING_API_KEY

No token provided

401

INVALID_API_KEY

Token does not exist or is malformed

401

API_KEY_REVOKED

Token has been revoked

401

API_KEY_EXPIRED

Token passed its expiration date

403

CREATOR_BLOCKED

Account is not active

429

RATE_LIMIT_EXCEEDED

Too many requests

502

EXTERNAL_API_ERROR

Job data temporarily unavailable — retry shortly

Requests are rate limited per token. Every response includes X-RateLimit-Limit, X-RateLimit-Remaining, and X-RateLimit-Reset headers; a 429 response also includes Retry-After (seconds) — wait that long before retrying.

Tips

  • Track your token's activity (endpoint, status, IP, last used) from the API page via View usage.

  • Building with an AI assistant? Use the Copy LLM prompt button on the API page — it copies a ready-made implementation brief you can paste into ChatGPT, Claude, or Cursor

Did this answer your question?