API Reference

Getting started

Introduction

Welcome to TalentUp's API! You can use our API to access TalentUp API endpoints, which can get information on salaries, offer and demand of different positions in our database.

We have language bindings in Shell and Python! You can view code examples in the dark area to the right, and you can switch the programming language of the examples with the tabs in the top right.

Authentication

To authorize, use this code:

import requests

url = "https://talentup.io/api/authenticate"

querystring = {
    "api_key": "Your api key"
}
headers = {
    'Cache-Control': 'no-cache',
    'Content-Type': 'application/json'
}

response = requests.request("GET", url, headers=headers, params=querystring)

print(response.text)

Make sure to replace Your api key with your API key. A correct authentication returns a JSON like this:

  {
    "valid": True,
    "code":"Authentication successful",
    "status":200
  }

TalentUp expects for the API key to be included in all API requests to the server in a header that looks like the following:

api_key: Your api key

You must replace Your api key with your personal API key.

Location API

Get All Locations

import requests

url = "https://talentup.io/api/locations"

querystring = {
    "api_key": "Your api key"
}
headers = {
    'Cache-Control': 'no-cache',
    'Content-Type': 'application/json'
}

response = requests.request("GET", url, headers=headers, params=querystring)

print(response.text)

The above command returns JSON structured like this:

{"data": 
        {
    "countries":[
    { "name":"spain","created_at": "2022-07-05T16:14:54.531375"}
    ],
    "cities":[
    { "name":"barcelona", "country":"spain","created_at": "2021-12-02T16:24:00.794872"}
    ]
    },
"status": 200
}

This endpoint retrieves all locations available.

HTTP Request

GEThttp://talentup.io/api/locations

Get All Cities

import requests

url = "https://talentup.io/api/cities"

querystring = {
    "api_key": "Your api key"
}
headers = {
    'Cache-Control': 'no-cache',
    'Content-Type': 'application/json'
}

response = requests.request("GET", url, headers=headers, params=querystring)

print(response.text)

The above command returns JSON structured like this:

{"data": 
    {"cities": 
        [
            { "name":"barcelona","created_at": "2021-12-02T16:24:00.794872"}
        ]
    },
"status": 200
}

This endpoint retrieves all cities available.

HTTP Request

GEThttp://talentup.io/api/cities

Position API

List available positions

import requests

url = "https://talentup.io/api/positions"

querystring = {
    "api_key": "Your api key"
}
headers = {
    'Cache-Control': 'no-cache',
    'Content-Type': 'application/json'
}

response = requests.request("GET", url, headers=headers, params=querystring)

print(response.text)

The above command returns JSON structured like this:

{
  "data":{
      "positions":[
          [{"name": "Hardware Engineer", "created_at": "2022-12-05T02:30:00.842831"}, {"name": "Analyst", "created_at": "2022-06-09T11:21:19.101776"}]
      ]
  },
  "status":200
}

This request returns all available positions in the salary platform.

HTTP Request

GEThttp://talentup.io/api/positions/?api_key=<YOUR_API_KEY>

Position name

import requests

url = "https://talentup.io/api/position"

querystring = {
    "api_key": "Your api key",
    "esco_code":"1212.2",
    "position_esco":"human resources manager",

}
headers = {
    'Cache-Control': 'no-cache',
    'Content-Type': 'application/json'
}

response = requests.request("GET", url, headers=headers, params=querystring)

print(response.text)

The above command returns JSON structured like this:

{
  "data":{
      "position":
          "Human Resources Specialist"
  },
  "status":200
}

This request returns a position name given a esco position and or code.

HTTP Request

GEThttp://talentup.io/api/position/?api_key=<YOUR_API_KEY>

Talent Market API

List available Company Sizes

import requests

url = "https://talentup.io/api/companysizes"

querystring = {
    "api_key": "Your api key"
}
headers = {
    'Cache-Control': 'no-cache',
    'Content-Type': 'application/json'
}

response = requests.request("GET", url, headers=headers, params=querystring)

