Quickstart
The JobsEQ Application Programming Interface (API) is an integral part of the JobsEQ platform, and it provides programmatic access to the robust, current, and high-quality data managed by Chmura Economics & Analytics’ team of economists and data scientists.
To begin, you only need your API key. Keep it secure; never include it in client-side code or public repositories.
The examples below show how to retrieve wage data for Financial Specialist occupations in the Los Angeles–Long Beach–Anaheim, CA MSA.
For a full reference of this analytic, visit: https://jobseq.readme.io/reference/external_occupationwages
curl --request POST \
--url https://jobseq.eqsuite.com/api/External/OccupationWages \
--header 'Authorization: EQ-Key <your-api-key>' \
--header 'accept: application/json' \
--header 'content-type: text/json' \
--data '
{
"occupation": {
"code": "13-2000",
"type": "Minor"
},
"occLevel": "Detailed",
"wageType": "Annual",
"regions": [
{
"code": 3108,
"type": "MSA"
}
]
}'
import requests
url = "https://jobseq.eqsuite.com/api/External/OccupationWages"
payload = {
"occupation": {
"code": "13-2000",
"type": "Minor"
},
"occLevel": "Detailed",
"wageType": "Annual",
"regions": [
{
"code": 3108,
"type": "MSA"
}
]
}
headers = {
"accept": "application/json",
"content-type": "text/json",
"Authorization": "EQ-Key <your-api-key>"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://jobseq.eqsuite.com/api/External/OccupationWages",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'occupation' => [
'code' => '13-2000',
'type' => 'Minor'
],
'occLevel' => 'Detailed',
'wageType' => 'Annual',
'regions' => [
[
'code' => 3108,
'type' => 'MSA'
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: EQ-Key <your-api-key>",
"accept: application/json",
"content-type: text/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Post,
RequestUri = new Uri("https://jobseq.eqsuite.com/api/External/OccupationWages"),
Headers =
{
{ "accept", "application/json" },
{ "Authorization", "EQ-Key <your-api-key>" },
},
Content = new StringContent("{\"occupation\":{\"code\":\"13-2000\",\"type\":\"Minor\"},\"occLevel\":\"Detailed\",\"wageType\":\"Annual\",\"regions\":[{\"code\":3108,\"type\":\"MSA\"}]}")
{
Headers =
{
ContentType = new MediaTypeHeaderValue("application/json")
}
}
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}
const http = require('https');
const options = {
method: 'POST',
hostname: 'jobseq.eqsuite.com',
port: null,
path: '/api/External/OccupationWages',
headers: {
accept: 'application/json',
'content-type': 'text/json',
Authorization: 'EQ-Key <your-api-key>'
}
};
const req = http.request(options, function (res) {
const chunks = [];
res.on('data', function (chunk) {
chunks.push(chunk);
});
res.on('end', function () {
const body = Buffer.concat(chunks);
console.log(body.toString());
});
});
req.write(JSON.stringify({
occupation: {code: '13-2000', type: 'Minor'},
occLevel: 'Detailed',
wageType: 'Annual',
regions: [{code: 3108, type: 'MSA'}]
}));
req.end();
const options = {
method: 'POST',
headers: {
accept: 'application/json',
'content-type': 'text/json',
Authorization: 'EQ-Key <your-api-key>'
},
body: JSON.stringify({
occupation: {code: '13-2000', type: 'Minor'},
occLevel: 'Detailed',
wageType: 'Annual',
regions: [{code: 3108, type: 'MSA'}]
})
};
fetch('https://jobseq.eqsuite.com/api/External/OccupationWages', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
{
"wages": [
{
"soc": {
"code": "13-2011",
"type": "Detailed"
},
"title": "Accountants and Auditors",
"mean": 101500,
"entryLvl": 65300,
"expr": 119500,
"tenPct": 61100,
"twentyFivePct": 74600,
"fiftyPct": 91200,
"seventyFivePct": 113300,
"ninetyPct": 156800,
"regionsMean": []
},
{
"soc": {
"code": "13-2022",
"type": "Detailed"
},
"title": "Appraisers of Personal and Business Property",
"mean": 96100,
"entryLvl": 61800,
"expr": 113300,
"tenPct": 58100,
"twentyFivePct": 70800,
"fiftyPct": 93400,
"seventyFivePct": 112900,
"ninetyPct": 137700,
"regionsMean": []
},
{
"soc": {
"code": "13-2023",
"type": "Detailed"
},
"title": "Appraisers and Assessors of Real Estate",
"mean": 96100,
"entryLvl": 61800,
"expr": 113300,
"tenPct": 58100,
"twentyFivePct": 70800,
"fiftyPct": 93400,
"seventyFivePct": 112900,
"ninetyPct": 137700,
"regionsMean": []
}
],
"queryOccupation": {
"soc": {
"code": "13-2000",
"type": "Minor"
},
"title": "Financial Specialists",
"mean": 104700,
"entryLvl": 61300,
"expr": 126400,
"tenPct": 55500,
"twentyFivePct": 72200,
"fiftyPct": 92600,
"seventyFivePct": 120000,
"ninetyPct": 160300,
"regionsMean": []
},
"total": {
"soc": {
"code": "00-0000",
"type": "All"
},
"title": "Total - All Occupations",
"mean": 78100,
"entryLvl": 37700,
"expr": 98200,
"tenPct": 36200,
"twentyFivePct": 39800,
"fiftyPct": 54900,
"seventyFivePct": 92300,
"ninetyPct": 146300,
"regionsMean": []
},
"metadata": {
"wageYear": 2024
}
}
Updated about 1 month ago