/rankings
Group and rank postings by available facets.
GET /rankings
GET /rankingsGet a list of current available ranking facets.
Code Examples
curl --request GET \
--url https://api.lightcast.io/uk-jpa/rankings \
--header 'Authorization: Bearer <ACCESS_TOKEN>'Response Examples
{
"data": [
"certifications",
"certifications_name",
"city",
"city_name",
"company",
"company_name",
"country",
"country_name",
"employment_type",
"employment_type_name",
"lau1",
"lau1_name",
"max_years_experience",
"min_years_experience",
"nuts1",
"nuts1_name",
"nuts3",
"nuts3_name",
"remote_type",
"remote_type_name",
"skill_cluster",
"skills",
"skills_name",
"soc1",
"soc1_name",
"soc2",
"soc2_name",
"soc3",
"soc3_name",
"soc4",
"soc4_name",
"specialized_skills",
"specialized_skills_name",
"common_skills",
"common_skills_name",
"sources",
"title",
"title_name",
"edulevels",
"edulevels_name",
"max_edulevels",
"max_edulevels_name",
"min_edulevels",
"min_edulevels_name"
]
}POST /rankings/{rankingFacet}
POST /rankings/{rankingFacet}Group and rank postings by {rankingFacet}.
URL Parameters
| Name | Type | Description |
|---|---|---|
rankingFacet | enum | Example: Must be one of: |
Query Parameters
| Name | Type | Description |
|---|---|---|
soc_version | enum | Specify SOC taxonomy version to use. This parameter is optional. Default: Must be one of: |
area_version | enum | Specify area taxonomy version to use. This parameter is optional. Default: Must be one of: |
title_version | enum | Specify Job Title taxonomy version to use. This parameter is optional. Default: Must be one of: |
company_version | enum | Specify company taxonomy version to use. This parameter is optional. Default: Must be one of: |
new_taxonomy_versions | enum | Use new taxonomy versions. This parameter is optional. Must be one of: |
lot_version | enum | Specify LOT taxonomy version to use. This parameter is optional. Default: Must be one of: |
Request Body
{
"filter": {
"when": {
"start": "2020-01",
"end": "2020-03"
},
"skills_name": [
"SQL (Programming Language)"
],
"keywords": {
"query": "work/life balance",
"type": "phrase"
}
},
"rank": {
"by": "unique_postings",
"limit": 5,
"extra_metrics": [
"unique_companies",
"median_posting_duration"
]
}
}Code Examples
curl --request POST \
--url https://api.lightcast.io/uk-jpa/rankings/title_name \
--header 'Authorization: Bearer <ACCESS_TOKEN>' \
--header 'Content-Type: application/json' \
--data '{ "filter": { "when": { "start": "2020-01", "end": "2020-03" }, "skills_name": [ "SQL (Programming Language)" ], "keywords": { "query": "work/life balance", "type": "phrase" } }, "rank": { "by": "unique_postings", "limit": 5, "extra_metrics": [ "unique_companies", "median_posting_duration" ] } }'Response Examples
{
"data": {
"ranking": {
"buckets": [
{
"median_posting_duration": 44,
"name": "Software Developers",
"unique_companies": 52,
"unique_postings": 76
},
{
"median_posting_duration": 46,
"name": ".NET Developers",
"unique_companies": 48,
"unique_postings": 75
},
{
"median_posting_duration": 43,
"name": "Software Engineers",
"unique_companies": 34,
"unique_postings": 62
},
{
"median_posting_duration": 32,
"name": "Unclassified",
"unique_companies": 41,
"unique_postings": 52
},
{
"median_posting_duration": 38,
"name": "C# .NET Developers",
"unique_companies": 33,
"unique_postings": 51
}
],
"facet": "title_name",
"limit": 5,
"rank_by": "unique_postings"
},
"totals": {
"median_posting_duration": 36,
"unique_companies": 992,
"unique_postings": 2431
}
}
}//Your request wasn't valid (bad parameter names or values).
{
"errors": [
{
"status": 400,
"title": "Malformed Request",
"detail": "Expected array"
}
]
}//Your request wasn't unauthorized.
{
"errors": [
{
"status": 401,
"title": "Unauthorized Request",
"detail": "You are not authorized to access this resource."
}
]
}//The facet you requested wasn't found.
{
"errors": [
{
"status": 404,
"title": "URL not found",
"detail": "Unrecognized facet 'foo'"
}
]
}//Your request wasn't valid (bad keyword expression).
{
"errors": [
{
"status": 422,
"title": "Invalid request content",
"detail": "Invalid keyword search expression syntax:\n\t\"general merchandise\" OR \"apparel\" OR \"grocery\" OR\n\t ^"
}
]
}POST /rankings/{rankingFacet}/timeseries
POST /rankings/{rankingFacet}/timeseriesGroup and rank postings by {ranking_facet} with a monthly or daily timeseries for each ranked group. Use YYYY-MM date format in the timeseries time-frame filter, timeseries.when, to get monthly summary of each ranked group, or use YYYY-MM-DD date format for daily summary.
URL Parameters
| Name | Type | Description |
|---|---|---|
rankingFacet | enum | Example: Must be one of: |
Query Parameters
| Name | Type | Description |
|---|---|---|
soc_version | enum | Specify SOC taxonomy version to use. This parameter is optional. Default: Must be one of: |
area_version | enum | Specify area taxonomy version to use. This parameter is optional. Default: Must be one of: |
title_version | enum | Specify Job Title taxonomy version to use. This parameter is optional. Default: Must be one of: |
company_version | enum | Specify company taxonomy version to use. This parameter is optional. Default: Must be one of: |
new_taxonomy_versions | enum | Use new taxonomy versions. This parameter is optional. Must be one of: |
lot_version | enum | Specify LOT taxonomy version to use. This parameter is optional. Default: Must be one of: |
Request Body
{
"filter": {
"when": {
"start": "2020-01",
"end": "2020-06"
},
"company_name": [
"Sainsbury’s Group"
]
},
"rank": {
"by": "unique_postings",
"limit": 5
},
"timeseries": {
"when": {
"start": "2019-01",
"end": "2019-06"
},
"metrics": [
"unique_postings",
"total_postings"
]
}
}Code Examples
curl --request POST \
--url https://api.lightcast.io/uk-jpa/rankings/title_name/timeseries \
--header 'Authorization: Bearer <ACCESS_TOKEN>' \
--header 'Content-Type: application/json' \
--data '{ "filter": { "when": { "start": "2020-01", "end": "2020-06" }, "company_name": [ "Sainsbury’s Group" ] }, "rank": { "by": "unique_postings", "limit": 5 }, "timeseries": { "when": { "start": "2019-01", "end": "2019-06" }, "metrics": [ "unique_postings", "total_postings" ] } }'Response Examples
{
"data": {
"ranking": {
"buckets": [
{
"name": "Home Delivery Drivers",
"timeseries": {
"month": [
"2019-01",
"2019-02",
"2019-03",
"2019-04",
"2019-05",
"2019-06"
],
"total_postings": [
0,
0,
0,
136,
198,
445
],
"unique_postings": [
0,
0,
0,
10,
26,
29
]
},
"unique_postings": 114
},
{
"name": "Customer Service and Training Managers",
"timeseries": {
"month": [
"2019-01",
"2019-02",
"2019-03",
"2019-04",
"2019-05",
"2019-06"
],
"total_postings": [
0,
0,
0,
42,
311,
433
],
"unique_postings": [
0,
0,
0,
22,
75,
87
]
},
"unique_postings": 105
},
{
"name": "Trading Assistants",
"timeseries": {
"month": [
"2019-01",
"2019-02",
"2019-03",
"2019-04",
"2019-05",
"2019-06"
],
"total_postings": [
0,
0,
0,
41,
427,
1098
],
"unique_postings": [
0,
0,
0,
6,
48,
73
]
},
"unique_postings": 83
},
{
"name": "Convenience Store Managers",
"timeseries": {
"month": [
"2019-01",
"2019-02",
"2019-03",
"2019-04",
"2019-05",
"2019-06"
],
"total_postings": [
0,
0,
0,
189,
242,
268
],
"unique_postings": [
0,
0,
0,
8,
20,
25
]
},
"unique_postings": 63
},
{
"name": "Online Marketing Assistants",
"timeseries": {
"month": [
"2019-01",
"2019-02",
"2019-03",
"2019-04",
"2019-05",
"2019-06"
],
"total_postings": [
0,
0,
0,
130,
182,
327
],
"unique_postings": [
0,
0,
0,
4,
19,
25
]
},
"unique_postings": 62
}
],
"facet": "title_name",
"limit": 5,
"rank_by": "unique_postings"
},
"totals": {
"unique_postings": 667
}
}
}//Your request wasn't valid (bad parameter names or values).
{
"errors": [
{
"status": 400,
"title": "Malformed Request",
"detail": "Expected array"
}
]
}//Your request wasn't unauthorized.
{
"errors": [
{
"status": 401,
"title": "Unauthorized Request",
"detail": "You are not authorized to access this resource."
}
]
}//The facet you requested wasn't found.
{
"errors": [
{
"status": 404,
"title": "URL not found",
"detail": "Unrecognized facet 'foo'"
}
]
}//Your request wasn't valid (bad keyword expression).
{
"errors": [
{
"status": 422,
"title": "Invalid request content",
"detail": "Invalid keyword search expression syntax:\n\t\"general merchandise\" OR \"apparel\" OR \"grocery\" OR\n\t ^"
}
]
}POST /rankings/{rankingFacet}/distributions/{distributionFacet}
POST /rankings/{rankingFacet}/distributions/{distributionFacet}Group and rank postings by {rankingFacet} with a distribution for each ranked item.
URL Parameters
| Name | Type | Description |
|---|---|---|
rankingFacet | enum | Example: Must be one of: |
distributionFacet | enum | Example: Must be one of: |
Query Parameters
| Name | Type | Description |
|---|---|---|
soc_version | enum | Specify SOC taxonomy version to use. This parameter is optional. Default: Must be one of: |
area_version | enum | Specify area taxonomy version to use. This parameter is optional. Default: Must be one of: |
title_version | enum | Specify Job Title taxonomy version to use. This parameter is optional. Default: Must be one of: |
company_version | enum | Specify company taxonomy version to use. This parameter is optional. Default: Must be one of: |
new_taxonomy_versions | enum | Use new taxonomy versions. This parameter is optional. Must be one of: |
lot_version | enum | Specify LOT taxonomy version to use. This parameter is optional. Default: Must be one of: |
Request Body
{
"filter": {
"when": {
"start": "2020-01",
"end": "2023-12"
}
},
"rank": {
"by": "unique_postings",
"limit": 2
},
"distribution": {
"type": "histogram",
"options": {
"interval": 100000
},
"metrics": [
"duplicate_postings"
]
}
}Code Examples
curl --request POST \
--url https://api.lightcast.io/uk-jpa/rankings/title_name/distributions/salary \
--header 'Authorization: Bearer <ACCESS_TOKEN>' \
--header 'Content-Type: application/json' \
--data '{ "filter": { "when": { "start": "2020-01", "end": "2023-12" } }, "rank": { "by": "unique_postings", "limit": 2 }, "distribution": { "type": "histogram", "options": { "interval": 100000 }, "metrics": [ "duplicate_postings" ] } }'Response Examples
{
"data": {
"ranking": {
"buckets": [
{
"distribution": {
"buckets": [
{
"duplicate_postings": 231944,
"key": 1,
"value": 0
},
{
"duplicate_postings": 35539,
"key": 2,
"value": 100000
},
{
"duplicate_postings": 1451,
"key": 3,
"value": 200000
},
{
"duplicate_postings": 652,
"key": 4,
"value": 300000
},
{
"duplicate_postings": 22,
"key": 5,
"value": 400000
},
{
"duplicate_postings": 1,
"key": 6,
"value": 500000
}
],
"domain": {
"max": 500000,
"min": 18678
},
"facet": "salary",
"interval": 100000,
"type": "histogram"
},
"name": "Unclassified",
"unique_postings": 185391
},
{
"distribution": {
"buckets": [
{
"duplicate_postings": 2007,
"key": 1,
"value": 0
},
{
"duplicate_postings": 125,
"key": 2,
"value": 100000
},
{
"duplicate_postings": 1,
"key": 3,
"value": 200000
}
],
"domain": {
"max": 207500,
"min": 24544
},
"facet": "salary",
"interval": 100000,
"type": "histogram"
},
"name": "Loblaw Companies Limited",
"unique_postings": 8843
}
],
"facet": "company_name",
"limit": 2,
"rank_by": "unique_postings"
},
"totals": {
"unique_postings": 876839
}
}
}//Your request wasn't valid (bad parameter names or values).
{
"errors": [
{
"status": 400,
"title": "Malformed Request",
"detail": "Expected array"
}
]
}//Your request wasn't unauthorized.
{
"errors": [
{
"status": 401,
"title": "Unauthorized Request",
"detail": "You are not authorized to access this resource."
}
]
}//The facet you requested wasn't found.
{
"errors": [
{
"status": 404,
"title": "URL not found",
"detail": "Unrecognized facet 'foo'"
}
]
}//Your request wasn't valid (bad keyword expression).
{
"errors": [
{
"status": 422,
"title": "Invalid request content",
"detail": "Invalid keyword search expression syntax:\n\t\"general merchandise\" OR \"apparel\" OR \"grocery\" OR\n\t ^"
}
]
}POST /rankings/{rankingFacet}/rankings/{nestedRankingFacet}
POST /rankings/{rankingFacet}/rankings/{nestedRankingFacet}Get a nested ranking (e.g. top companies, then top skills per company).
URL Parameters
| Name | Type | Description |
|---|---|---|
rankingFacet | enum | Example: Must be one of: |
nestedRankingFacet | enum | Example: Must be one of: |
Query Parameters
| Name | Type | Description |
|---|---|---|
soc_version | enum | Specify SOC taxonomy version to use. This parameter is optional. Default: Must be one of: |
area_version | enum | Specify area taxonomy version to use. This parameter is optional. Default: Must be one of: |
title_version | ennum | Specify Job Title taxonomy version to use. This parameter is optional. Default: Must be one of: |
company_version | enum | Specify company taxonomy version to use. This parameter is optional. Default: Must be one of: |
new_taxonomy_versions | enum | Use new taxonomy versions. This parameter is optional. Must be one of: |
lot_version | enum | Specify LOT taxonomy version to use. This parameter is optional. Default: Must be one of: |
Request Body
{
"filter": {
"when": {
"start": "2020-01",
"end": "2020-03"
}
},
"rank": {
"by": "unique_postings",
"limit": 5
},
"nested_rank": {
"by": "significance",
"limit": 5
}
}Code Examples
curl --request POST \
--url https://api.lightcast.io/uk-jpa/rankings/title_name/rankings/city_name \
--header 'Authorization: Bearer <ACCESS_TOKEN>' \
--header 'Content-Type: application/json' \
--data '{ "filter": { "when": { "start": "2020-01", "end": "2020-03" } }, "rank": { "by": "unique_postings", "limit": 5 }, "nested_rank": { "by": "significance", "limit": 5 } }'Response Examples
{
"data": {
"ranking": {
"buckets": [
{
"name": "Unclassified",
"ranking": {
"buckets": [
{
"name": "Unknown",
"significance": 0.09041988007642093,
"unique_postings": 29595
},
{
"name": "[Unknown city]",
"significance": 0.0032306684663184143,
"unique_postings": 5966
},
{
"name": "Bangor, Wales",
"significance": 0.0025301665385741023,
"unique_postings": 124
},
{
"name": "Framwellgate Moor, England",
"significance": 0.002196137666081308,
"unique_postings": 30
},
{
"name": "Whitefield, England",
"significance": 0.0016130319477460574,
"unique_postings": 34
}
],
"facet": "city_name",
"limit": 5,
"rank_by": "significance"
},
"unique_postings": 208686
},
{
"name": "Support Workers",
"ranking": {
"buckets": [
{
"name": "Burnham-on-Sea, England",
"significance": 0.032190876547826784,
"unique_postings": 68
},
{
"name": "Meldreth, England",
"significance": 0.030697150376695164,
"unique_postings": 29
},
{
"name": "Bidford-on-avon, England",
"significance": 0.02652134113710322,
"unique_postings": 23
},
{
"name": "Coleford, England",
"significance": 0.021951551380772302,
"unique_postings": 31
},
{
"name": "Brant Broughton, England",
"significance": 0.02118253099848286,
"unique_postings": 12
}
],
"facet": "city_name",
"limit": 5,
"rank_by": "significance"
},
"unique_postings": 49733
},
{
"name": "Staff Nurses",
"ranking": {
"buckets": [
{
"name": "Beaumaris, Wales",
"significance": 0.08534674186536924,
"unique_postings": 16
},
{
"name": "Kington, England",
"significance": 0.0820394201498593,
"unique_postings": 22
},
{
"name": "Heswall, England",
"significance": 0.0750217837947537,
"unique_postings": 25
},
{
"name": "Hoylake, England",
"significance": 0.07500646928973592,
"unique_postings": 19
},
{
"name": "Criccieth, Wales",
"significance": 0.07043659212535752,
"unique_postings": 13
}
],
"facet": "city_name",
"limit": 5,
"rank_by": "significance"
},
"unique_postings": 22924
},
{
"name": "Care Assistants",
"ranking": {
"buckets": [
{
"name": "Hathersage, England",
"significance": 0.07027713631625232,
"unique_postings": 9
},
{
"name": "East Preston, England",
"significance": 0.055488100682100076,
"unique_postings": 8
},
{
"name": "Knebworth, England",
"significance": 0.05316539815991765,
"unique_postings": 22
},
{
"name": "Haxby, England",
"significance": 0.04460770333972354,
"unique_postings": 6
},
{
"name": "St Minver, England",
"significance": 0.04460770333972354,
"unique_postings": 6
}
],
"facet": "city_name",
"limit": 5,
"rank_by": "significance"
},
"unique_postings": 22496
},
{
"name": "Quantity Surveyors",
"ranking": {
"buckets": [
{
"name": "Belfast, Northern Ireland",
"significance": 0.07816286766669407,
"unique_postings": 485
},
{
"name": "Antrim, Northern Ireland",
"significance": 0.07656845896082769,
"unique_postings": 170
},
{
"name": "Stretham, England",
"significance": 0.04242168147233004,
"unique_postings": 4
},
{
"name": "[Unknown city]",
"significance": 0.03849093059242479,
"unique_postings": 1323
},
{
"name": "East Down, England",
"significance": 0.037806328830614806,
"unique_postings": 5
}
],
"facet": "city_name",
"limit": 5,
"rank_by": "significance"
},
"unique_postings": 20358
}
],
"facet": "title_name",
"limit": 5,
"rank_by": "unique_postings"
},
"totals": {
"unique_postings": 4415755
}
}
}//Your request wasn't valid (bad parameter names or values).
{
"errors": [
{
"status": 400,
"title": "Malformed Request",
"detail": "Expected array"
}
]
}//Your request wasn't unauthorized.
{
"errors": [
{
"status": 401,
"title": "Unauthorized Request",
"detail": "You are not authorized to access this resource."
}
]
}//The facet you requested wasn't found.
{
"errors": [
{
"status": 404,
"title": "URL not found",
"detail": "Unrecognized facet 'foo'"
}
]
}//Your request wasn't valid (bad keyword expression).
{
"errors": [
{
"status": 422,
"title": "Invalid request content",
"detail": "Invalid keyword search expression syntax:\n\t\"general merchandise\" OR \"apparel\" OR \"grocery\" OR\n\t ^"
}
]
}
