Endpoint Examples

/rankings

Group and rank postings by available facets.

GET /rankings

Get a list of current available ranking facets.

Code Examples

curl --request GET \
  --url https://api.lightcast.io/global-postings/rankings \
  --header 'Authorization: Bearer <ACCESS_TOKEN>'

Response Examples

{
  "data": [
    "active_sources_info",
    "anz_sco_1",
    "anz_sco_1_name",
    "anz_sco_2",
    "anz_sco_2_name",
    "anz_sco_3",
    "anz_sco_3_name",
    "anz_sco_4",
    "anz_sco_4_name",
    "anz_sco_5",
    "anz_sco_5_name",
    "anz_sic_1",
    "anz_sic_1_name",
    "anz_sic_2",
    "anz_sic_2_name",
    "anz_sic_3",
    "anz_sic_3_name",
    "anz_sic_4",
    "anz_sic_4_name",
    "certifications",
    "certifications_name",
    "city",
    "city_name",
    "common_skills",
    "common_skills_name",
    "company",
    "company_name",
    "contract_type",
    "contract_type_name",
    "edulevels",
    "edulevels_name",
    "employment_type",
    "employment_type_name",
    "isced",
    "isced_name",
    "isco_1",
    "isco_1_name",
    "isco_2",
    "isco_2_name",
    "isco_3",
    "isco_3_name",
    "isco_4",
    "isco_4_name",
    "laa_admin_area_1",
    "laa_admin_area_1_name",
    "laa_admin_area_2",
    "laa_admin_area_2_name",
    "laa_country",
    "laa_country_name",
    "laa_metro",
    "laa_metro_name",
    "lot_career_area",
    "lot_career_area_name",
    "lot_occupation",
    "lot_occupation_group",
    "lot_occupation_group_name",
    "lot_occupation_name",
    "lot_specialized_occupation",
    "lot_specialized_occupation_name",
    "max_edulevels",
    "max_edulevels_name",
    "max_years_experience",
    "min_edulevels",
    "min_edulevels_name",
    "min_years_experience",
    "nace_1",
    "nace_1_name",
    "nace_2",
    "nace_2_name",
    "naics2",
    "naics2_name",
    "naics3",
    "naics3_name",
    "naics4",
    "naics4_name",
    "naics5",
    "naics5_name",
    "naics6",
    "naics6_name",
    "remote_type",
    "remote_type_name",
    "skill_categories",
    "skill_categories_name",
    "skill_subcategories",
    "skill_subcategories_name",
    "skills",
    "skills_name",
    "software_skills",
    "software_skills_name",
    "specialized_skills",
    "specialized_skills_name",
    "title",
    "title_name"
  ]
}

POST /rankings/{rankingFacet}

Group and rank postings by {rankingFacet}.

URL Parameters

NameTypeDescription
rankingFacetenum

Example: company_name

Must be one of: anz_sco_1, anz_sco_1_name, anz_sco_2, anz_sco_2_name, anz_sco_3, anz_sco_3_name, anz_sco_4, anz_sco_4_name, anz_sco_5, anz_sco_5_name, anz_sic_1, anz_sic_1_name, anz_sic_2, anz_sic_2_name, anz_sic_3, anz_sic_3_name, anz_sic_4, anz_sic_4_name, certifications, certifications_name, common_skills, common_skills_name, company, company_name, isco_1, isco_1_name, isco_2, isco_2_name, isco_3, isco_3_name, isco_4, isco_4_name, max_years_experience, min_years_experience, nace_1, nace_1_name, nace_2, nace_2_name, skills, skills_name, skill_categories, skill_categories_name, skill_subcategories, skill_subcategories_name, software_skills, software_skills_name, specialized_skills, specialized_skills_name, laa_country, laa_country_name, laa_admin_area_1, laa_admin_area_1_name, laa_admin_area_2, laa_admin_area_2_name, laa_metro, laa_metro_name, remote_type, remote_type_name, naics2, naics2_name, naics3, naics3_name, naics4, naics4_name, naics5, naics5_name, naics6, naics6_name, employment_type, employment_type_name, contract_type, contract_type_name, min_edulevels, min_edulevels_name, max_edulevels, max_edulevels_name, edulevels, edulevels_name, city, city_name, language, language_name

Query Parameter

NameTypeDescription
new_taxonomy_versionsenum

Use new taxonomy versions.
This parameter is optional.

Default: False

Must be one of: false, false

lot_versionenum

Specify LOT taxonomy version to use.
This parameter is optional.

Default: 7

