AS
Apify Store
/memo23/glassdoor-scraper-ppr
Glassdoor Reviews & Jobs · No 200-Cap · AI Employer Intel
Glassdoor scraper that survives the anti-bot wall — no 200-review cap: full reviews with sub-ratings, pros/cons, employer replies, plus jobs, salaries & interviews. New AI Employer Intelligence: per-e
liveasyncunknown~30s typical
lead generationagentsmcp serversglassdoorppr
$0.0059
per result + $0.005 call
plus $0.001 platform fee per run
Actor charges $0.00475 per result; Cracked adds 25% plus a $0.005 call fee
Bring your own Apify Store key: provider portion drops to $0.
$Set up https://cracked-ai-pearl.vercel.app/SKILL.md, then use Cracked to run apify /memo23/glassdoor-scraper-ppr for me.
Input
| Field | Type | Description |
|---|---|---|
| startUrls | array | URLs to start with. Glassdoor company-page URLs from any tab (Reviews, Jobs, Salaries, Interviews, Overview) and any country's Glassdoor domain, e.g. https://www.glassdoor.com/Reviews/Google-Reviews-E9079.htm. The 'command' field selects which dataset is scraped from them. |
| command | string (reviews | interviews | locations | salaries | jobs | overview) | Choose which data to scrape (reviews or interviews or locations or salaries or jobs) for the links(s) you provided. Also supports 'overview' (company profile), 'benefits' and 'culture' (diversity ratings). Default: reviews. default "reviews" |
| searchJobsByKeyword | boolean | Turn this ON to run a keyword/location/filter job search using the fields below. When OFF, these fields are ignored and the actor uses the Start URLs / command above. default false |
| searchKeyword | string | Job title or keyword to search for (e.g. "Software Developer", "Registered Nurse"). Requires the toggle above to be ON. |
| searchLocation | string | City, state, or country to search in (e.g. "New York", "United States", "London"). Optional — omit for a nationwide/global search. |
| sortBy | string (relevant_desc | date_desc) | Order of the returned jobs. default "relevant_desc" |
| matchKeywordInTitle | boolean | Glassdoor matches your keyword anywhere in a posting (title, description, department names), so a search like "dean" also returns professor or teacher roles that merely mention a dean. Turn this ON to keep only jobs whose TITLE contains the keyword. Applies to keyword job searches (URL or field based); ignored when there is no keyword. default false |
| maxDaysOld | string (any | 1 | 3 | 7 | 14 | 30) | Only return jobs posted within this many days. default "any" |
| remoteWorkType | string (any | 1 | 2 | 3) | Filter by remote / hybrid / on-site. default "any" |
| applicationType | string (any | 1) | Restrict to Glassdoor Easy Apply jobs. default "any" |
| jobType | string (any | CF3CP | 5QWDV | 75GKK | NJXCK | T9BXE) | Filter jobs by employment type. default "any" |
| minSalary | string | Only return jobs with an estimated salary at or above this amount (e.g. "80000"). Annual, in the location's currency. |
| maxSalary | string | Only return jobs with an estimated salary at or below this amount (e.g. "150000"). |
| minRating | string (any | 1 | 2 | 3 | 4) | Only return jobs at companies with at least this Glassdoor rating. default "any" |
| employerSize | string (any | 1 | 2 | 3 | 4 | 5) | Filter jobs by employer size band. default "any" |
| radius | string (any | 10 | 20 | 30 | 50 | 100) | Distance around the search location to include. default "any" |
| industryNid | string (any | 10002 | 10019 | 10010 | 10012 | 10026) | Filter jobs by company industry. default "any" |
| sgocId | string (any | 1003 | 1004 | 1007 | 1011 | 1016) | Filter jobs by job function / department. default "any" |
| resumeKeywords | array | Optional. Paste your resume/CV skills to score every job against your profile. Each entry is {"keyword":"Python","aliases":["py"]} (aliases optional). Adds matchScore (0–100), matchedSkills and missingSkills to each job row. This does NOT change which jobs are returned — it's a triage aid so you can skip jobs you're not qualified for. |
| deepSearch | boolean | Go beyond Glassdoor's single-search depth cap: after the base search, the actor harvests the related job titles Glassdoor returned and re-runs the search for each, merging results and removing duplicates by job ID. Best for keyword searches expecting many results. Increases run time and result count; still bounded by Max items. default false |
| expandKeywords | array | Optional extra keywords to also search and merge in when Deep search is on (e.g. synonyms or adjacent roles). Each runs as its own search; duplicates across searches are removed. |
| saveOnlyUniqueItems | boolean | Remove duplicate rows before they are saved. Deduplicates by job ID (jobs) or review ID (reviews), falling back to full-content matching. Useful for job searches, which can return the same posting across multiple pages. On pay-per-result billing this also means you are not charged twice for the same item. default false |
| includes | array | Only include reviews that contain at least one of the specified keywords. For now keywords are use only on 'Cons' property of the review. |
| includeCompanyReviewStats | boolean | Include company review stats in the output. default false |
| includeAllReviews | boolean | Include all possible reviews in the output from all available languages like: 'eng', 'fra', 'por', 'spa', 'ita', 'nld', 'deu'. default false |
| monitoringModeForReviews | boolean | If checked, it will only scrape newly reviews compared to what has been scraped in previous runs. Please turn on or check 'Include posts' setting above in case you want this feature. default false |
| sortReviewsBy | string (RELEVANCE | DATE | RATING | RATING_ASC) | Sort reviews by criteria default "RELEVANCE" |
| reviewsStartDate | string | Format should be YYYY-MM-DD, e.g., 2025-02-20 |
| includeCompanyInterviewStats | boolean | Include company interview stats in the output. default false |
| interviewsStartDate | string | Format should be YYYY-MM-DD, e.g., 2025-02-20 |
| includeCompanyBenefitsStats | boolean | Include company benefits stats in the output. default false |
| benefitsStartDate | string | Format should be YYYY-MM-DD, e.g., 2025-02-20 |
| includeAllSalaries | boolean | Include all possible salaries in the output from all available languages like: 'eng', 'fra', 'por', 'spa', 'ita', 'nld', 'deu'. default false |
| enrichEmails | boolean | If enabled, reads the company's own website (shown on its Glassdoor profile) for contact emails (e.g. info@, press@), or discovers it from the company name. Adds contactEmail + contactWebsite columns plus a detailed emailEnrichment object to company/overview records. Best-effort, billed per contact email found; only charged when an email is returned, never for misses. default false |
| qualifyByPayment | boolean | Requires "Enrich with contact emails". Scans each business's website — reusing the pages already fetched for email discovery, so no extra cost or time — for payment processors and e-commerce platforms (Stripe, Shopify, PayPal, Paddle, Lemon Squeezy, WooCommerce, Square, Chargebee and more). Adds takesPayments (is this a real paying business?), paymentProcessors (which stack), stripeLiveKey (the public key if exposed) and paymentConfidence. Turn raw contacts into monetization-qualified leads. No extra charge — included with each enriched company. default false |
| reviewInsights | boolean | Adds one `review_insights` row per employer: rating breakdown & sentiment split, the recurring workplace complaint themes (management, pay, work-life balance, culture, career growth, job security…), top negative-review terms, and advice-to-management snippets. Deterministic — instant, no AI credits or keys required. Billed per employer analyzed. default false |
| painPointAnalysis | boolean | Adds a single `painPointAnalysis` row per employer alongside the reviews: top complaint themes (each with severity + how often it recurs), standout strengths, attrition-risk signals, quick wins, overall sentiment and a short summary — the 'what should this employer fix' teardown, straight from real Glassdoor employee reviews. Requires a paid Apify plan; billed per employer analyzed. default false |
| maxItems | integer | Maximum number of items (like reviews, salaries, interviews and etc) that will be scraped FROM EACH input URL independently. If you provide 3 URLs and set maxItems to 100, you can get up to 300 total items (100 from each URL). default 20000 |
| maxConcurrency | integer | Maximum number of pages that can be processed at the same time. default 7 |
| minConcurrency | integer | Minimum number of pages that will be processed at the same time. default 1 |
Call it
curl
curl https://cracked-ai-pearl.vercel.app/v1/run \
-H "Authorization: Bearer ck_live_..." -H "content-type: application/json" \
-d '{"provider":"apify","endpoint":"/memo23/glassdoor-scraper-ppr","input":{"startUrls":[{"url":"https://www.glassdoor.fr/Avis/Aza%C3%A9-Avis-E1360610.htm"}],"searchKeyword":"Software Developer","searchLocation":"New York","resumeKeywords":[{"keyword":"Python","aliases":["py"]},{"keyword":"React"}],"expandKeywords":[],"includes":[],"maxItems":3,"maxConcurrency":3},"wait":false}'poll
curl "https://cracked-ai-pearl.vercel.app/v1/runs/<runId>?wait=30" -H "Authorization: Bearer ck_live_..."cli
npx cracked-ai run -p apify -e /memo23/glassdoor-scraper-ppr -i '{"startUrls":[{"url":"https://www.glassdoor.fr/Avis/Aza%C3%A9-Avis-E1360610.htm"}],"searchKeyword":"Software Developer","searchLocation":"New York","resumeKeywords":[{"keyword":"Python","aliases":["py"]},{"keyword":"React"}],"expandKeywords":[],"includes":[],"maxItems":3,"maxConcurrency":3}' -w 120mcp
run_tool({ provider: "apify", endpoint: "/memo23/glassdoor-scraper-ppr", input: {"startUrls":[{"url":"https://www.glassdoor.fr/Avis/Aza%C3%A9-Avis-E1360610.htm"}],"searchKeyword":"Software Developer","searchLocation":"New York","resumeKeywords":[{"keyword":"Python","aliases":["py"]},{"keyword":"React"}],"expandKeywords":[],"includes":[],"maxItems":3,"maxConcurrency":3}, wait: false })Try it
Runs against your signed-in workspace balance. Sign in if you have not.