Skip to content

// docs

Glassdoor: Search jobs

Extracts job listing (PLP) from Glassdoor with pagination, location and remote support.

glassdoor.com.br:plp · 1 credit per request

Standard credit cost. Your account pricing is shown in the sandbox.

Try this operation in the sandbox

HTTP request

cURL
curl -X POST https://api.geckoapi.com.br/v1/extract \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "target": "glassdoor.com.br",
  "type": "plp",
  "jobTitle": "desenvolvedor backend",
  "location": "Brasil",
  "isRemote": false,
  "page": 2
}'

Keep your API key on your server. See the quickstart for authentication and response handling.

MCP request

The hosted MCP tool fixes target and type for this operation. Its remaining arguments use the same input rules as Extract.

POST /v1/mcp · Bearer or X-API-Key authentication

glassdoor_com_br_plp · tools/call
{
  "jsonrpc": "2.0",
  "id": 3,
  "method": "tools/call",
  "params": {
    "name": "glassdoor_com_br_plp",
    "arguments": {
      "jobTitle": "desenvolvedor backend",
      "location": "Brasil",
      "isRemote": false,
      "page": 2,
      "executionId": "exec_example_123"
    }
  }
}

Supported inputs

Conditional fields depend on the alternatives and constraints in the rule column. Fields marked unsupported are omitted.

FieldTypeRequirementRuleDefaultExample
keyword
Keyword for PLP searches. In Google Search it represents the query sent to Google; in Booking PLP is mandatory; in other PLPs it can replace URL.
string Conditional Can be used as an alternative to jobTitle. - engenheiro de dados
jobTitle
Title/position for job searches (e.g.: Catho and Glassdoor) when URL is not sent.
string Conditional Mandatory when keyword is not sent. - desenvolvedor backend
location
Textual location used in Glassdoor PLP, Hoteis.com PLP, Trivago PLP and Tripadvisor PLP (e.g.: Brazil, Curitiba, Sao Paulo).
string Optional Location text to resolve locId/locType to Glassdoor. - Brasil
isRemote
When true, prioritizes search for remote vacancies in Glassdoor PLP.
boolean Optional When true, prioritizes remote search. - false
target
Target source for extraction.
enum Required Always mandatory in the payload and must match the operation. - glassdoor.com.br
type
Extraction type: pdp, idp, plp, ilp, quote, review or places.
enum Required Always mandatory in the payload and must match the operation. - plp
page
Pagination. In PLP, including Trivago, and in Reclame AQUI ILP starts in 1; in review (MercadoLivre, Booking and Hotels) starts in 0. The Reclame AQUI ILP even accepts the page 100.
integer Optional Listing page (integer >= 1). - 2

Request examples

PLP by jobTitle/location

Search for vacancies by position and location.

PLP by jobTitle/location
{
  "target": "glassdoor.com.br",
  "type": "plp",
  "jobTitle": "desenvolvedor backend",
  "location": "Brasil",
  "isRemote": false,
  "page": 2
}

PLP remote using keyword

Remote search without explicit location, using keyword as an alternative to jobTitle.

PLP remote using keyword
{
  "target": "glassdoor.com.br",
  "type": "plp",
  "keyword": "engenheiro de dados",
  "isRemote": true,
  "page": 1
}

Response schema

Leaf paths and expected types. Field names and enum values are part of the API contract.

responseSchema
{
  "requestId": "string (uuid)",
  "executionId": "string (uuid)",
  "notFound": "boolean (optional; true when the upstream entity was not found and data is null)",
  "data.source": "string",
  "data.type": "string",
  "data.parser": "\"1.0.0\"",
  "data.url": "string",
  "data.requestUrl": "string",
  "data.extractedAt": "string (iso datetime)",
  "data.query.jobTitle": "string",
  "data.query.location": "string",
  "data.query.locationId": "number",
  "data.query.locationType": "string",
  "data.query.locationTypeCode": "string",
  "data.query.isRemote": "boolean",
  "data.query.page": "number",
  "data.searchTrackingKey": "string",
  "data.totalResults": "number",
  "data.primaryResults": "number",
  "data.page": "number",
  "data.resultsPerPage": "number",
  "data.offset": "number",
  "data.nextPage": "number",
  "data.nextPageUrl": "string",
  "data.items[].position": "number",
  "data.items[].listingId": "number",
  "data.items[].title": "string",
  "data.items[].normalizedJobTitle": "string",
  "data.items[].locationName": "string",
  "data.items[].locationType": "string",
  "data.items[].ageInDays": "number",
  "data.items[].easyApply": "boolean",
  "data.items[].sponsoredJob": "boolean",
  "data.items[].payCurrency": "string",
  "data.items[].payPeriod": "string",
  "data.items[].salarySource": "string",
  "data.items[].salaryRange.p10": "number",
  "data.items[].salaryRange.p50": "number",
  "data.items[].salaryRange.p90": "number",
  "data.items[].url": "string",
  "data.items[].applyUrl": "string",
  "data.items[].seoUrl": "string",
  "data.items[].discoverDate": "string",
  "data.items[].descriptionSnippet": "string",
  "data.items[].importConfigId": "number",
  "data.items[].employer.id": "number",
  "data.items[].employer.name": "string",
  "data.items[].employer.shortName": "string",
  "data.items[].employer.rating": "number",
  "data.items[].employer.reviewCount": "number",
  "data.items[].logoUrl": "string"
}

