Facebook Hiring Posts Scraper - Jobs from Public Groups
Pricing
from $4.00 / 1,000 job posts
Facebook Hiring Posts Scraper - Jobs from Public Groups
Turns job posts in public Facebook groups and pages into structured job listings: title, company, salary, location, employment type and contacts. Any language. No login or cookies.
Pricing
from $4.00 / 1,000 job posts
Rating
0.0
(0)
Developer
Imakul Denny
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Facebook Hiring Posts Scraper
Turn job posts from public Facebook groups and pages into clean, structured job listings — job title, company, salary, location, employment type and contacts — in any language. No Facebook account, cookies or login needed.
What you get
Millions of jobs are never posted on LinkedIn or Indeed. Local shops, agencies and recruiters post them in Facebook groups like "Jobs in Manila", "Dubai Jobs" or "Bangalore IT Jobs". This Actor reads those groups and returns one row per job post:
| Field | Example |
|---|---|
type | hiring (or seeking if you enable job-seeker posts) |
jobTitle / jobTitleEn | พนักงานขาย / Sales staff |
company | Tresmade |
employmentType | part_time |
salary | {"min": 375, "max": 450, "currency": "THB", "period": "day"} |
location | {"text": "Central Bangna", "city": "Bangkok", "country": "TH"} |
salaryText | 15,000–18,000 THB/month (ready for spreadsheets) |
city, country | Bangkok, TH |
openings, workSchedule | 2, 6 days/week, 9:00–18:00 |
experienceRequired, educationRequired | 1 year retail, high school |
requirements, benefits | ["age 20–35", "female"], ["meals", "commission"] |
howToApply, contactPerson | Call or add LINE, Khun Bee |
contactSummary | Phone: 0991234567 · Email: hr@shop.com · LINE: shopjob |
contact | every channel found in the post: phones, emails, lineIds, whatsapp, telegram, messenger, zalo, viber, instagram, urls |
postUrl, postedAt, rawText | link to the original post, time and full text |
posterName, posterProfileUrl | who posted it |
Reposts of the same job across groups are removed automatically.
Use cases
- Job boards and aggregators — add jobs that exist only on Facebook.
- Recruitment and staffing agencies — find companies that are hiring right now.
- Labour-market research — track demand and salaries by role and city.
Input example
{"countryPresets": ["TH"],"startUrls": [{ "url": "https://www.facebook.com/groups/1470722953011736" }],"postedAfter": "7 days","skipPreviouslyScraped": true,"maxPostsPerSource": 100,"includePersonalData": true}
How to use
- Pick a country under Ready-made job groups — or paste your own public group/page URLs (or both).
- Set Only posts newer than (e.g.
7 daysor2026-10-01). - Run. Results appear in the Job posts table (one readable line per job) and Full details; download as Excel, CSV or JSON.
Run it again tomorrow: with Skip posts I already received (on by default) you only get — and pay for — new jobs.
Keep Residential proxy on — Facebook blocks logged-out visitors from datacenter IPs.
Pricing
Pay per event — platform usage and residential proxies are included. You are charged for:
| Event | When | Price |
|---|---|---|
| Job post | each job post returned to your dataset | $5.00 per 1,000 ($4.50 on Scale, $4.00 on Business) |
| Source read | each public group or page the Actor opens and reads — also when Facebook blocks the read halfway or the source has no new jobs | $0.05 per source |
| Private or missing source | each URL that turns out to be a private, deleted or non-existent group/page (checked, then skipped — no posts read) | $0.001 per source |
| Run start | once per run, per GB of memory | $0.005 per GB ($0.01 at the default 2 GB) |
Never charged: posts that are not job offers, posts older than Only posts newer than, posts you already received in earlier runs, and reposts of the same job across groups.
Example: 10 public groups × 100 posts ≈ 600 job posts → $0.01 + 10 × $0.05 + 600 × $0.005 = $3.51. Add 2 private group URLs by mistake → +$0.002.
Set Maximum cost per run in the run options to cap your spend; the Actor stops cleanly at that limit.
The run report (RUN_REPORT in the key-value store) shows the status of every source, so you can see what was charged.
Free plan
On the Apify free plan, AI extraction covers the first 50 posts of each run; the remaining posts are still returned, classified by keywords (structured fields empty). Any paid Apify plan unlocks full AI extraction.
Optional fallback
If Facebook blocks a source, the Actor can run another Store scraper for that source. That run is billed to your account at that Actor's own price, capped by Fallback cost limit per source. Off by default.
Limitations
- Public groups and pages only. Private, deleted or missing groups are detected before reading and charged only the $0.001 check fee.
- Facebook limits how deep logged-out visitors can scroll; very large
maxPostsPerSourcevalues may stop early. The run report says why each source stopped.
FAQ
Do I need a Facebook account or cookies? No. Only content Facebook shows to logged-out visitors is read.
Will I get the same jobs again tomorrow? No. Posts you already received are remembered in a key-value store in
your own account (fb-hiring-posts-history) and skipped for free. Reposts of one job across groups are merged too.
Which languages work? Any. Job titles are also returned in English (jobTitleEn).
Where do I find groups? Search Facebook for "jobs in
What does a source status mean? The run report (RUN_REPORT in the key-value store) lists every source as
ok (read — $0.05), not_public (private or missing — $0.001), walled / failed (Facebook blocked the read —
$0.05, because the read was attempted), with the reason.
Personal data
Job posts often contain names and phone numbers. These are removed by default. Turn on Include poster name and contact details only if you have a lawful basis to process personal data under GDPR, PDPA or similar laws. This Actor does not access anything behind a login.