print(response.text)

The above command returns JSON structured like this:

{
  "data":{
    "CompanySizes": 
    [
        "201-500", "1-10", "2001-5000", "51-100", "101-200", "21-50", "501-1000", "1001-2000", "10001", "5001-10000"
    ]
    },
  "status":200
}

This request returns all available company sizes in the salary platform.

HTTP Request

GEThttp://talentup.io/api/companysizes/?api_key=<YOUR_API_KEY>

List available Company Fundings

import requests

url = "https://talentup.io/api/companyfunding"

querystring = {
    "api_key": "Your api key"
}
headers = {
    'Cache-Control': 'no-cache',
    'Content-Type': 'application/json'
}

response = requests.request("GET", url, headers=headers, params=querystring)

print(response.text)

The above command returns JSON structured like this:

{
  "data":{
    "funding": [
        "2m_-_4.99m", "+100m", "1m_-_1.99m", "10m_-_19.99m", "5m_-_9.99m", "20m_-_49.99m", "500k_-_999k", "50m_-_99.99m", "200k_-_499k", "100k_-_199k"
        ]
    },
  "status":200
}

This request returns all available company funding values in the salary platform.

HTTP Request

GEThttp://talentup.io/api/companyfunding/?api_key=<YOUR_API_KEY>

List available Company Sectors

import requests

url = "https://talentup.io/api/companysectors"

querystring = {
    "api_key": "Your api key"
}
headers = {
    'Cache-Control': 'no-cache',
    'Content-Type': 'application/json'
}

response = requests.request("GET", url, headers=headers, params=querystring)

print(response.text)

The above command returns JSON structured like this:

{
  "data":{
    "CompanySectors": [
        "information_technology", "business_services", "retail", "manufacturing", "media", "finance", "consumer_services", "telecommunications", "travel_&_tourism", "geospatial", "gaming", "fintech", "health_care", "education", "real_estate"
    ]
        },
  "status":200
}

This request returns all available company sectors in the salary platform.

HTTP Request

GEThttp://talentup.io/api/companysectors/?api_key=<YOUR_API_KEY>

List available NACE sectors

import requests

url = "https://talentup.io/api/nacesectors"

querystring = {
    "api_key": "Your api key"
}
headers = {
    'Cache-Control': 'no-cache',
    'Content-Type': 'application/json'
}

response = requests.request("GET", url, headers=headers, params=querystring)

print(response.text)

The above command returns JSON structured like this:

{
  "data":{
    "NaceSectors": 
    [
        "Agriculture, forestry and fishing",
        "Mining and quarrying"
    ]
    },
  "status":200
}

This request returns all available company sizes in the salary platform.

HTTP Request

GEThttp://talentup.io/api/nacesectors/?api_key=<YOUR_API_KEY>

Get Offer and Demand

import requests

url = "https://talentup.io/api/offer-demand"

querystring = {
    "api_key": "Your api key",
    "city": "Barcelona",
    "position": "FrontendDeveloper"
}
headers = {
    'Cache-Control': 'no-cache',
    'Content-Type': 'application/json'
}

response = requests.request("GET", url, headers=headers, params=querystring)

print(response.text)

The above command returns JSON structured like this:

{
    "status": 200, 
    "data": {
            "job_offers": 784,
            "professionals": 10
            }
}

This endpoint retrieves offer and demand for a position in a certain city.

HTTP Request

GEThttps://talentup.io/api/offer-demand/?city=<City>&position=<Position>

URL Parameters

Parameter Description
city Name of the city to extract the demand and offer from
position Name of the position to extract the demand and offer from

Get Job Offers

import requests

url = "https://talentup.io/api/jobs"

querystring = {
    "api_key": "Your api key",
    "city": "London",
    "country":"UnitedKingdom",
    "position": "FrontendDeveloper"
    "created_at":"2022-05-26T00:00:00",
    "page":"1"

}
headers = {
    'Cache-Control': 'no-cache',
    'Content-Type': 'application/json'
}

