{"id":"195e779a-a582-44f9-a8a3-ad201521f342","slug":"glassdoor-com-api","name":"glassdoor.com API","description":"glassdoor.com API","front_facing_description":"Access data from glassdoor.com.","source_url":"https://www.glassdoor.com/Job/","is_authenticated":false,"canonical_scraper_id":"f4f34fc3-2298-4057-b2c0-35f749ea7ca9","apis":[{"method":"GET","endpoint_name":"search_jobs","description":"Searches Glassdoor job listings for a keyword in a location and returns one page of listing summaries (title, employer, location, posting age, pay estimate with its source, skills, snippet, link). The free-text location is resolved to the first matching Glassdoor city, state or country; when it matches nothing the result is an empty page with location null. Pagination is cursor-based and forward-only through the site's own cursors: page 1 needs no cursor; to fetch a later page pass page_number together with the matching cursor from the previous response (next_page_cursor/next_page_number for the immediate next page, or any entry of pagination_cursors). A page_number above 1 without page_cursor is rejected. page_size is clamped to 1-50 (site default 30). total_jobs_count is the count the site reports for the search; for some filtered searches the site returns fewer listings than that count and no further cursors, so treat next_page_cursor null as the end of accessible results. Each call makes two upstream requests (location lookup plus search). A nonexistent keyword yields total_jobs_count 0 and an empty jobs array.","input_params":{"keyword":{"type":"string","required":true,"description":"Job title or search phrase, e.g. one shape: software engineer.","domain":{"kind":"open","example":"software engineer","generator":{"type":"static","value":"software engineer"}}},"job_type":{"type":"string","required":false,"description":"Employment type filter. Omitted = all types.","enum":"JobType","closed":true,"domain":{"kind":"enum","exhaustive":true,"source_selector":"Job type filter"}},"location":{"type":"string","required":false,"description":"Free-text city, state or country as typed on the site (e.g. one shape: New York, NY). The first Glassdoor match is used; the resolved place is echoed in the response location object.","default":"United States","domain":{"kind":"open","example":"New York, NY","generator":{"type":"static","value":"New York, NY"}}},"page_size":{"type":"integer","required":false,"description":"Listings per page; clamped to 1-50.","default":30},"min_rating":{"type":"string","required":false,"description":"Minimum employer overall rating. Omitted = any rating.","enum":"MinRating","closed":true,"domain":{"kind":"enum","exhaustive":true,"source_selector":"Company rating filter"}},"days_posted":{"type":"string","required":false,"description":"Only listings posted within this many days. Omitted = any time.","enum":"DaysPosted","closed":true,"domain":{"kind":"enum","exhaustive":true,"source_selector":"Date posted filter"}},"page_cursor":{"type":"string","required":false,"description":"Opaque continuation cursor for page_number, copied unchanged from next_page_cursor or pagination_cursors[*].cursor of a previous response with the same search inputs."},"page_number":{"type":"integer","required":false,"description":"Result page to return. Values above 1 require page_cursor.","default":1},"remote_only":{"type":"boolean","required":false,"description":"true restricts results to remote / work-from-home listings.","default":false},"radius_miles":{"type":"string","required":false,"description":"Search radius around the location in miles. Omitted = site default (25).","enum":"RadiusMiles","closed":true,"domain":{"kind":"enum","exhaustive":true,"source_selector":"Distance filter"}},"easy_apply_only":{"type":"boolean","required":false,"description":"true restricts results to listings with Glassdoor Easy Apply.","default":false}},"return_schema":{"type":"object","fields":{"jobs":"array of listing summaries: job_listing_id (string, input for get_job_details), title, employer_name, employer_id (string or null), employer_rating (number or null), location, age_in_days (integer), easy_apply, is_sponsored, pay_currency, pay_period (ANNUAL|HOURLY or null), pay_estimate ({p10,p50,p90} numbers or null), salary_source (EMPLOYER_PROVIDED|ESTIMATED or null), description_snippet, skills (array of strings), normalized_title, job_url, logo_url (or null)","keyword":"echo of the searched keyword","location":"resolved place: location_id, name, long_name, type (CITY|STATE|COUNTRY), country; null when the location text matched nothing","page_size":"integer effective page size after clamping","page_number":"integer page returned","next_page_cursor":"opaque cursor for next_page_number, or null","next_page_number":"integer page number of the next page, or null when no continuation is offered","total_jobs_count":"integer count the site reports for the search (may exceed the accessible listings)","pagination_cursors":"array of {page_number, cursor} continuations the site offers from this page"},"sample":{"data":{"jobs":[{"title":"Member of Technical Staff (Software Engineer, Computer Growth)","skills":["Android","SQL","Python"],"job_url":"https://www.glassdoor.com/job-listing/member-of-technical-staff-software-engineer-computer-growth-perplexity-ai-JV_IC1132348_KO0,59_KE60,73.htm?jl=1010158130702","location":"New York, NY","logo_url":"https://media.glassdoor.com/sql/8515634/perplexity-ai-squareLogo-1706133200580.png","easy_apply":false,"pay_period":"ANNUAL","age_in_days":111,"employer_id":"8515634","is_sponsored":false,"pay_currency":"USD","pay_estimate":{"p10":220000.0,"p50":312500.0,"p90":405000.0},"employer_name":"Perplexity AI","salary_source":"EMPLOYER_PROVIDED","job_listing_id":"1010158130702","employer_rating":4.6,"normalized_title":"software engineer","description_snippet":"Design, build, and own growth surfaces across the full funnel…"}],"keyword":"software engineer","location":{"name":"New York, NY","type":"CITY","country":"United States","long_name":"New York, NY (US)","location_id":"1132348"},"page_size":30,"page_number":1,"next_page_cursor":"AB4AAYEAHgAAAAAAAAAAAAAAAmRPGCgASAEBAQhMoeO+8zPXht6riRw/uFhaSyszpUhWy0KFoPCAbY97Gd2Eixi9HYGT/fyN+lGg/zCJj7imM2A8bHxkzfkG2ZLLJgB7bAAA","next_page_number":2,"total_jobs_count":3571,"pagination_cursors":[{"cursor":"AB4AAYEAHgAAAAAAAAAAAAAAAmRPGCgASAEBAQhMoeO+8zPXht6riRw/uFhaSyszpUhWy0KFoPCAbY97Gd2Eixi9HYGT/fyN+lGg/zCJj7imM2A8bHxkzfkG2ZLLJgB7bAAA","page_number":2}]},"status":"success"}},"initiates_session":false,"price":3,"verification":{"assertions":[{"path":"$.status","op":"equals","value":"success"},{"path":"$.data.total_jobs_count","op":"type_is","value":"number"},{"path":"$.data.jobs","op":"array_min_len","value":1},{"path":"$.data.jobs[*]","op":"field_present","value":"job_listing_id"},{"path":"$.data.jobs[*]","op":"field_present","value":"title"}],"empty_is_valid":false,"recipe_version":1}},{"method":"GET","endpoint_name":"get_job_details","description":"Returns the full record for one job listing: HTML description, location with coordinates, posting age and discovery date, job types, pay estimate with its source, extracted skills / experience / education, and an employer block (size, headquarters, industry, sector, type, revenue, website, founding year, sub-ratings, review count). One upstream request per call. Optional fields are null or empty arrays when the site does not provide them. For an unknown or removed listing id the site itself fails with a server error, which is passed through as an upstream error (HTTP 502) rather than a not-found.","input_params":{"job_listing_id":{"type":"string","required":true,"description":"Numeric listing id string exactly as emitted in search_jobs.jobs[*].job_listing_id.","domain":{"kind":"derived","generator":{"path":"$.data.jobs[*].job_listing_id","type":"derived","from_endpoint":"search_jobs"}}}},"return_schema":{"type":"object","fields":{"title":"listing title","skills":"array of extracted skill labels","expired":"boolean","job_url":"public listing URL","employer":"object: employer_id (string or null), name, short_name, rating, size, logo_url, headquarters, industry, sector, type, revenue, website, year_founded, ratings (sub-rating object), review_count","location":"location display name","education":"array of extracted education labels","job_types":"array of employment-type labels","easy_apply":"boolean","pay_period":"ANNUAL|HOURLY or null","age_in_days":"integer days since posting","coordinates":"{lat, lng} numbers or null","location_id":"string Glassdoor location id or null","is_sponsored":"boolean","pay_currency":"ISO currency code","pay_estimate":"{p10,p50,p90} numbers or null","discover_date":"ISO datetime the site first saw the listing","salary_source":"EMPLOYER_PROVIDED|ESTIMATED or null","job_listing_id":"string listing id","description_html":"full job description as HTML","normalized_title":"site-normalised occupation title","remote_work_types":"site remote-work labels or null","years_of_experience":"array of extracted experience labels"},"sample":{"data":{"title":"Member of Technical Staff (Software Engineer, Computer Growth)","skills":["Android","SQL","AWS","SEO","Swift","SaaS","TypeScript","Python"],"expired":false,"job_url":"https://www.glassdoor.com/job-listing/member-of-technical-staff-software-engineer-computer-growth-perplexity-ai-JV_IC1132348_KO0,59_KE60,73.htm?jl=1010158130702","employer":{"name":"Perplexity AI","size":"201 to 500 Employees","type":"Company - Private","rating":4.6,"sector":"Information Technology","ratings":{"ceoRating":0.92,"overallRating":4.6,"ceoRatingsCount":34,"workLifeBalanceRating":3.9,"cultureAndValuesRating":4.6,"seniorManagementRating":4.5,"recommendToFriendRating":0.89,"careerOpportunitiesRating":4.8,"compensationAndBenefitsRating":4.9},"revenue":"$100 to $500 million (USD)","website":"https://www.perplexity.ai/","industry":"Internet & Web Services","logo_url":"https://media.glassdoor.com/sql/8515634/perplexity-ai-squareLogo-1706133200580.png","short_name":"Perplexity AI","employer_id":"8515634","headquarters":"San Francisco, CA","review_count":43,"year_founded":2021},"location":"New York, NY","education":[],"job_types":["Full-time"],"easy_apply":false,"pay_period":"ANNUAL","age_in_days":111,"coordinates":{"lat":40.71417,"lng":-74.00639},"location_id":"1132348","is_sponsored":true,"pay_currency":"USD","pay_estimate":{"p10":220000,"p50":312500,"p90":405000},"discover_date":"2026-09-04T00:00:00","salary_source":"EMPLOYER_PROVIDED","job_listing_id":"1010158130702","description_html":"<div><p>In 2026, we launched Computer…</p></div>","normalized_title":"software engineer","remote_work_types":null,"years_of_experience":["2"]},"status":"success"}},"initiates_session":false,"price":2,"verification":{"assertions":[{"path":"$.status","op":"equals","value":"success"},{"path":"$.data.job_listing_id","op":"not_null"},{"path":"$.data.title","op":"not_null"},{"path":"$.data.description_html","op":"not_null"},{"path":"$.data.employer","op":"type_is","value":"object"}],"empty_is_valid":false,"recipe_version":1}}],"sample_inputs":{"search_jobs":{"keyword":"software engineer","page_size":"5","remote_only":"true"},"get_job_details":{"job_listing_id":"1010095351096"}},"prefill_inputs":{"search_jobs":{"keyword":"software engineer","location":"New York, NY"}},"last_verified_at":"2026-10-29T22:00:26.052344+00:00","endpoint_health":[{"endpoint_name":"get_job_details","status":"healthy","last_checked_at":"2026-10-29T22:00:26.052344+00:00","last_verified_at":"2026-10-29T22:00:26.052344+00:00","recent_runs":[{"at":"2026-10-29T22:00:26.052344+00:00","status":"healthy"},{"at":"2026-10-22T19:04:25.738171+00:00","status":"healthy"},{"at":"2026-10-15T13:03:52.943855+00:00","status":"healthy"},{"at":"2026-10-08T12:02:25.246145+00:00","status":"healthy"},{"at":"2026-10-01T11:00:59.996921+00:00","status":"healthy"}]},{"endpoint_name":"search_jobs","status":"healthy","last_checked_at":"2026-10-29T22:00:26.052344+00:00","last_verified_at":"2026-10-29T22:00:26.052344+00:00","recent_runs":[{"at":"2026-10-29T22:00:26.052344+00:00","status":"healthy"},{"at":"2026-10-22T19:04:25.738171+00:00","status":"healthy"},{"at":"2026-10-15T13:03:52.943855+00:00","status":"healthy"},{"at":"2026-10-08T12:02:25.246145+00:00","status":"healthy"},{"at":"2026-10-01T11:00:59.996921+00:00","status":"healthy"}]}],"sdk_usage_example":{"code":"\"\"\"Walkthrough: Glassdoor Jobs SDK — search listings, drill into details.\"\"\"\nfrom parse_apis.glassdoor_com_api import Glassdoor, DaysPosted, JobType, UpstreamError\n\nclient = Glassdoor()\n\n# Search for recent full-time software engineer jobs, capped at 5 results.\nfor summary in client.job_summaries.search(\n    keyword=\"software engineer\",\n    job_type=JobType.FULL_TIME,\n    days_posted=DaysPosted.LAST_WEEK,\n    limit=5,\n):\n    pay = f\"${summary.pay_estimate.p50:,.0f}/{summary.pay_period}\" if summary.pay_estimate and summary.pay_period else \"n/a\"\n    print(f\"{summary.title} @ {summary.employer_name} — {summary.location} ({pay})\")\n\n# Drill into the first hit for the full description and employer info.\nhit = client.job_summaries.search(\n    keyword=\"data scientist\",\n    remote_only=True,\n    limit=1,\n).first()\n\nif hit is not None:\n  try:\n    job = hit.details()\n    print(f\"\\n{job.title}\")\n    print(f\"  Location : {job.location}\")\n    print(f\"  Expired  : {job.expired}\")\n    print(f\"  Skills   : {', '.join(job.skills[:5])}\")\n    if job.employer and job.employer.name:\n        emp = job.employer\n        print(f\"  Employer : {emp.name} ({emp.size}) — rating {emp.rating}\")\n        if emp.ratings.overall_rating is not None:\n            print(f\"  Culture  : {emp.ratings.culture_and_values_rating}\")\n  except UpstreamError as e:\n    # Unknown or removed listing ids cause a site-level server error.\n    print(f\"Could not fetch details: {e.message}\")\n\nprint(\"\\nexercised: job_summaries.search / details / jobs.get (via details)\")\n","endpoints":["search_jobs","get_job_details"],"has_session":false,"shape":"parse_sdk","hover_map":[{"line":7,"col":4,"len":7,"label":"summary: JobSummary","kind":"variable"},{"line":17,"col":0,"len":3,"label":"hit: JobSummary","kind":"variable"},{"line":4,"col":9,"len":9,"label":"Glassdoor — API client","kind":"class"},{"line":7,"col":36,"len":6,"label":"search() → List[JobSummary]","kind":"method"},{"line":23,"col":3,"len":3,"label":"hit: JobSummary","kind":"variable"},{"line":9,"col":21,"len":9,"label":"JobType.FULL_TIME","kind":"enum-member"},{"line":10,"col":27,"len":9,"label":"DaysPosted.LAST_WEEK","kind":"enum-member"},{"line":25,"col":4,"len":3,"label":"job: Job","kind":"variable"},{"line":9,"col":13,"len":7,"label":"JobType — enum: CONTRACT, FULL_TIME, PART_TIME, TEMPORARY","kind":"enum"},{"line":10,"col":16,"len":10,"label":"DaysPosted — enum: LAST_24_HOURS, LAST_2_WEEKS, LAST_3_DAYS, LAST_MONTH, LAST_WEEK","kind":"enum"},{"line":13,"col":78,"len":12,"label":"pay_estimate: Optional[PayEstimate]","kind":"field"},{"line":13,"col":103,"len":10,"label":"pay_period: Optional[str]","kind":"field"},{"line":17,"col":27,"len":6,"label":"search() → List[JobSummary]","kind":"method"},{"line":25,"col":14,"len":7,"label":"details() → Job","kind":"method"},{"line":30,"col":11,"len":8,"label":"employer: Optional[Employer]","kind":"field"},{"line":30,"col":37,"len":4,"label":"name: Optional[str]","kind":"field"},{"line":31,"col":8,"len":3,"label":"emp: Employer","kind":"variable"},{"line":31,"col":18,"len":8,"label":"employer: Optional[Employer]","kind":"field"},{"line":13,"col":70,"len":7,"label":"summary: JobSummary","kind":"variable"},{"line":13,"col":95,"len":7,"label":"summary: JobSummary","kind":"variable"},{"line":13,"col":35,"len":3,"label":"p50: float","kind":"field"},{"line":13,"col":54,"len":10,"label":"pay_period: Optional[str]","kind":"field"},{"line":14,"col":21,"len":5,"label":"title: str","kind":"field"},{"line":14,"col":39,"len":13,"label":"employer_name: str","kind":"field"},{"line":14,"col":67,"len":8,"label":"location: str","kind":"field"},{"line":25,"col":10,"len":3,"label":"hit: JobSummary","kind":"variable"},{"line":30,"col":7,"len":3,"label":"job: Job","kind":"variable"},{"line":30,"col":28,"len":8,"label":"employer: Optional[Employer]","kind":"field"},{"line":31,"col":14,"len":3,"label":"job: Job","kind":"variable"},{"line":33,"col":23,"len":14,"label":"overall_rating: Optional[float]","kind":"field"},{"line":13,"col":22,"len":12,"label":"pay_estimate: Optional[PayEstimate]","kind":"field"},{"line":13,"col":46,"len":7,"label":"summary: JobSummary","kind":"variable"},{"line":14,"col":13,"len":7,"label":"summary: JobSummary","kind":"variable"},{"line":14,"col":31,"len":7,"label":"summary: JobSummary","kind":"variable"},{"line":14,"col":59,"len":7,"label":"summary: JobSummary","kind":"variable"},{"line":26,"col":19,"len":5,"label":"title: str","kind":"field"},{"line":27,"col":30,"len":8,"label":"location: str","kind":"field"},{"line":28,"col":30,"len":7,"label":"expired: bool","kind":"field"},{"line":30,"col":24,"len":3,"label":"job: Job","kind":"variable"},{"line":33,"col":15,"len":7,"label":"ratings: EmployerRatings","kind":"field"},{"line":13,"col":14,"len":7,"label":"summary: JobSummary","kind":"variable"},{"line":26,"col":15,"len":3,"label":"job: Job","kind":"variable"},{"line":27,"col":26,"len":3,"label":"job: Job","kind":"variable"},{"line":28,"col":26,"len":3,"label":"job: Job","kind":"variable"},{"line":32,"col":34,"len":4,"label":"name: Optional[str]","kind":"field"},{"line":32,"col":46,"len":4,"label":"size: Optional[str]","kind":"field"},{"line":32,"col":69,"len":6,"label":"rating: Optional[float]","kind":"field"},{"line":33,"col":11,"len":3,"label":"emp: Employer","kind":"variable"},{"line":29,"col":40,"len":6,"label":"skills: List[str]","kind":"field"},{"line":32,"col":30,"len":3,"label":"emp: Employer","kind":"variable"},{"line":32,"col":42,"len":3,"label":"emp: Employer","kind":"variable"},{"line":32,"col":65,"len":3,"label":"emp: Employer","kind":"variable"},{"line":34,"col":46,"len":25,"label":"culture_and_values_rating: Optional[float]","kind":"field"},{"line":29,"col":36,"len":3,"label":"job: Job","kind":"variable"},{"line":34,"col":38,"len":7,"label":"ratings: EmployerRatings","kind":"field"},{"line":34,"col":34,"len":3,"label":"emp: Employer","kind":"variable"}]},"sdk_delivery_state":"available","summary":"Search Glassdoor job listings by keyword and location with posting-age, job-type, rating, radius, remote and Easy Apply filters, paginate by cursor, and fetch full details for one job listing.","updated_at":"2026-09-24T10:06:17.344654+00:00","user_variants":[],"latest_version":1,"user_status":null,"user_scraper_id":null,"contributes_to_marketplace":true,"pinned_version":null,"seo_content":{"faqs":[{"a":"Glassdoor previously offered a public partner API, but it has been retired and is no longer accepting new registrations. No official developer API is currently available for job listing data.","q":"Does Glassdoor have an official developer API?"},{"a":"Glassdoor resolves the free-text `location` input to the first matching place in its index and returns a `location` object with `location_id`, `name`, `long_name`, `type` (CITY, STATE, or COUNTRY), and `country`. If the input text matches nothing, the `location` field comes back as null and the search proceeds without a geographic filter.","q":"What does the `location` object in `search_jobs` tell me, and what happens if my location string doesn't match?"},{"a":"Each response includes a `next_page_cursor` and a `pagination_cursors` array. To fetch page 2 or beyond, pass the cursor from the previous response as `page_cursor` along with the target `page_number`. The `total_jobs_count` reflects the count Glassdoor reports for the query, but the actual number of pages you can navigate may be lower — Glassdoor limits deep pagination on its own site.","q":"How does cursor-based pagination work, and why might `total_jobs_count` be misleading?"},{"a":"Not currently. The API covers job listing search via `search_jobs` and per-listing details via `get_job_details`, including employer metadata like rating, industry, and revenue. Company reviews, interview questions, and standalone salary reports are not included. You can fork this API on Parse and revise it to add an endpoint targeting that data.","q":"Does the API return company reviews, interview data, or salary reports from Glassdoor?"},{"a":"Yes. The `get_job_details` endpoint returns a `description` field containing the full job description as HTML. The `search_jobs` endpoint returns only a short text `snippet` per listing, not the full description.","q":"Is the full job description text available, and in what format?"}],"keywords":["glassdoor job listings API","glassdoor job search API","glassdoor salary data API","glassdoor employer rating API","job postings API by keyword and location","glassdoor easy apply filter API","glassdoor remote jobs API","job skills extraction API","glassdoor pay estimate API","glassdoor job details endpoint","job listing cursor pagination API","glassdoor company info API","glassdoor job board scraper API","job type filter API glassdoor","glassdoor hiring data API"],"use_cases":["Aggregate job postings by keyword and location to track hiring demand across cities or regions using `search_jobs`.","Build a salary intelligence tool using the `pay_period` and pay estimate fields returned by `get_job_details`.","Filter listings to only remote or Easy Apply jobs and surface them in a specialized job board using `easy_apply` and job-type filters.","Track employer hiring activity over time by querying `search_jobs` with `days_posted` and monitoring `employer_id` frequency.","Extract required skills and education from job descriptions using the `skills` and `education` arrays in `get_job_details`.","Monitor how long a specific listing has been active by comparing `posting_age` and `discovery_date` from the detail endpoint.","Enrich a company profile with live job count and employer metadata (industry, sector, revenue, headquarters) from the `employer` object."],"meta_title":"Glassdoor Jobs API – Search & Details","generated_at":"2026-09-24T10:07:37.746947+00:00","lead_paragraph":"The Glassdoor API covers job listing data across two endpoints: `search_jobs` and `get_job_details`. Search returns up to 50 listing summaries per page — including job title, employer name, pay estimate with source, extracted skills, and posting age — filtered by job type, employer rating, remote options, and days posted. The detail endpoint returns the full record for a single listing, including an HTML job description, employer profile fields, location coordinates, and education or experience requirements.","schema_version":2,"meta_description":"Search Glassdoor job listings by keyword, location, and filters. Get full job details including pay estimates, skills, employer info, and more.","primary_category":"jobs","long_description_md":"## Search Endpoint\n\nThe `search_jobs` endpoint accepts a `keyword` string and an optional free-text `location` (e.g. `New York, NY` or `Germany`). Glassdoor resolves the location text to its first matching place, returning a `location` object with `location_id`, `name`, `long_name`, `type` (CITY, STATE, or COUNTRY), and `country`. Results come back as an array of job summaries under `jobs`, each carrying a `job_listing_id` you pass to the detail endpoint, plus `title`, `employer_name`, `employer_id`, a pay estimate with its stated source, a text `snippet`, extracted `skills`, and a direct `job_url`.\n\n## Filters and Pagination\n\nYou can narrow results with `job_type` (employment type), `days_posted` (age cap in days), `min_rating` (minimum employer overall star rating), and `page_size` (1–50, clamped). Pagination uses an opaque cursor: the response includes `next_page_cursor`, `next_page_number`, and a `pagination_cursors` array of `{page_number, cursor}` pairs. Pages beyond the first require the `page_cursor` copied from the previous response. The `total_jobs_count` field reflects the count Glassdoor reports for the query, which may exceed the number of listings actually accessible through pagination.\n\n## Job Detail Endpoint\n\n`get_job_details` takes a `job_listing_id` from a search result and returns the full listing record. Key fields include an HTML `description`, `job_types` array, `pay_period` (ANNUAL, HOURLY, or null), `easy_apply` boolean, `expired` boolean, `location` display name, and arrays for `skills`, `education`, and experience labels. The `employer` object adds `size`, `headquarters`, `industry`, `sector`, `type`, `revenue`, `rating`, `logo_url`, and `website` — data not present in search summaries.","generated_with_model":"global.anthropic.claude-sonnet-4-6","secondary_categories":["b2b_directory","reviews_ratings"]},"primary_category":"jobs","secondary_categories":["b2b_directory","reviews_ratings"],"access_requirements":[]}