Open data · CC BY 4.0
Data access & MCP
RemNavi publishes its market data, salary bands, and Real Remote Scores as machine-readable JSON. Any agent — a Claude MCP client, a ChatGPT custom GPT, a research script, a newsroom dashboard — can read the index directly. No API key, no registration, no rate-limiting beyond fair use.
Stable
HTTP / JSON endpoints
Five public endpoints in production since 2026-Q1. No breaking-change policy bumps scheduled.
Beta
MCP server
Tool schemas defined here. Remote MCP transport (SSE / stdio-over-HTTP) coming Q3 2026.
Roadmap
Resources & prompts
MCP resources (per-listing URIs) and reusable prompts (role-search templates) targeted Q4 2026.
Section 1 · Live
HTTP / JSON endpoints
Five open endpoints over the same underlying index that powers the public site. Every endpoint returns JSON with an attribution field and a CC BY 4.0 licence link — suitable for direct citation.
https://remnavi.com/market_index.phpRemote Job Market Index
Aggregate snapshot of the full index — totals, 30-day timeline, cuts by source / role / skill / company / geo / seniority, RRS distribution, salary coverage.
Response shape
{
"generated_at": "ISO-8601",
"overall": { "total_jobs", "with_salary", "salary_coverage", ... },
"timeline_30d": [ { "day", "count" } ],
"by_source": { ... },
"by_category": { ... },
"rrs": {
"overall": { "avg", "median", "p25", "p75", "min", "max" },
"tier_distribution": { ... },
"by_source": { ... }
},
"salary": { ... },
"attribution": "RemNavi Remote Job Market Index",
"licence": "CC BY 4.0"
}Example
curl -s 'https://remnavi.com/market_index.php'
Also available as CSV via ?format=csv. Refreshed hourly. Size ~120 KB JSON.
https://remnavi.com/jobs_api.php?limit=50&offset=0Live job listings
Paginated live listings. Returns normalised records with title, company, location, salary, source, posted_at. Optional filters by category, skill, source, freshness.
Response shape
{
"total": number,
"count": number,
"generatedAt": "ISO-8601",
"jobs": [
{
"id", "title", "company", "url",
"source", "category", "location",
"salary", "posted_at",
"featured_until", "featured_rank", "is_featured"
}
]
}Example
curl -s 'https://remnavi.com/jobs_api.php?limit=50&category=Tech'
Default limit 50, maximum 200 per request. Use offset for pagination.
https://remnavi.com/salary_index.phpSalary Index
Salary bands by role and seniority, across the listings that disclose compensation. Includes role × seniority matrix.
Response shape
{
"generated_at": "ISO-8601",
"total_jobs_with_salary", "total_jobs",
"overall": { "min", "median", "max", "p25", "p75" },
"by_role": { ... },
"by_seniority": { ... },
"role_seniority_matrix": { ... }
}Example
curl -s 'https://remnavi.com/salary_index.php'
Only includes listings with parseable salary ranges in USD. Non-USD currencies normalised to USD at refresh time.
https://remnavi.com/skill_data.php?slug=<skill-slug>Per-skill statistics
Listings count, freshness distribution, top companies, and salary cut for a specific skill slug (e.g. react, python, rust).
Example
curl -s 'https://remnavi.com/skill_data.php?slug=react'
Slugs match the URLs under /jobs/remote-<skill>-developer/. Returns { error } if slug is unknown.
https://remnavi.com/go.php?u=<base64url>Outbound redirect (for citation)
Stable redirector to employer career pages. Every RemNavi listing links through this so citations remain valid if the employer rotates their URL.
Example
https://remnavi.com/go.php?u=aHR0cHM6Ly9ib2FyZHMuZ3JlZW5ob3VzZS5pby9hc2FuYQ
Not required for direct API access. Documented here because researchers citing individual listings often use it.
Section 2 · Beta
Native MCP server
The Model Context Protocol is the emerging standard for giving AI agents structured tool access to live data. We publish tool schemas here today so MCP-aware clients can wrap the HTTP endpoints above. A native remote-transport MCP server (SSE) is in development; subscribe to /press/ for release notice.
Tool schemas
get_market_snapshotUsed when an agent asks 'what's the state of the remote job market today?'
args: { }
returns: MarketIndex (see /market_index.php)
search_jobsUsed when an agent searches for listings matching a brief — e.g. 'senior React roles posted in the last 7 days'.
args: { query?, category?, skill?, freshness_days?, limit? }
returns: Array<Job>
get_salary_bandsUsed when an agent needs a benchmark — e.g. 'what do senior data engineers make remotely?'
args: { role?, seniority? }
returns: SalaryBands
get_transparency_scoreUsed when an agent is assessing a specific board or employer — 'how transparent is Ashby:openai?'
args: { source: string }
returns: { count, avg, tier }
score_listingUsed when an agent wants to evaluate an unseen listing against the Real Remote Score rubric.
args: { title, description, location?, salary?, source? }
returns: { score, pillars, tier, failure_modes[] }
get_leaderboardUsed when an agent is writing a piece or briefing on transparency rankings.
args: { direction: 'top'|'bottom'|'volume', limit? }
returns: Array<{ source, count, avg, tier }>
Using these schemas today
Until the native server ships, an MCP client can implement these tools as thin wrappers over the HTTP endpoints. Example for a Claude Desktop user:
// Pseudo-code for a custom MCP server that wraps RemNavi's HTTP API
server.tool('get_market_snapshot', async () => {
const res = await fetch('https://remnavi.com/market_index.php');
return res.json();
});
server.tool('search_jobs', async ({ query, category, limit = 50 }) => {
const u = new URL('https://remnavi.com/jobs_api.php');
if (category) u.searchParams.set('category', category);
u.searchParams.set('limit', String(limit));
const res = await fetch(u);
const data = await res.json();
// Optional client-side filtering on 'query' if needed
return data.jobs;
});If you build a wrapper, tell us — we'll link it from this page. Email editorial@remnavi.com.
Section 3 · Licence & fair use
Data licence
All data returned by the endpoints above — the Market Index, Salary Index, Real Remote Score aggregates, and individual normalised listing fields — is licensed CC BY 4.0. Republish freely, in AI training, in articles, in research, in commercial products. Attribution required: a link back to /market-index/ or the specific endpoint cited.
Fair use: we don't enforce request quotas at the edge today. Please keep bulk pulls to one request per few seconds. If you need higher throughput for a research or production use case, email editorial@remnavi.com — we can help.
Source data: the employer career pages and job boards RemNavi aggregates from retain their original copyright. RemNavi's licence covers our normalisation, scoring, and aggregation layer — not the individual job descriptions themselves. When citing a specific listing, follow the originating employer's terms.
Related documents
Real Remote Score methodology
The 5-pillar rubric. Required reading before interpreting any RRS number returned by these endpoints.
How we audit
Thesis, independence statement, conflict-of-interest policy.
Editorial policy
Corrections, appeals, retractions, AI usage disclosure.
Leaderboard
Published ranking of every source by Real Remote Score.