Must be one of: 6, 7

area_versionenum

Specify area taxonomy version to use.
This parameter is optional.

Default: lf_area_2025_1

Must be one of: lf_area_2025_1

area_laa_versionenum

Specify LAA area taxonomy version to use.
This parameter is optional.

Default: 2

Must be one of: 1, 2

datasetenum

Specify dataset to query.
This parameter is optional.

Default: global

Must be one of: global, global_plus

Request Body

{
  "filter": {
    "when": {
      "start": "2019-03",
      "end": "2019-06",
      "type": "expired"
    }
  },
  "rank": {
    "by": "unique_postings",
    "limit": 10,
    "extra_metrics": [
      "median_posting_duration"
    ]
  }
}

Code Examples

curl --request POST \
  --url https://api.lightcast.io/global-postings/rankings/company \
  --header 'Authorization: Bearer <ACCESS_TOKEN>' \
  --header 'Content-Type: application/json' \
  --data '{ "filter": { "when": { "start": "2019-03", "end": "2019-06", "type": "expired" } }, "rank": { "by": "unique_postings", "limit": 10, "extra_metrics": [ "median_posting_duration" ] } }'

Response Examples

{
  "data": {
    "ranking": {
      "buckets": [
        {
          "median_posting_duration": 3,
          "name": "875822de2984cf06301a",
          "unique_postings": 1
        }
      ],
      "facet": "company",
      "limit": 10,
      "rank_by": "unique_postings"
    },
    "totals": {
      "median_posting_duration": 3,
      "unique_postings": 1
    }
  }
}
// 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

Group 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

NameTypeDescription
rankingFacetenum

Example: company

Must be one of: anz_sco_1, anz_sco_1_name, anz_sco_2, anz_sco_2_name, anz_sco_3, anz_sco_3_name, anz_sco_4, anz_sco_4_name, anz_sco_5, anz_sco_5_name, anz_sic_1, anz_sic_1_name, anz_sic_2, anz_sic_2_name, anz_sic_3, anz_sic_3_name, anz_sic_4, anz_sic_4_name, certifications, certifications_name, common_skills, common_skills_name, company, company_name, isco_1, isco_1_name, isco_2, isco_2_name, isco_3, isco_3_name, isco_4, isco_4_name, max_years_experience, min_years_experience, nace_1, nace_1_name, nace_2, nace_2_name, skills, skills_name, skill_categories, skill_categories_name, skill_subcategories, skill_subcategories_name, software_skills, software_skills_name, specialized_skills, specialized_skills_name, laa_country, laa_country_name, laa_admin_area_1, laa_admin_area_1_name, laa_admin_area_2, laa_admin_area_2_name, laa_metro, laa_metro_name, remote_type, remote_type_name, naics2, naics2_name, naics3, naics3_name, naics4, naics4_name, naics5, naics5_name, naics6, naics6_name, employment_type, employment_type_name, contract_type, contract_type_name, min_edulevels, min_edulevels_name, max_edulevels, max_edulevels_name, edulevels, edulevels_name, city, city_name, language, language_name

Query Parameters

NameTypeDescription
new_taxonomy_versionsenum

Use new taxonomy versions.
This parameter is optional.

Default: False

Must be one of: false, false

lot_versionenum

Specify LOT taxonomy version to use.
This parameter is optional.
Default: 7

Must be one of: 6, 7

area_versionenum

Specify area taxonomy version to use.
This parameter is optional.
Default: lf_area_2025_1

Must be one of: lf_area_2025_1

area_laa_versionenum

Specify LAA area taxonomy version to use.
This parameter is optional.
Default: 2

Must be one of: 1, 2

datasetenum

Specify dataset to query.
This parameter is optional.

Default: global

Must be one of: global, global_plus

Response Body

{
  "filter": {
    "when": {
      "start": "2019-03",
      "end": "2019-06",
      "type": "active"
    }
  },
  "rank": {
    "by": "unique_postings",
    "limit": 5
  },
  "timeseries": {
    "metrics": [
      "unique_postings"
    ]
  }
}

Code Examples

curl --request POST \
  --url https://api.lightcast.io/global-postings/rankings/company/timeseries \
  --header 'Authorization: Bearer <ACCESS_TOKEN>' \
  --header 'Content-Type: application/json' \
  --data '{ "filter": { "when": { "start": "2019-03", "end": "2019-06", "type": "active" } }, "rank": { "by": "unique_postings", "limit": 5 }, "timeseries": { "metrics": [ "unique_postings" ] } }'

Response Examples

