apify-ads-intelligence
Research, spy on, and analyze ads across Meta (Facebook & Instagram), Google (Ads Transparency Center + paid search results), TikTok (Ads Library + Creative…
Extract clean, de-noised job-posting data from LinkedIn, Indeed, Glassdoor, and 20+ boards in one Apify run — deduplicated across boards, with likely ghost jobs and reposts flagged (heuristic, not verified) and fields normalized — then analyze it (deduped hiring demand,
$ npx -y skills add apify/awesome-skills --skill apify-jobs-data --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/apify-jobs-dataContext preview
The summary Claude sees to decide when to auto-load this skill.
Extract clean, de-noised job-posting data from LinkedIn, Indeed, Glassdoor, and 20+ boards in one Apify run — deduplicated across boards, with likely ghost jobs and reposts flagged (heuristic, not verified) and fields normalized — then analyze it (deduped hiring demand,
name: apify-jobs-data description: Extract clean, de-noised job-posting data from LinkedIn, Indeed, Glassdoor, and 20+ boards in one Apify run — deduplicated across boards, with likely ghost jobs and reposts flagged (heuristic, not verified) and fields normalized — then analyze it (deduped hiring demand, in-demand skills, coverage-labeled salary distribution), export it (CSV / JSON / Apify dataset) for dashboards and BI, or rank it against a résumé. Use when the user asks to scrape job postings, build a job dataset, analyze hiring demand or in-demand skills or salary ranges for a role or market, export job data for a dashboard or spreadsheet, dedupe job listings across boards, flag or filter out likely ghost jobs, or rank jobs by fit to a résumé. Triggers - "scrape job postings for X", "what skills are in demand for Y", "salary range for Z in [location]", "export job data to CSV", "filter out the ghost jobs", "which of these jobs fit my résumé". author: Oleg Martinez author_url: https://github.com/ezumyn-aliegm metadata: category: data-extraction keywords: "jobs, job-data, job-postings, job-scraping, hiring-demand, salary, skills-in-demand, market-analysis, dataset-export, ghost-jobs, resume-fit, linkedin-jobs, indeed, glassdoor, data-extraction, apify"
Extract clean, structured job-posting data from 20+ boards in one Apify run, then put it to use. The pipeline is the same regardless of purpose:
**acquire → de-noise → normalize → { analyze | export | rank by résumé }**
The reusable value is the cleaned dataset: postings deduplicated across boards, cross-board reposts merged, likely ghost jobs flagged, and fields normalized to a consistent schema. Ghost-job and repost pollution corrupts demand counts, salary statistics, and dashboards just as much as it wastes a job seeker's time — so de-noise is the shared core, and every output mode runs on top of it.
**Never invent a posting, a salary, a count, or a keyword.** Everything is scraped live from a named Apify Actor and carries its source; missing fields stay blank, and every statistic reports the share of postings it is computed from — see [Quality rules](#quality-rules).
Ghost-job detection is heuristic and single-run: it compares the same (company, title, location) across boards for conflicting posted dates and reads the JD for pipeline language. The data carries no first-seen or edit history, so a flag is a suspicion, never a verdict. The Actors do the data work; the agent routes, de-noises, aggregates, and grounds:
| Step | Apify Actor | Agent | |---|---|---| | Acquire across 20+ boards | `agentx/all-jobs-scraper` | routes the query | | De-noise ghost jobs / reposts | cross-board scraped fields — conflicting `posted_date` across boards, JD-body match across "company" names (no first-seen / edit-history field exists) | applies the rule | | Salary benchmark (optional) | `memo23/glassdoor-scraper-ppr` | aggregates, labels coverage |
A more analysis-first skill may also answer "hiring demand / in-demand skills / salary" questions. This skill's center of gravity is the **cleaned dataset** — cross-board duplicates and reposts merged, likely ghost jobs flagged, and fields normalized — which every mode then runs on. If you only need a quick market read, an analysis-only skill is lighter. Reach for this one when **data quality matters** (deduped demand counts, coverage-labeled salary stats), when you need the **raw rows exported** to CSV / an Apify dataset for a dashboard, or when you need a **résumé ranked** against live postings — none of which an analysis-only skill produces.
The shared core (Steps 1–5) is identical; Step 6 produces whichever mode(s) the user wants. Default to whatever the request implies; if unclear, ask.
| Mode | Produces | Reference | |---|---|---| | **Market & salary analysis** | hiring demand on **deduped** counts (by company / location / seniority), in-demand skills, remote-hybrid mix, and **coverage-labeled** salary distribution | [reference/analysis.md](reference/analysis.md) | | **Structured export** | the normalized rows as CSV / JSON, or the raw Apify dataset ID for direct BI / dashboard ingestion | [reference/output-formats.md](reference/output-formats.md) | | **Résumé-fit** | postings ranked against a résumé, with ATS-keyword gaps and apply-ready briefs | [reference/fit-scoring.md](reference/fit-scoring.md) |
This is a design goal, not an afterthought — keep every run as cheap as it can be while still answering the question:
(≈ $0.0035/job + $0.01 start on the free tier, as of 2026-09-16 — check the live rate in `reference/gotchas.md` / the Apify console before quoting a number). A typical run is **cents to a few dollars**.
platform the Actor supports for the country unless `platforms` is pinned), so pin `platforms` and start small — a quick scan needs ~10–15/platform; a market analysis ~25–50/platform — and scale only if the result is too thin. Always estimate, and confirm before a big run.
scrape — never re-scrape to add a second mode.
keeps the billed sample honest and the counts real.
is low (~2–6% in many markets), so scraping thousands of postings to harvest a few disclosed figures is wasteful — one cheap `memo23/glassdoor-scraper-ppr` call per company **with `maxItems` ≤ 50** (its default is 20,000 rows per URL) gives a better signal for less.
(No need to check this upfront.)
Community collection of Apify agent skills for AI coding assistants
Repo: apify/awesome-skills
Research, spy on, and analyze ads across Meta (Facebook & Instagram), Google (Ads Transparency Center + paid search results), TikTok (Ads Library + Creative…
Track whether a brand and its competitors get cited or mentioned across Google AI Overviews, Google AI Mode, ChatGPT Search, Perplexity, Microsoft Copilot, and…
Pull structured Apple App Store and Google Play data — app metadata, price, rating, the 1–5★ ratings histogram, version, developer, and reviews — and watch it…
Scrape Ashby jobs or discover companies using Ashby with the Apify Ashby Job Board API Actor (johnvc/ashby-job-board-scraper). Job mode returns live job rows…
Diagnose and recover a scrape that is blocked, throttled, or served empty or partial content, in cost order, before paying for a heavier Actor. Use when a run…
Find and enrich B2B leads from Booking.com - hotels, apartments, and vacation rentals - and pull each host's or property manager's real contact details (email,…