Example response

Illustrative response. Product names, reviews and other source content retain their original language. Missing and null values do not imply zero stock, free shipping or zero reviews.

responseExample
{
  "requestId": "8a6f5a73-e2f8-4982-9db0-1d7fd4f920e1",
  "executionId": "f5039d9d-5e2e-4eac-b7fd-3256a6cb0f6d",
  "data": {
    "source": "glassdoor.com.br",
    "type": "jlp",
    "parser": "1.0.0",
    "url": "https://www.glassdoor.com.br/Vaga/jobs.htm?sc.keyword=desenvolvedor+backend&locT=N&locId=36",
    "requestUrl": "https://www.glassdoor.com.br/Vaga/jobs.htm?sc.keyword=desenvolvedor+backend&locT=N&locId=36",
    "extractedAt": "2026-02-28T20:10:00.000Z",
    "query": {
      "jobTitle": "desenvolvedor backend",
      "location": "Brasil",
      "locationId": 36,
      "locationType": "COUNTRY",
      "locationTypeCode": "N",
      "isRemote": false,
      "page": 2
    },
    "searchTrackingKey": "tracking-key-123",
    "totalResults": 630,
    "primaryResults": 30,
    "page": 2,
    "resultsPerPage": 30,
    "offset": 30,
    "nextPage": 3,
    "nextPageUrl": "https://www.glassdoor.com.br/Vaga/jobs.htm?sc.keyword=desenvolvedor+backend&locT=N&locId=36&p=3",
    "items": [
      {
        "position": 31,
        "listingId": 1009999255417,
        "title": "Desenvolvedor Full Stack Júnior",
        "normalizedJobTitle": "Desenvolvedor Full Stack",
        "locationName": "Trabalho remoto",
        "locationType": "S",
        "ageInDays": 8,
        "easyApply": true,
        "sponsoredJob": false,
        "payCurrency": "BRL",
        "payPeriod": "MONTHLY",
        "salarySource": "EMPLOYER_PROVIDED",
        "salaryRange": {
          "p10": 9000,
          "p50": 12000,
          "p90": 15000
        },
        "url": "https://www.glassdoor.com.br/partner/jobListing.htm?jobListingId=1009999255417",
        "applyUrl": "https://www.glassdoor.com.br/partner/jobListing.htm?tgt=APPLY_START&jobListingId=1009999255417",
        "seoUrl": "https://www.glassdoor.com.br/job-listing/desenvolvedor-full-stack-j%C3%BAnior-comerc-energia-JV_IC2479061_KO0,31_KE32,46.htm?jl=1009999255417",
        "discoverDate": "2026-02-03T00:00:00.000Z",
        "descriptionSnippet": "Atuacao com Python e arquitetura de servicos em nuvem.",
        "importConfigId": 322429,
        "employer": {
          "id": 2759194,
          "name": "Comerc Energia",
          "shortName": "Comerc Energia",
          "rating": 2.6,
          "reviewCount": 198
        },
        "logoUrl": "https://media.example.com/jeitto-square.png"
      }
    ]
  }
}

Complete field reference