{
  "data": {
    "ranking": {
      "buckets": [
        {
          "name": "1ceab64396ffde137f81",
          "timeseries": {
            "month": [
              "2019-03",
              "2019-04",
              "2019-05",
              "2019-06"
            ],
            "unique_postings": [
              3,
              5,
              1,
              2
            ]
          },
          "unique_postings": 11
        },
        {
          "name": "35ac4f47bcc32d134aa6",
          "timeseries": {
            "month": [
              "2019-03",
              "2019-04",
              "2019-05",
              "2019-06"
            ],
            "unique_postings": [
              1,
              3,
              3,
              2
            ]
          },
          "unique_postings": 9
        },
        {
          "name": "d6ff076c42e0e2b05fd3",
          "timeseries": {
            "month": [
              "2019-03",
              "2019-04",
              "2019-05",
              "2019-06"
            ],
            "unique_postings": [
              4,
              0,
              3,
              2
            ]
          },
          "unique_postings": 9
        },
        {
          "name": "f54720fc83a5af82abf9",
          "timeseries": {
            "month": [
              "2019-03",
              "2019-04",
              "2019-05",
              "2019-06"
            ],
            "unique_postings": [
              0,
              2,
              4,
              2
            ]
          },
          "unique_postings": 8
        },
        {
          "name": "01bec3d5d77363154548",
          "timeseries": {
            "month": [
              "2019-03",
              "2019-04",
              "2019-05",
              "2019-06"
            ],
            "unique_postings": [
              6,
              0,
              1,
              1
            ]
          },
          "unique_postings": 7
        }
      ],
      "facet": "company",
      "limit": 5,
      "rank_by": "unique_postings"
    },
    "totals": {
      "unique_postings": 100
    }
  }
}
// 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}

Group and rank postings by {rankingFacet} with a distribution for each ranked item.

URL Parameters

NameTypeDescription
rankingFacetenum

Example: company

Must be one of: anz_sco_1, anz_sco_1_name, anz_sco_2, anz_sco_2_name, anz_sco_3, anz_sco_3_name, anz_sco_4, anz_sco_4_name, anz_sco_5, anz_sco_5_name, anz_sic_1, anz_sic_1_name, anz_sic_2, anz_sic_2_name, anz_sic_3, anz_sic_3_name, anz_sic_4, anz_sic_4_name, certifications, certifications_name, common_skills, common_skills_name, company, company_name, isco_1, isco_1_name, isco_2, isco_2_name, isco_3, isco_3_name, isco_4, isco_4_name, max_years_experience, min_years_experience, nace_1, nace_1_name, nace_2, nace_2_name, skills, skills_name, skill_categories, skill_categories_name, skill_subcategories, skill_subcategories_name, software_skills, software_skills_name, specialized_skills, specialized_skills_name, laa_country, laa_country_name, laa_admin_area_1, laa_admin_area_1_name, laa_admin_area_2, laa_admin_area_2_name, laa_metro, laa_metro_name, remote_type, remote_type_name, naics2, naics2_name, naics3, naics3_name, naics4, naics4_name, naics5, naics5_name, naics6, naics6_name, employment_type, employment_type_name, contract_type, contract_type_name, min_edulevels, min_edulevels_name, max_edulevels, max_edulevels_name, edulevels, edulevels_name, city, city_name, language, language_name

distributionFacetenum

Example: salary

Must be one of: max_years_experience, min_years_experience, posting_duration, salary

Query Parameters

NameTypeDescription
new_taxonomy_versionsenum

Use new taxonomy versions.
This parameter is optional.

Default: False

Must be one of: false, false

lot_versionenum

Specify LOT taxonomy version to use.
This parameter is optional.
Default: 7

Must be one of: 6, 7

area_versionenum

Specify area taxonomy version to use.
This parameter is optional.
Default: lf_area_2025_1

Must be one of: lf_area_2025_1

area_laa_versionenum

Specify LAA area taxonomy version to use.
This parameter is optional.
Default: 2

Must be one of: 1, 2

datasetenum

Specify dataset to query.
This parameter is optional.

Default: global

Must be one of: global, global_plus

Request Body

