List branches
const url = 'https://api2.recruso.co.uk/v1/branches';const options = {method: 'GET', headers: {Authorization: '<Authorization>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url https://api2.recruso.co.uk/v1/branches \ --header 'Authorization: <Authorization>'Returns your agency’s active branches, ordered by name. Deleted branches are excluded.
The list is further narrowed to the branches the Recruso user behind your API app can access, so it is not necessarily every branch in the agency. If a branch you expect is missing, check that user’s branch access in the Recruso UI.
The response is not paged.
Access. Requires a client-credentials access token. Tokens issued through the interactive user login are rejected.
Authorizations
Section titled “Authorizations”Responses
Section titled “Responses”OK
The agency’s active branches that the user behind your API app can access.
object
The branches, ordered by name. Empty if none are accessible.
One branch in a ListBranches result. Carries the same fields as GetBranchById.
object
The branch’s identifier. Use this on the cost-centre endpoints as branchId.
The branch name. Unique across the agency’s branches, and the field this list is ordered by.
First line of the branch address.
Second line of the branch address.
Town or city of the branch address.
County of the branch address.
Postcode of the branch address.
Country of the branch address.
Primary contact telephone number for the branch.
Secondary contact telephone number for the branch.
Mobile contact number for the branch.
Fax number for the branch.
Contact email address for the branch.
Website address for the branch.
The branch’s Sage department. Cost centres carry a sageDepartmentId of their own; which one a posting uses is decided by the Sage integration, not by this endpoint.
The agency name used as the sender identity on emails sent from this branch.
Whether the branch is offered as a choice when a worker self-registers.
The Recruso user who last changed the branch, as a tblUsers user id rendered as a string. Null if the branch has not been changed since it was created.
The date the branch was last changed, in UK local time (GMT/BST) — not UTC. The underlying column stores a date, so the time is always midnight. Null if the branch has not been changed since it was created.
Example
{ "branches": [ { "branchId": 4, "branchLocation": "Manchester Central", "address1": "Unit 7, Ashton House", "address2": "14 Deansgate", "town": "Manchester", "county": "Greater Manchester", "postcode": "M3 2BW", "country": "United Kingdom", "telephone1": "0161 496 0114", "telephone2": "0161 496 0115", "mobile": "07700 900432", "fax": "0161 496 0116", "email": "manchester@example-recruitment.co.uk", "website": "https://www.example-recruitment.co.uk", "sageDepartmentId": 21, "agencyNameForEmail": "Example Recruitment (Manchester)", "displayInSelfRegistration": true, "modifiedBy": "87", "modifiedOn": "2026-08-14T00:00:00" } ]}Unauthorized
object
Examplegenerated
{ "type": "example", "title": "example", "status": 1, "detail": "example", "instance": "example"}Forbidden
object
Examplegenerated
{ "type": "example", "title": "example", "status": 1, "detail": "example", "instance": "example"}