PathTypeDescriptionExample
data.extractedAt string (iso datetime) Extraction date/time ISO. 2026-02-28T20:10:00.000Z
data.items[].ageInDays number Vacancy age in days. 8
data.items[].applyUrl string URL application when available. https://www.glassdoor.com.br/partner/jobListing.htm?tgt=APPLY_START&jobListingId=1009999255417
data.items[].descriptionSnippet string Summary excerpt from the job description. Atuacao com Python e arquitetura de servicos em nuvem.
data.items[].discoverDate string Date of discovery/publication of the vacancy. 2026-02-03T00:00:00.000Z
data.items[].easyApply boolean Indicates whether quick application is allowed. true
data.items[].employer.id number Employer identifier. 2759194
data.items[].employer.name string Employer name. Comerc Energia
data.items[].employer.rating number Note from employer. 2.6
data.items[].employer.reviewCount number Number of employer reviews. 198
data.items[].employer.shortName string Employer short name. Comerc Energia
data.items[].importConfigId number Internal import configuration identifier. 322429
data.items[].listingId number Identifier of the vacancy in Glassdoor. 1009999255417
data.items[].locationName string Textual name of the vacancy location. Trabalho remoto
data.items[].locationType string Type of vacancy location. S
data.items[].logoUrl string URL of the employer's logo. https://media.example.com/jeitto-square.png
data.items[].normalizedJobTitle string Standard job title. Desenvolvedor Full Stack
data.items[].payCurrency string Salary currency. BRL
data.items[].payPeriod string Payment period (e.g. MONTHLY). MONTHLY
data.items[].position number Absolute position of the item within the search. 31
data.items[].salaryRange.p10 number Bottom percentile of salary range. 9000
data.items[].salaryRange.p50 number Median percentile of salary range. 12000
data.items[].salaryRange.p90 number Top percentile of salary range. 15000
data.items[].salarySource string Source of salary information. EMPLOYER_PROVIDED
data.items[].seoUrl string URL SEO publishes the vacancy. https://www.glassdoor.com.br/job-listing/desenvolvedor-full-stack-j%C3%BAnior-comerc-energia-JV_IC2479061_KO0,31_KE32,46.htm?jl=1009999255417
data.items[].sponsoredJob boolean Indicates whether the vacancy is sponsored. false
data.items[].title string Job title. Desenvolvedor Full Stack Júnior
data.items[].url string URL main item/spot. https://www.glassdoor.com.br/partner/jobListing.htm?jobListingId=1009999255417
data.nextPage number Next page number when available. 3
data.nextPageUrl string URL preview for the next page. https://www.glassdoor.com.br/Vaga/jobs.htm?sc.keyword=desenvolvedor+backend&locT=N&locId=36&p=3
data.offset number Calculated offset for paging. 30
data.page number Current page. 2
data.parser "1.0.0" Stable version of the API response format. 1.0.0
data.primaryResults number Number of items returned on the current page. 30
data.query.isRemote boolean Indicates whether the search was marked as remote. false
data.query.jobTitle string Position used in the search. desenvolvedor backend
data.query.location string Resolved location for the search. Brasil
data.query.locationId number Internal location identifier in Glassdoor. 36
data.query.locationType string Location type in BFF (COUNTRY, STATE, CITY). COUNTRY
data.query.locationTypeCode string Summary location code (N, S, C). N
data.query.page number Page requested. 2
data.requestUrl string Same value as `data.url`; never exposes the queried internal endpoint. https://www.glassdoor.com.br/Vaga/jobs.htm?sc.keyword=desenvolvedor+backend&locT=N&locId=36
data.resultsPerPage number Number of results per page. 30
data.searchTrackingKey string Search trace key returned by Glassdoor. tracking-key-123
data.source string Source of extracted data. glassdoor.com.br
data.totalResults number Total vacancies found for the filter. 630
data.type string Normal return type for job listing. jlp
data.url string URL end of search considered for extraction. https://www.glassdoor.com.br/Vaga/jobs.htm?sc.keyword=desenvolvedor+backend&locT=N&locId=36
executionId string (uuid) Field executionId returned in the response payload. f5039d9d-5e2e-4eac-b7fd-3256a6cb0f6d
notFound boolean (optional; true when the upstream entity was not found and data is null) Present and true when the upstream entity was not found. In this case data is null and the request still completes successfully. N/A
requestId string (uuid) Field requestId returned in the response payload. 8a6f5a73-e2f8-4982-9db0-1d7fd4f920e1

Errors and missing data

When supported by this operation, an entity not found upstream can return HTTP 200 with data: null and notFound: true. Check the documented response fields before interpreting an empty result. Source-specific behavior and exceptions are described above.

HTTP statusError codeMeaning
400INVALID_PAYLOADInvalid JSON or a request that violates the documented validation rules.
401UNAUTHORIZEDMissing authorization or an invalid API key or token.
402INSUFFICIENT_CREDITSThe account has insufficient credits for this operation.
403FORBIDDENThe account does not have access, or the API is temporarily disabled.
409EXECUTION_CONFLICTThe execution identifier conflicts with an incompatible execution state.
429RATE_LIMIT_EXCEEDED / TOO_MANY_INFLIGHT_REQUESTSA rate limit or simultaneous request limit was exceeded.
5xxUPSTREAM_TIMEOUT / UPSTREAM_HTTP_ERROR / WORKER_FUNCTION_ERRORAn upstream, worker or gateway failure. Failed requests follow the platform refund policy.

Other Glassdoor operations