FlourishAPI

FLOURISH ATLAS API

Work with a clearer
picture of opportunity.

Bring published opportunities and labour-market insights into your own tools. One API, with traceable sources and explicit observation times.

Request API access →Explore the APIDownload OpenAPI

01 / OPPORTUNITIES

Find the next opening

Search fellowships and funding calls by topic, deadline and eligibility text. Retrieve official links and collected application questions.

GET /v1/opportunities

02 / LABOUR MARKET

Understand a place

Explore area-level advert counts, salary measures and trends, with the time each summary was computed.

GET /v1/labour-market/areas/{area_code}

GET STARTED

Your first request

Sign in or create a Flourish account in Flourish Console and request access for your organisation. Organisation membership is managed in Flourish. Once approved, your organisation’s owners and admins can create and manage API keys. Store your key on your server as ATLAS_API_KEY.

import os
import httpx

with httpx.Client(
    base_url="https://atlas-api.flourish.so",
    headers={"Authorization": "Bearer " + os.environ["ATLAS_API_KEY"]},
    timeout=30,
    follow_redirects=False,
) as client:
    response = client.get("/v1/opportunities", params={"q": "Future Leaders"})
    response.raise_for_status()
    print(response.json())

Keep credentials out of browser bundles, URLs and source control. Each key has dataset scopes; request budgets are shared across your organisation.

Read the evidence

Opportunity results include canonical IDs, official sources and observation times. Only open, unexpired records checked within eight hours are returned. Missing eligibility information is not a finding of ineligibility.

Labour-market measures describe Flourish-collected adverts, not official employment totals. Check computed_at; an unknown value is not zero.

Handle the response

Follow next_offset for opportunity pagination. Dates include their UTC offset; a null deadline means unspecified.

401 invalid key · 403 missing scope · 422 invalid parameters · 429 quota reached · 503 temporarily unavailable. Respect Retry-After and keep X-Request-ID for support.