Bearings is free, and so is its data: public data should be free and democratised. The API is read-only, needs no key or sign-up, and works from any website (CORS open). It serves exactly what the site shows, rebuilt every weekday morning: 2,041 live opportunities for businesses and organisations in the North West (Manchester, Liverpool, Cheshire, Lancashire and Cumbria) and the UK-wide and international ones open to them.
Terms: free to use, including commercially. Please credit
Bearings and send people to the provider's own page (each
item's url). Always check eligibility and deadlines with the provider.
Fair use: up to 60 requests a minute from each caller (more gets a
429; wait a minute). Answers are cached for 5 minutes and the data
changes once each weekday morning, so there is no need to poll more often. For
everything at once, use digest.json.
Endpoints
| GET | What it returns |
|---|---|
https://getbearings.co.uk/api/v1/opportunities | Live opportunities, filtered and paged (below) |
https://getbearings.co.uk/api/v1/opportunities/<id> | One opportunity, or 404 once it has closed |
https://getbearings.co.uk/api/v1/meta | The vocabularies: areas, types, sectors and sector groups, who-can-apply types |
Filters for /api/v1/opportunities
All optional; combine as many as you like. Lists are comma-separated.
| Parameter | Meaning | Example |
|---|---|---|
area | What a business based in this part of the North West can apply for: offers limited to another area are left out; contracts and national offers stay in. Areas: gm Greater Manchester, lcr Liverpool City Region, cheshire Cheshire & Warrington, lancashire Lancashire, cumbria Cumbria | area=gm |
kind | Type of opportunity: grant, loan, investment, programme, advice, facilities, credits, training, tender, challenge, award, network | kind=grant,loan |
sector | Sector ids or sector-group ids from /api/v1/meta. Add strict=1 for only what is aimed at that sector | sector=tech,screen |
who | Who is applying: startup, sme, scaleup, large, social, individual, research, public | who=social |
q | Words that must all appear (title, summary, provider, conditions) | q=net+zero |
scope | local (North West), national, global | scope=local |
closes_before, closes_after | Deadline window (YYYY-MM-DD) | closes_before=2026-12-24 |
new | 1: first seen in the last 7 days | new=1 |
sort | closes (soonest first, the default), newest, value | sort=newest |
limit, offset | Paging: up to 200 a page (default 50) | limit=100&offset=100 |
Examples
Grants and loans a Greater Manchester charity can apply for, closing before Christmas:
https://getbearings.co.uk/api/v1/opportunities?area=gm&who=social&kind=grant,loan&closes_before=2026-12-24
Audio-visual contracts anywhere in England:
https://getbearings.co.uk/api/v1/opportunities?kind=tender&q=audio+visual
In JavaScript:
const r = await fetch("https://getbearings.co.uk/api/v1/opportunities?area=lcr§or=music&new=1");
const { meta, data } = await r.json();
data.forEach(o => console.log(o.title, o.closes, o.url));
A response (one item):
{
"meta": {
"total": 42,
"limit": 1,
"offset": 0,
"docs": "https://getbearings.co.uk/api"
},
"data": [
{
"id": "opp-f127d2aea28c",
"title": "Lancashire Red Rose Responding Fund",
"provider": "Community Foundation for Lancashire: open grants",
"url": "https://lancsfoundation.org.uk/grants/lancashire-red-rose-responding-fund",
"bearings_url": "https://getbearings.co.uk/o/opp-f127d2aea28c",
"kind": "grant",
"value": "award £5,000",
"max_award": 5000.0,
"closes": "2026-10-16",
"rolling": false,
"who": [
"social"
],
"scope": "local",
"area": [
"lancashire"
],
"sectors": [
"social",
"community",
"socent"
]
}
]
}
Fields
title, summary, provider | What it is and who runs it |
url | The provider's own page: send people here |
bearings_url | Its page on Bearings (who it's for, conditions) |
kind, type | Type of opportunity, as on the site's filters |
value, max_award | The award wording, and the largest single award in pounds where stated. Fund totals are never given as awards |
closes, rolling | Deadline (YYYY-MM-DD), or open all year |
who, where, conditions | Who can apply, any location rule, and key eligibility conditions (read from the provider's wording) |
scope, area, place | local / national / global; the North West area(s) it is limited to (none = open across the North West); the borough its title names |
sectors, core_sectors | Sectors it suits; the ones it is specifically for |
first_seen, new, closing_soon | When Bearings first listed it; new this week; closing within 14 days |
Other ways to get the data
The whole feed in one file: digest.json; a spreadsheet:
opportunities.csv; what opens soon:
coming-soon.json; and RSS feeds
for any area, sector and type (/feeds/custom.xml takes the same
filters as /api/v1/opportunities). Built something with it?
Tell us.