https://api.wedatatools.com/v2/get-jobs
Basic Usage
Request
The get-jobs API accepts an application/x-www-form-urlencoded
POST request. Authentication is provided by passing your provided API key as the “key” parameter. Additional parameters are specified in the Parameters section below.
Response
The get-jobs API responds with a JSON representation of the requested data. The content of the response may vary according to the request, but a basic request will populate the “hits” key with an array of documents returned. The content of the documents can be specified according to the “includes” and “excludes” parameters specified in the Parameters section below.
Parameters
Parameter | Type | Description | Permitted Values |
---|---|---|---|
key | String | Your provided API Access Key | |
search | String | Plaintext search. Results with a title, or additional metadata, matching the search string will be returned. | |
per_page | Numeric | Results per page. A value of -1 returns all matching results. | 0-10000 , -1 Default: 20 |
page | Numeric | Page number. | Default: 1 |
track_total_hits | Boolean | Total hits for a given query shows up in the meta object under total , but for performance reasons this typically caps at 10000. To remove the cap, pass true to track_total_hits . | true , false Default: false |
orderby | String | Order in which to return results. | date_desc , date_asc , wage_desc , wage_asc , relevance Default: relevance |
start_date | DateTime | The earliest post date from which to include postings in the result set. | String formatted YYYY-MM-DD. |
end_date | DateTime | The latest post date from which to include postings in the result set. | String formatted YYYY-MM-DD. |
range_type | String | Governs the type of date range to use when considering start_date and end_date . | active : (default) includes postings that were actively recruiting during the specified date range.new : includes postings that were newly posted during the specified date range. |
[field] | String/Array | Search the value of a document field. See “Term Query” section. | |
[field]__like | String/Array | Wildcard search the value of a document field. See “Term Query” section. | |
[field]__not | String/Array | Value to not match for a given field. See “Term Query” section. | |
must_exist | String/Array | Field(s) that must have a value on the target document to be included in the result set. | See “permitted fields”. |
must_not_exist | String/Array | Field(s) that must not have a value on the target document to be included in the result set. | See “permitted fields”. |
aggregate | String/Array | Provides the “term frequency” count of a given field in the dataset. See “Aggregations” section. | See “permitted fields”. |
wage_insights | Boolean | Whether to provide a wage insights breakdown in the response. See “Aggregations” section. | true , false |
aggregate_count | Numeric | The top N terms to return in any aggregation function. See “Aggregations” section. | Default: 100 |
includes | String/Array | Fields to include on the return document. | See “permitted fields”. |
excludes | String/Array | Fields to exclude on the return document – overrides “includes” in the event of overlap. | See “permitted fields”. |
Permitted Fields
The following fields are available on the job documents to search/aggregate/include:
Basic Data
Field | Description |
---|---|
job_title | The title of the job post. |
employer | The title of the employer associated with this job post. |
content | Plaintext content associated with this job post. |
excerpt | As content , but limited to first 200 words. |
post_date | The date the postings was first listed. |
expiry_date | The date the posting was expired, if applicable. |
type | The type, whether FT (full-time) or PT (part-time) of the posting. |
duration | The duration, whether permanent , temporary , or contract of the posting. |
NOC and NAICS
Field | Description |
---|---|
nocs_2021 | The five-digit 2021 Unit-Level NOC code(s) associated with this job post. See Hierarchy and Structure [of 2021 National Occupation Codes] |
nocs_hierarchical_2021 | As nocs_2021 , but includes all applicable 1-digit, 2-digit, 3-digit, 4-digit, and 5-digit representations. |
occupational_category_2021 | As nocs_2021 , but using the 1-digit representation. |
major_group_2021 | As nocs_2021 , but using the 2-digit representation. |
submajor_group_2021 | As nocs_2021 , but using the 3-digit representation. |
minor_group_2021 | As nocs_2021 , but using the 4-digit representation. |
teer_category_2021 | The Training, Education, Experience, and Responsibilities category for the job post, derived from its NOC categorization. See TEER categories and examples of jobs |
nocs | The four-digit 2016 Unit-Level NOC code(s) associated with this job post. See Hierarchy and Structure [of 2016 National Occupation Codes] |
nocs_hierarchical | As nocs , but includes all applicable 1-digit, 2-digit, 3-digit, and 4-digit representations. |
occupational_category | As nocs , but using the 1-digit representation. |
skill_level | As nocs , but using the 2-digit representation. |
minor_group | As nocs , but using the 3-digit representation. |
naics | The six-digit 2017 Canadian Industry Level NAICS code(s) associated with the employer for this job post. See North American Industry Classification System (NAICS) Canada 2017 Version 3.0. |
naics_hierarchical | As naics , but includes all applicable 2-digit, 3-digit, 4-digit, 5-digit, and 6-digit representations. |
sector | As naics , but using the 2-digit representation. |
skill_type | The applicable Skill Type of the job post, depending on its NOC association. See NOC Skill Type. |
Location Data
Field | Description |
---|---|
location | The geolocation (lat + long) associated with the posting’s employer. |
derived_location | The geolocation (lat + long) associated with the posting’s employer, OR the derived location based on the job posting’s region if the previous does not exist. |
region | The city/town the job post was listed for. |
regions | The city/town the job post was listed for, plus all related municipalities, regions, etc. |
stateprov | The state/province the job post was listed for. |
Wage/Salary Data
Field | Description |
---|---|
wage_value | The extracted wage value for this posting. |
wage_value_normalized | As wage_value , but only included if the harmonized wage falls between 10k and 400k CAD. |
wage_unit | The unit, be it “hourly”, “weekly”, “yearly”, etc. corresponding with wage_value . |
wage_unit_normalized | As wage_unit , but only included if the harmonized wage falls between 10k and 400k CAD. |
harmonized_wage | The wage_value harmonized (converted) into a consistent yearly value. |
harmonized_wage_normalized | As harmonized_wage , but only included if the harmonized wage falls between 10k and 400k CAD. |
Additional Taxonomies
Field | Description |
---|---|
skill_names | KST skills associated with the job post. |
skills | As skill_names , but a hashed representation. |
job_tag_names | Additional taxonomic information such as benefits, education level, etc. |
job_tags | As job_tag_names , but a hashed representation. |
language_names | Language data associated with the job post. |
languages | As language_names , but a hashed representation. |
benefits | Organized buckets describing the benefits level of the job post, based on applicable job_tags information. |
Term Query
Any permitted field can be individually searched. The most basic way of achieving this is to pass a permitted field as a request parameter, and the value for this parameter is the string value (or array of string values) you wish to search. An example of this would be "nocs": ["1221", "1222"]
. There are other related parameters such as [field]__like
or [field]__not
that perform different types of field queries. For example, "nocs__not": ["1221", "1222"]
will return ensure that postings in the result set do not match either NOC 1221 or NOC 1222.
Aggregations
Aggregation queries help summarize data as metrics, percentiles, statistics, etc. There are a number of available aggregations available:
Terms
“Terms” aggregation is a bucket aggregation that will summarize the top N terms (N configurable by passing the aggregate_count
parameter) for a given field in the dataset. A terms aggregation can be done on a permitted field by passing the permitted field in the aggregate
parameter.
Wage Insights
A “Wage Insights” aggregation is a percentile aggregation that will summarize the 0th, 25th, 50th, 75th, and 100th percentile wage values in a given result set. This can be done for the entire dataset by passing true
as the value for the wage_insights
parameter. Wage insights can also be summarized by field by passing a permitted field value for wage_insights_by
. For example, "wage_insights_by": "nocs"
will provide individual wage insights for each of the top N NOC values in the result set.
Cardinality
A “cardinality” aggregation counts the total unique values in the result set for a given permitted field. For example, "cardinality": "employer"
will provide a count of all unique employers in the result set.
Aggregation By Month/Week
Term aggregations can be sorted by week or month using the aggregate_by_month
and aggregate_by_week
parameters. This is structured the same way as the aggregate
parameter. For example, passing "aggregate_by_month": "naics"
will summarize the top N NAICS codes for each month in the result set.
Examples
For additional examples provided in additional programming languages, view the Postman Collection.
Get Page Of Job Postings
Request
curl --location 'https://api.wedatatools.com/v2/get-jobs/' \
--data-urlencode 'key=[Your API Key]' \
--data-urlencode 'page=1' \
--data-urlencode 'per_page=5' \
--data-urlencode 'includes%5B%5D=job_title' \
--data-urlencode 'includes%5B%5D=employer' \
--data-urlencode 'includes%5B%5D=excerpt' \
--data-urlencode 'includes%5B%5D=url' \
--data-urlencode 'includes%5B%5D=post_date' \
--data-urlencode 'includes%5B%5D=region' \
--data-urlencode 'includes%5B%5D=stateprov' \
--data-urlencode 'orderby=date_desc'
Response
{
"meta": {
"page": 1,
"max_pages": 167,
"returned": 5,
"total": 3321
},
"hits": [
{
"_index": "jobs2023may25",
"_id": "staging-2e058d570c3ca4078d8f271890b95405",
"_score": null,
"_ignored": [
"content.keyword"
],
"_source": {
"post_date": "2023-08-23",
"job_title": "Long Haul Truck Driver",
"excerpt": "Overview Languages English Education Secondary (high) school graduation certificate Experience Experience an asset Responsibilities Tasks Operate and drive straight or articulated trucks to transport…",
"url": "https://www.jobbank.gc.ca/jobsearch/jobposting/38966510",
"employer": "J7 Group Ltd",
"region": "Winnipeg",
"stateprov": "MB"
},
"sort": [
1692752976000
]
},
{
"_index": "jobs2023may25",
"_id": "staging-e40363b478a050f331552753ff658a0d",
"_score": null,
"_ignored": [
"content.keyword"
],
"_source": {
"post_date": "2023-08-23",
"job_title": "Kitchen Helper",
"excerpt": "Overview Languages English Education No degree, certificate or diploma Experience 1 to less than 7 months Responsibilities Tasks Carrying and replace linen Clean and…",
"url": "https://www.jobbank.gc.ca/jobsearch/jobposting/38966514",
"employer": "Pregame Sports Bar & Lounge",
"region": "Winnipeg",
"stateprov": "MB"
},
"sort": [
1692752965000
]
},
{
"_index": "jobs2023may25",
"_id": "staging-a0ea2360ad54916a27489d9414955cf9",
"_score": null,
"_ignored": [
"content.keyword"
],
"_source": {
"post_date": "2023-08-23",
"job_title": "Administrative Assistant",
"excerpt": "Overview Languages English Education Secondary (high) school graduation certificate Experience Experience an asset Responsibilities Tasks Record and prepare minutes of meetings, seminars and conferences…",
"url": "https://www.jobbank.gc.ca/jobsearch/jobposting/38966526",
"employer": "J7 Group Ltd",
"region": "Winnipeg",
"stateprov": "MB"
},
"sort": [
1692752955000
]
},
{
"_index": "jobs2023may25",
"_id": "staging-e2c1672ef005bac03b99a42a23b73b93",
"_score": null,
"_ignored": [
"content.keyword"
],
"_source": {
"post_date": "2023-08-23",
"job_title": "Cook",
"excerpt": "Overview Languages English Education No degree, certificate or diploma Experience Will train Cook categories Cook (general) Responsibilities Tasks Prepare and cook complete meals or…",
"url": "https://www.jobbank.gc.ca/jobsearch/jobposting/38966528",
"employer": "Fionn's Grant Park",
"region": "Winnipeg",
"stateprov": "MB"
},
"sort": [
1692752945000
]
},
{
"_index": "jobs2023may25",
"_id": "staging-418d8c46af56aba387b4835d30e818b2",
"_score": null,
"_ignored": [
"content.keyword"
],
"_source": {
"post_date": "2023-08-23",
"job_title": "Cook",
"excerpt": "Overview Languages English Education No degree, certificate or diploma Experience Will train Cook categories Cook (general) Responsibilities Tasks Prepare and cook complete meals or…",
"url": "https://www.jobbank.gc.ca/jobsearch/jobposting/38966532",
"employer": "Fionn MacCool's Crossroads",
"region": "Winnipeg",
"stateprov": "MB"
},
"sort": [
1692752934000
]
}
]
}