response = requests.request("GET", url, headers=headers, params=querystring)

print(response.text)

The above command returns JSON structured like this:

{
    "status": 200,
    "data": {
        "jobs": [{
            "position": {
                "subdepartment": null,
                "department": null,
                "name": "Associate Practitioner",
                "role": null,
                "family": null
            },
            "tags": {
                "tech": [],
                "secondary_tech": null
            },
            "salary": {
                "period": "year",
                "value": 23715,
                "currency": "GBP",
                "EUR": {
                    "value": 27833
                },
                "bonus": {
                    "percentage": null,
                    "value": null,
                    "EUR": {
                        "value": null
                    },
                    "sign-on": {
                        "value": null,
                        "EUR": {
                            "value": null
                        }
                    },
                    "referral": {
                        "value": null,
                        "EUR": {
                            "value": null
                        }
                    }
                },
                "min": 22549,
                "max": 24882
            },
            "source": "monster",
            "skills": null,
            "location": {
                "country": "United Kingdom",
                "continent": "Europe",
                "region": "East of England",
                "city": "Harlow",
                "coordinates": {
                    "lat": "51.77655",
                    "lon": "0.11158"
                },
                "raw": "Harlow"
            },
            "created_at": "2021-12-12T22:39:04.884685",
            "company": "National Health Service",
            "company_details": {
                "size": null,
                "raw": "National Health Service",
                "sector": null,
                "is_recruitment_agency": null
            }
        }]
    }
}

This endpoint retrieves job offers for a position given a timestamp and a location.

HTTP Request

GEThttps://talentup.io/api/jobs/?city=<City>&position=<Position>&country=<Country>&created_at=<Timestamp>&page=<PageNumber>&api_key=<YourApiKey>

URL Parameters

Parameter Description
city Name of the city to extract the demand and offer from (optional)
position Name of the position to extract the demand and offer from (optional)
country Name of the country to extract the demand and offer from (locked to United Kingdom)
created_at All the job offers returned will have been created after this timestamp
page Pagination of the results (defaults to 0)

Get Professionals

import requests

url = "https://talentup.io/api/professionals"

querystring = {
    "api_key": "Your api key",
    "city": "London",
    "country":"UnitedKingdom",
    "position": "FrontendDeveloper"
    "updated_at":"2022-05-26T00:00:00",
    "page":"1"

}
headers = {
    'Cache-Control': 'no-cache',
    'Content-Type': 'application/json'
}

response = requests.request("GET", url, headers=headers, params=querystring)

print(response.text)

The above command returns JSON structured like this:

{
    "status": 200,
    "data": {
        "professionals": [{
            "position": {
                "company": {
                    "is_recruitment_agency": null,
                    "name": "Genesys",
                    "size": "5001-10000",
                    "sector": "Information Technology",
                    "raw": "Genesys",
                    "funding": {
                        "EUR": {
                            "value": 777460554
                        }
                    },
                    "id": null
                },
                "role": "First-Line Supervisors of Non-Retail Sales Workers",
                "raw": "QA Director",
                "family": "Sales and Related",
                "name": "Director"
            },
            "location": {
                "continent": "Europe",
                "raw": "frimley, surrey, united kingdom",
                "coordinates": {
                    "lon": "-0.74544",
                    "lat": "51.31667"
                },
                "country": "United Kingdom",
                "city": "Frimley"
            }
        }]
    }
}

This endpoint retrieves job offers for a position given a timestamp and a location.

HTTP Request

GEThttps://talentup.io/api/professionals/?city=<City>&position=<Position>&country=<Country>&updated_at=<Timestamp>&page=<PageNumber>&api_key=<YourApiKey>

URL Parameters

Parameter Description
city Name of the city to extract the demand and offer from (optional)
position Name of the position to extract the demand and offer from (optional)
country Name of the country to extract the demand and offer from (locked to United Kingdom)
updated_at All the job offers returned will have been updated after this timestamp
page Pagination of the results (defaults to 0)

