List leads
const url = 'https://api2.recruso.co.uk/v1/leads';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/leads \ --header 'Authorization: <Authorization>'Returns a paged list of the leads in your own agency. Live clients are excluded; use ListClients for those.
The list is narrowed to leads under the branches the Recruso user behind your API app can access; a lead under any other branch is never returned.
clientName matches case-insensitively on any part of the name and branchId is an exact match. Unlike ListClients there is no status filter, because a lead has no client status to filter on.
Results are paged: 25 per page by default, capped at 100. Sort with sortColumn (clientname, createdon, modifiedon, town or postcode) and sortOrder (asc or desc).
Access. Requires a client-credentials access token. Tokens issued through the interactive user login are rejected.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Query Parameters
Section titled “Query Parameters”Page number (1-based). Defaults to 1.
Page number (1-based). Defaults to 1.
Number of records per page. Defaults to 25, capped at 100.
Number of records per page. Defaults to 25, capped at 100.
Optional case-insensitive partial match on ClientName.
Optional case-insensitive partial match on ClientName.
Optional exact match on BranchId.
Optional exact match on BranchId.
Column to sort by. Accepted values: clientname, createdon, modifiedon, town, postcode. Defaults to clientname.
Column to sort by. Accepted values: clientname, createdon, modifiedon, town, postcode. Defaults to clientname.
Sort direction: “asc” (default) or “desc”.
Sort direction: “asc” (default) or “desc”.
Responses
Section titled “Responses”OK
object
One lead in a list of leads — a summary rather than the full record.
object
The client’s unique identifier, assigned by Recruso.
The client’s registered or trading name. Required, up to 100 characters.
The branch the client is managed under. Must be a branch the Recruso user behind your API app can access.
The recruitment source the client came from, as an id from your agency’s Recruitment sources lookup.
The client’s company registration number. Required, up to 20 characters.
Whether the client is VAT registered. When true, vatRegNumber is required.
The client’s VAT registration number. Required when vatYn is true.
The client’s website.
First line of the client’s trading address. Required, up to 100 characters.
Second line of the client’s trading address.
Town or city of the client’s trading address. Required, up to 50 characters.
County of the client’s trading address. Required, up to 50 characters.
Country of the client’s trading address. Required, up to 50 characters.
Postcode of the client’s trading address. Required, up to 15 characters.
The client’s main telephone number.
The client’s main email address.
When the client was created, in UK local time (GMT/BST) — not UTC.
When the client was last updated, in UK local time (GMT/BST) — not UTC. Null until the client is first updated.
Example
{ "data": [ { "clientId": 137, "clientName": "Northgate Foods Ltd", "branchId": 4, "mediaSourceId": 6, "companyRegNumber": "08841972", "vatYn": true, "vatRegNumber": "GB 412 8853 07", "website": "https://www.example-northgate.co.uk", "address1": "Northgate House", "address2": "22 Ashburton Road West", "town": "Trafford Park", "county": "Greater Manchester", "country": "United Kingdom", "postCode": "M17 1RU", "telephone1": "0161 872 4400", "email": "operations@example-northgate.co.uk", "createdOn": "2026-03-04T09:12:44", "modifiedOn": "2026-06-11T14:02:09" } ]}Bad Request
object
Examplegenerated
{ "type": "example", "title": "example", "status": 1, "detail": "example", "instance": "example"}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"}