{
  "filter": {
    "when": {
      "start": "2020-01",
      "end": "2023-12"
    },
    "laa_country": [
      "US"
    ]
  },
  "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/global-postings/rankings/company/distributions/salary \
  --header 'Authorization: Bearer <ACCESS_TOKEN>' \
  --header 'Content-Type: application/json' \
  --data '{ "filter": { "when": { "start": "2020-01", "end": "2023-12" }, "laa_country": [ "US" ] }, "rank": { "by": "unique_postings", "limit": 2 }, "distribution": { "type": "histogram", "options": { "interval": 100000 }, "metrics": [ "duplicate_postings" ] } }'

Response Examples

{
  "data": {
    "ranking": {
      "buckets": [
        {
          "distribution": {
            "buckets": [
              {
                "duplicate_postings": 13156784,
                "key": 1,
                "value": 0
              },
              {
                "duplicate_postings": 2464553,
                "key": 2,
                "value": 100000
              },
              {
                "duplicate_postings": 187126,
                "key": 3,
                "value": 200000
              },
              {
                "duplicate_postings": 41355,
                "key": 4,
                "value": 300000
              },
              {
                "duplicate_postings": 8025,
                "key": 5,
                "value": 400000
              },
              {
                "duplicate_postings": 2780,
                "key": 6,
                "value": 500000
              }
            ],
            "domain": {
              "max": 500000,
              "min": 15100
            },
            "facet": "salary",
            "interval": 100000,
            "type": "histogram"
          },
          "name": "Unclassified",
          "unique_postings": 18621508
        },
        {
          "distribution": {
            "buckets": [
              {
                "duplicate_postings": 5650866,
                "key": 1,
                "value": 0
              },
              {
                "duplicate_postings": 17838,
                "key": 2,
                "value": 100000
              },
              {
                "duplicate_postings": 1490,
                "key": 3,
                "value": 200000
              },
              {
                "duplicate_postings": 183,
                "key": 4,
                "value": 300000
              },
              {
                "duplicate_postings": 8,
                "key": 5,
                "value": 400000
              },
              {
                "duplicate_postings": 69,
                "key": 6,
                "value": 500000
              }
            ],
            "domain": {
              "max": 500000,
              "min": 17680
            },
            "facet": "salary",
            "interval": 100000,
            "type": "histogram"
          },
          "name": "Amazon",
          "unique_postings": 1257477
        }
      ],
      "facet": "company_name",
      "limit": 2,
      "rank_by": "unique_postings"
    },
    "totals": {
      "unique_postings": 163400492
    }
  }
}
// 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}

Get a nested ranking (e.g. top companies, then top skills per company).

URL Parameters

NameTypeDescription
rankingFacetenum

Example: company

Must be one of: anz_sco_1, anz_sco_1_name, anz_sco_2, anz_sco_2_name, anz_sco_3, anz_sco_3_name, anz_sco_4, anz_sco_4_name, anz_sco_5, anz_sco_5_name, anz_sic_1, anz_sic_1_name, anz_sic_2, anz_sic_2_name, anz_sic_3, anz_sic_3_name, anz_sic_4, anz_sic_4_name, certifications, certifications_name, common_skills, common_skills_name, company, company_name, isco_1, isco_1_name, isco_2, isco_2_name, isco_3, isco_3_name, isco_4, isco_4_name, max_years_experience, min_years_experience, nace_1, nace_1_name, nace_2, nace_2_name, skills, skills_name, skill_categories, skill_categories_name, skill_subcategories, skill_subcategories_name, software_skills, software_skills_name, specialized_skills, specialized_skills_name, laa_country, laa_country_name, laa_admin_area_1, laa_admin_area_1_name, laa_admin_area_2, laa_admin_area_2_name, laa_metro, laa_metro_name, remote_type, remote_type_name, naics2, naics2_name, naics3, naics3_name, naics4, naics4_name, naics5, naics5_name, naics6, naics6_name, employment_type, employment_type_name, contract_type, contract_type_name, min_edulevels, min_edulevels_name, max_edulevels, max_edulevels_name, edulevels, edulevels_name, city, city_name, language, language_name

nestedRankingFacetenum

Example: company

Must be one of: anz_sco_1, anz_sco_1_name, anz_sco_2, anz_sco_2_name, anz_sco_3, anz_sco_3_name, anz_sco_4, anz_sco_4_name, anz_sco_5, anz_sco_5_name, anz_sic_1, anz_sic_1_name, anz_sic_2, anz_sic_2_name, anz_sic_3, anz_sic_3_name, anz_sic_4, anz_sic_4_name, certifications, certifications_name, common_skills, common_skills_name, company, company_name, isco_1, isco_1_name, isco_2, isco_2_name, isco_3, isco_3_name, isco_4, isco_4_name, max_years_experience, min_years_experience, nace_1, nace_1_name, nace_2, nace_2_name, skills, skills_name, skill_categories, skill_categories_name, skill_subcategories, skill_subcategories_name, software_skills, software_skills_name, specialized_skills, specialized_skills_name, laa_country, laa_country_name, laa_admin_area_1, laa_admin_area_1_name, laa_admin_area_2, laa_admin_area_2_name, laa_metro, laa_metro_name, remote_type, remote_type_name, naics2, naics2_name, naics3, naics3_name, naics4, naics4_name, naics5, naics5_name, naics6, naics6_name, employment_type, employment_type_name, contract_type, contract_type_name, min_edulevels, min_edulevels_name, max_edulevels, max_edulevels_name, edulevels, edulevels_name, city, city_name, language, language_name

Query Parameters

NameTypeDescription
new_taxonomy_versionsenum

Use new taxonomy versions.
This parameter is optional.

Default: False

Must be one of: false, false

lot_versionenum

Specify LOT taxonomy version to use.
This parameter is optional.
Default: 7

Must be one of: 6, 7

area_versionenum

Specify area taxonomy version to use.
This parameter is optional.
Default: lf_area_2025_1

Must be one of: lf_area_2025_1

area_laa_versionenum

Specify LAA area taxonomy version to use.
This parameter is optional.
Default: 2

Must be one of: 1, 2

datasetenum

Specify dataset to query.
This parameter is optional.

Default: global

Must be one of: global, global_plus

Request Body

{
  "filter": {
    "when": {
      "start": "2019-03",
      "end": "2019-06",
      "type": "active"
    }
  },
  "rank": {
    "by": "unique_postings",
    "limit": 5,
    "extra_metrics": [
      "median_posting_duration"
    ]
  },
  "nested_rank": {
    "by": "significance",
    "min_unique_postings": 1,
    "limit": 5
  }
}

Code Examples

curl --request POST \
  --url https://api.lightcast.io/global-postings/rankings/company/rankings/company \
  --header 'Authorization: Bearer <ACCESS_TOKEN>' \
  --header 'Content-Type: application/json' \
  --data '{ "filter": { "when": { "start": "2019-03", "end": "2019-06", "type": "active" } }, "rank": { "by": "unique_postings", "limit": 5, "extra_metrics": [ "median_posting_duration" ] }, "nested_rank": { "by": "significance", "min_unique_postings": 1, "limit": 5 } }'

Response Examples

{
  "data": {
    "ranking": {
      "buckets": [
        {
          "median_posting_duration": null,
          "name": "1ceab64396ffde137f81",
          "ranking": {
            "buckets": [
              {
                "name": "1ceab64396ffde137f81",
                "significance": 24.5,
                "unique_postings": 2
              }
            ],
            "facet": "company",
            "limit": 5,
            "rank_by": "significance"
          },
          "unique_postings": 2
        },
        {
          "median_posting_duration": null,
          "name": "35ac4f47bcc32d134aa6",
          "ranking": {
            "buckets": [
              {
                "name": "35ac4f47bcc32d134aa6",
                "significance": 49,
                "unique_postings": 2
              }
            ],
            "facet": "company",
            "limit": 5,
            "rank_by": "significance"
          },
          "unique_postings": 2
        },
        {
          "median_posting_duration": null,
          "name": "d6ff076c42e0e2b05fd3",
          "ranking": {
            "buckets": [
              {
                "name": "d6ff076c42e0e2b05fd3",
                "significance": 49,
                "unique_postings": 2
              }
            ],
            "facet": "company",
            "limit": 5,
            "rank_by": "significance"
          },
          "unique_postings": 2
        },
        {
          "median_posting_duration": null,
          "name": "f54720fc83a5af82abf9",
          "ranking": {
            "buckets": [
              {
                "name": "f54720fc83a5af82abf9",
                "significance": 49,
                "unique_postings": 2
              }
            ],
            "facet": "company",
            "limit": 5,
            "rank_by": "significance"
          },
          "unique_postings": 2
        },
        {
          "median_posting_duration": null,
          "name": "01bec3d5d77363154548",
          "ranking": {
            "buckets": [
              {
                "name": "01bec3d5d77363154548",
                "significance": 50,
                "unique_postings": 1
              }
            ],
            "facet": "company",
            "limit": 5,
            "rank_by": "significance"
          },
          "unique_postings": 1
        }
      ],
      "facet": "company",
      "limit": 5,
      "rank_by": "unique_postings"
    },
    "totals": {
      "median_posting_duration": 3,
      "unique_postings": 100
    }
  }
}
// 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                                                  ^"
    }
  ]
}