Salaries API

Salary Overview

import requests

url = "https://talentup.io/api/salaryOverview"

querystring = {
    "api_key": "Your api key",
    "city":"Barcelona",
    "country":"Spain",
    "position":"FrontendDeveloper"
}
headers = {
    'Cache-Control': 'no-cache',
    'Content-Type': 'application/json'
}

response = requests.request("GET", url, headers=headers, params=querystring)

print(response.text)

The above command returns JSON structured like this:

{
    "status": 200,
    "data": {
        "observations": 630,
        "location": {
            "city": "Barcelona",
            "country": "Spain"
            }, 
        "position": "Frontend Developer", 
        "salary": 50000,
        "currency":"EUR"
    }
}

This request returns all available positions in the salary platform.

HTTP Request

GEThttp://talentup.io/api/salaryOverview/?api_key=<YOUR_API_KEY>&city=<CITY>&country=<COUNTRY>&position=<POSITION>

URL Parameters

Parameter Description
city Name of the city to extract the salary information from
country Name of the country to extract the salary information from
position Name of the position to extract the salary information from

Get Salary

import requests

url = "https://talentup.io/api/salary"

querystring = {
    "api_key": "Your api key",
    "city":"London",
    "country":"United Kingdom",
    "position":"Frontend Developer",
    "sector":"Information Technology",
    "nace_sector":"Information and communication",
    "size":"51-100",
    "funding":"2m-4.99m",
    "funding_min":"2000000",
    "date":"2024",
    "currency":"EUR",
    "type":"startup"
}
headers = {
    'Cache-Control': 'no-cache',
    'Content-Type': 'application/json'
}

response = requests.request("GET", url, headers=headers, params=querystring)

print(response.text)

The above command returns JSON structured like this:

