What you get for every role

  • Verification: status, method and when we last checked the employer's board
  • Eligible countries and remote scope (worldwide, specific countries, unspecified)
  • Pay range, currency and period, normalized
  • Job type and experience level
  • Organization: homepage, careers page, logo
  • Posted, last updated and closing dates
  • Listing URL and apply URL
  • Commercial tier: skills, must-haves with source quotes, full text of employer-posted roles

Most listings are gathered from employers' own boards and other sources, so the API carries a short excerpt of the description plus the link, never the full text, except for roles employers post directly on Remote Impact. Our added data (verification, eligibility, pay, must-haves, organization records) is what you're licensing.

REST API

Base URL https://remoteimpact.org/api/v1/. JSON, CORS enabled, no key needed to start. Full parameter list in the OpenAPI spec.

Search open roles

GET https://remoteimpact.org/api/v1/jobs/?q=monitoring+evaluation&country=Kenya&level=mid&posted_since=14d

Filters: q, area, country, remote_scope=worldwide, job_type, level, min_salary, posted_since (ISO date or 7d), organization, source=employer_posted, page, limit.

One role, an organization, the areas

GET https://remoteimpact.org/api/v1/jobs/<slug>/
GET https://remoteimpact.org/api/v1/organizations/<slug>/
GET https://remoteimpact.org/api/v1/areas/

A closed role answers 404 with "status": "closed", so you can retire it on your side.

Example response
{
  "total": 212, "page": 1, "limit": 20,
  "jobs": [{
    "id": 31878, "slug": "managing-director-entertainment-resetting-the-table",
    "title": "Managing Director, Entertainment",
    "organization": {"name": "Resetting the Table", "slug": "resetting-the-table", "url": "...", "homepage_url": "https://www.resettingthetable.org/", "careers_url": null, "logo_url": null},
    "area": {"name": "Impact Careers", "slug": "impact-careers"},
    "location": "Remote within the contiguous U.S.", "remote_scope": "countries", "eligible_countries": ["United States of America"],
    "job_type": "full-time", "experience_level": "executive",
    "salary": {"min": 125000.0, "max": 155000.0, "currency": "USD", "period": "year"},
    "posted_at": "2026-10-12T15:41:19+00:00", "content_updated_at": null, "expires_at": "2026-11-11T15:41:19+00:00",
    "verification": {"status": "listed", "method": "employer_posted", "checked_at": null},
    "source": "employer_posted", "featured": true,
    "url": "https://remoteimpact.org/jobs/managing-director-entertainment-resetting-the-table/",
    "apply_url": "https://remoteimpact.org/jobs/managing-director-entertainment-resetting-the-table/go/",
    "description_excerpt": "Resetting the Table is hiring a Managing Director to lead..."
  }],
  "attribution": "Data from Remote Impact (remoteimpact.org). Link to the listing URL when you show a role."
}

MCP server for AI assistants

Claude, ChatGPT, Cursor and other assistants that support the Model Context Protocol can call the same data as tools: search_jobs, get_job, list_areas, get_organization. Streamable HTTP, no sign-up needed to try it; add a key for higher limits.

Endpoint

https://remoteimpact.org/mcp/

Claude Code

claude mcp add --transport http remote-impact https://remoteimpact.org/mcp/
# with a key:
claude mcp add --transport http remote-impact https://remoteimpact.org/mcp/ \
  --header "Authorization: Bearer ri_..."

Other clients

Add a remote MCP server (HTTP transport) with the endpoint above. In Claude Desktop and ChatGPT this is under connectors or custom MCP servers; in Cursor it's an mcp.json entry with "url": "https://remoteimpact.org/mcp/". Then ask: "Find remote climate roles I can apply to from Kenya, mid-level, paying at least $40k."

Read-only, no sessions. Every result carries the listing URL so the assistant can cite it.

Get a free trial key

To evaluate the data or for a small non-commercial project. Limited to 500 requests a day and 100 roles per query. Issued instantly.

Commercial access

For products, job tools, AI agents and data use inside a business. Higher limits, enriched fields, commercial licence. From $149 a month; we'll confirm volume and pricing with you before the key switches on.

Terms, in plain words

  • Attribution: show "via Remote Impact" and link to the listing URL whenever you display a role.
  • No republishing of descriptions: excerpts and our structured fields only. Full text belongs to the employer; the free tier is for non-commercial use.
  • Keep it current: re-fetch at least daily and drop roles that answer 404 or whose verification status is not open. Don't keep showing closed jobs.
  • Limits: stay within your tier; keys that scrape or share access can be revoked. We may change limits with notice.
  • No personal data: the API contains job and organization records only.
  • Questions, bulk needs or research partnerships: [email protected].

Prefer feeds? The JSON feed and RSS feeds stay free for communities and newsletters.