{
    "data": {
        "position": "frontend developer",
        "salary": [{
            "salary": [{
                "skip": false,
                "exp": 1.0,
                "seniority": "junior",
                "quantile10": 27900,
                "seniorityRatio": 0.658,
                "experienceRange": "1",
                "experienceRatio": 0.94,
                "quantile75": 35500,
                "quantile25": 29200,
                "quantile99": 42000,
                "minMaxRatio": 1.339,
                "quantile90": 39100,
                "quantile50": 31500
            }, {
                "skip": false,
                "exp": 2.0,
                "seniority": "junior",
                "quantile10": 29500,
                "seniorityRatio": 0.0,
                "experienceRange": "2",
                "experienceRatio": 0.0,
                "quantile75": 36500,
                "quantile25": 30900,
                "quantile99": 42400,
                "minMaxRatio": 1.307,
                "quantile90": 40400,
                "quantile50": 33500
            }],
            "seniorityRatio": 0.658,
            "seniority": "junior",
            "bonus": {
                "max": 5700,
                "avg": 3800,
                "min": 1900
            },
            "stock": {
                "max": 33200,
                "avg": 22200,
                "min": 14500
            }
        }, {
            "salary": [{
                "skip": false,
                "exp": 1.0,
                "seniority": "mid",
                "quantile10": 41500,
                "seniorityRatio": 0.823,
                "experienceRange": "1",
                "experienceRatio": 0.947,
                "quantile75": 55500,
                "quantile25": 44800,
                "quantile99": 62200,
                "minMaxRatio": 1.33,
                "quantile90": 59600,
                "quantile50": 47900
            }, {
                "skip": false,
                "exp": 2.0,
                "seniority": "mid",
                "quantile10": 42900,
                "seniorityRatio": 0.0,
                "experienceRange": "2",
                "experienceRatio": 0.958,
                "quantile75": 57300,
                "quantile25": 45600,
                "quantile99": 63500,
                "minMaxRatio": 1.353,
                "quantile90": 61700,
                "quantile50": 50600
            }, {
                "skip": false,
                "exp": 3.0,
                "seniority": "mid",
                "quantile10": 44300,
                "seniorityRatio": 0.0,
                "experienceRange": "3",
                "experienceRatio": 0.967,
                "quantile75": 58900,
                "quantile25": 46500,
                "quantile99": 64900,
                "minMaxRatio": 1.366,
                "quantile90": 63500,
                "quantile50": 52800
            }, {
                "skip": false,
                "exp": 4.0,
                "seniority": "mid",
                "quantile10": 45300,
                "seniorityRatio": 0.0,
                "experienceRange": "4",
                "experienceRatio": 0.986,
                "quantile75": 60300,
                "quantile25": 47700,
                "quantile99": 66500,
                "minMaxRatio": 1.363,
                "quantile90": 65000,
                "quantile50": 54600
            }, {
                "skip": false,
                "exp": 5.0,
                "seniority": "mid",
                "quantile10": 46200,
                "seniorityRatio": 0.0,
                "experienceRange": "5",
                "experienceRatio": 0.988,
                "quantile75": 61700,
                "quantile25": 48700,
                "quantile99": 68300,
                "minMaxRatio": 1.361,
                "quantile90": 66300,
                "quantile50": 55400
            }, {
                "skip": false,
                "exp": 6.0,
                "seniority": "mid",
                "quantile10": 46800,
                "seniorityRatio": 0.0,
                "experienceRange": "6",
                "experienceRatio": 0.991,
                "quantile75": 62800,
                "quantile25": 49600,
                "quantile99": 69600,
                "minMaxRatio": 1.351,
                "quantile90": 67000,
                "quantile50": 56100
            }, {
                "skip": false,
                "exp": 7.0,
                "seniority": "mid",
                "quantile10": 47500,
                "seniorityRatio": 0.0,
                "experienceRange": "7 - 9",
                "experienceRatio": 0.995,
                "quantile75": 63800,
                "quantile25": 50300,
                "quantile99": 70900,
                "minMaxRatio": 1.344,
                "quantile90": 67600,
                "quantile50": 56600
            }, {
                "skip": true,
                "exp": 8.0,
                "seniority": "mid",
                "quantile10": 47800,
                "seniorityRatio": 0.0,
                "experienceRange": "8",
                "experienceRatio": 0.995,
                "quantile75": 64300,
                "quantile25": 50900,
                "quantile99": 71800,
                "minMaxRatio": 1.34,
                "quantile90": 68200,
                "quantile50": 56900
            }, {
                "skip": true,
                "exp": 9.0,
                "seniority": "mid",
                "quantile10": 48100,
                "seniorityRatio": 0.0,
                "experienceRange": "9",
                "experienceRatio": 0.997,
                "quantile75": 64800,
                "quantile25": 51200,
                "quantile99": 72800,
                "minMaxRatio": 1.34,
                "quantile90": 68600,
                "quantile50": 57200
            }, {
                "skip": false,
                "exp": 10.0,
                "seniority": "mid",
                "quantile10": 48400,
                "seniorityRatio": 0.0,
                "experienceRange": "10",
                "experienceRatio": 0.0,
                "quantile75": 65500,
                "quantile25": 51500,
                "quantile99": 74700,
                "minMaxRatio": 1.342,
                "quantile90": 69100,
                "quantile50": 57400
            }],
            "seniorityRatio": 0.823,
            "seniority": "mid",
            "bonus": {
                "max": 9800,
                "avg": 6500,
                "min": 3200
            },
            "stock": {
                "max": 56800,
                "avg": 38000,
                "min": 24900
            }
        }, {
            "salary": [{
                "skip": false,
                "exp": 1.0,
                "seniority": "senior",
                "quantile10": 51800,
                "seniorityRatio": 0.657,
                "experienceRange": "1",
                "experienceRatio": 0.948,
                "quantile75": 66100,
                "quantile25": 54900,
                "quantile99": 74900,
                "minMaxRatio": 1.26,
                "quantile90": 69200,
                "quantile50": 58200
            }, {
                "skip": false,
                "exp": 2.0,
                "seniority": "senior",
                "quantile10": 54900,
                "seniorityRatio": 0.0,
                "experienceRange": "2",
                "experienceRatio": 0.955,
                "quantile75": 66900,
                "quantile25": 58200,
                "quantile99": 76000,
                "minMaxRatio": 1.21,
                "quantile90": 70400,
                "quantile50": 61400
            }, {
                "skip": false,
                "exp": 3.0,
                "seniority": "senior",
                "quantile10": 57400,
                "seniorityRatio": 0.0,
                "experienceRange": "3",
                "experienceRatio": 0.964,
                "quantile75": 69000,
                "quantile25": 60800,
                "quantile99": 77200,
                "minMaxRatio": 1.196,
                "quantile90": 72700,
                "quantile50": 64300
            }, {
                "skip": false,
                "exp": 4.0,
                "seniority": "senior",
                "quantile10": 59400,
                "seniorityRatio": 0.0,
                "experienceRange": "4",
                "experienceRatio": 0.972,
                "quantile75": 71000,
                "quantile25": 62800,
                "quantile99": 78500,
                "minMaxRatio": 1.191,
                "quantile90": 74800,
                "quantile50": 66700
            }, {
                "skip": false,
                "exp": 5.0,
                "seniority": "senior",
                "quantile10": 60900,
                "seniorityRatio": 0.0,
                "experienceRange": "5",
                "experienceRatio": 0.0,
                "quantile75": 72800,
                "quantile25": 64100,
                "quantile99": 79800,
                "minMaxRatio": 1.197,
                "quantile90": 76700,
                "quantile50": 68600
            }],
            "seniorityRatio": 0.657,
            "seniority": "senior",
            "bonus": {
                "max": 10900,
                "avg": 7200,
                "min": 3500
            },
            "stock": {
                "max": 63000,
                "avg": 42200,
                "min": 27600
            }
        }, {
            "salary": [{
                "skip": false,
                "exp": 1.0,
                "seniority": "lead",
                "quantile10": 80800,
                "seniorityRatio": 0.0,
                "experienceRange": "1",
                "experienceRatio": 0.937,
                "quantile75": 97900,
                "quantile25": 83500,
                "quantile99": 105300,
                "minMaxRatio": 1.212,
                "quantile90": 101200,
                "quantile50": 88600
            }, {
                "skip": false,
                "exp": 2.0,
                "seniority": "lead",
                "quantile10": 86800,
                "seniorityRatio": 0.0,
                "experienceRange": "2",
                "experienceRatio": 0.945,
                "quantile75": 102300,
                "quantile25": 89700,
                "quantile99": 110000,
                "minMaxRatio": 1.186,
                "quantile90": 106400,
                "quantile50": 94600
            }, {
                "skip": false,
                "exp": 3.0,
                "seniority": "lead",
                "quantile10": 92100,
                "seniorityRatio": 0.0,
                "experienceRange": "3",
                "experienceRatio": 0.952,
                "quantile75": 106700,
                "quantile25": 95100,
                "quantile99": 114800,
                "minMaxRatio": 1.169,
                "quantile90": 111200,
                "quantile50": 100100
            }, {
                "skip": false,
                "exp": 4.0,
                "seniority": "lead",
                "quantile10": 96800,
                "seniorityRatio": 0.0,
                "experienceRange": "4",
                "experienceRatio": 0.96,
                "quantile75": 110800,
                "quantile25": 99800,
                "quantile99": 119800,
                "minMaxRatio": 1.161,
                "quantile90": 115900,
                "quantile50": 105100
            }, {
                "skip": false,
                "exp": 5.0,
                "seniority": "lead",
                "quantile10": 100900,
                "seniorityRatio": 0.0,
                "experienceRange": "5",
                "experienceRatio": 0.0,
                "quantile75": 114800,
                "quantile25": 103600,
                "quantile99": 125000,
                "minMaxRatio": 1.159,
                "quantile90": 120100,
                "quantile50": 109500
            }],
            "seniorityRatio": 0.0,
            "seniority": "lead",
            "bonus": {
                "max": 17000,
                "avg": 11200,
                "min": 5500
            },
            "stock": {
                "max": 98700,
                "avg": 66100,
                "min": 43200
            }
        }],
        "location": {
            "country": "United Kingdom",
            "city": "London",
            "cost_of_living":86.99,
        },
        "CompanySector": "Information Technology", 
        "CompanySize": "51-100",
        "CompanyType":"Start Up",
        "CompanyFunding": ["+100m", "50m - 99.99m"],
        "midSalary": {
            "senior": 48800.0, 
            "overall": 48800.0, 
            "mid": 42700.0, 
            "junior": 31700.0, 
            "lead": 53200.0
        },
        "currency":{"value":1,"name":"EUR"},
        "observations": 312,
        "observations_total": 1240,
        "updated_at": "2024-03-29T05:44:08.295585"
    },

    "status": 200
}

This request returns salary information given a position, city, country, sector, size and funding.

observations is the number of observations that match your company filters, and observations_total the number for the position and location. When fewer than 30 observations match your filters, both show the total: the benchmark is then complemented with comparable data to meet the minimum sample. Without filters both are the same number. Counts of 10,000 or more are returned as "+10000", and either field is null when the count is unavailable. In the sandbox both are placeholders.

To get the aggregated salary of a whole category or department instead of a single position, send category or department in place of position (Premium plans only; other plans get a 403). Unknown names return a 404. The response has the same structure, but each entry of salary is a level of the grading (for example S1) and midSalary is null.

HTTP Request

GEThttp://talentup.io/api/salary/?api_key=<YOUR_API_KEY>&city=<CITY>&country=<COUNTRY>&position=<POSITION>&sector=<SECTOR>&size=<SIZE>&funding=<FUNDING>

URL Parameters

Parameter Description
city Name of the city to extract the salary information from
country* Name of the country to extract the salary information from (this field is required)
position* Name of the position to extract the salary information from (this field is required, unless you use category or department)
category Name of a position category (for example "data engineering") to get the aggregated salary of all its positions, instead of a single position. Premium plans only. Do not combine it with position, position_esco, esco_code or department
department Name of a department (for example "product") to get the aggregated salary of all its positions, instead of a single position. Premium plans only. Do not combine it with position, position_esco, esco_code or category
position_esco Name of the esco position to extract the salary information from, if searching with this field, do not include Position in the query
esco_code Esco code for the desired position, can be combined with position_esco for the search
sector Name of company sector to extract the salary information from
nace_sector Name of the NACE standard sector to extract the salary information from, should be one of the existing values in the NACE sector endpoint
size Company size to extract the salary information from
funding Amount of company funding to extract the salary information from
funding_min Minimum amount of company funding to extract the salary information from, should be one of the existing values in the funding endpoint or an integer value
funding_max Maximum amount of company funding to extract the salary information from, should be one of the existing values in the funding endpoint or an integer value
type Company type to extract the salary information from. Must be one of these: startup, itconsultancy, researchsmb, international or techhubs. If filtering by company type the filters "size, funding and sector" are not available
currency Currency to display the salary information in
date Year of which you want to extract the salary information from, can be from one year in the future to 3 years back, should be input like date="2023"

Reference

Errors

The TalentUp API uses the following error codes:

Error Code Meaning
400 Bad Request -- Your request is invalid.
401 Unauthorized -- Your API key is wrong.
403 Forbidden -- Your request is hidden for administrators only.
404 Not Found -- Your could not be found or gave 0 results.
405 Method Not Allowed -- Invalid method.
406 Not Acceptable -- You requested a format that isn't json.
410 Gone -- The request result has been removed from our servers.
418 I'm a teapot.
429 Too Many Requests -- Too many requests! Slow down!
500 Internal Server Error -- We had a problem with our server. Try again later.
503 Service Unavailable -- We're temporarily offline for maintenance. Please try again later.