Subito Lavoro Scraper - Italy Jobs, Salaries, Employers
Pricing
from $3.00 / 1,000 job from search pages
Subito Lavoro Scraper - Italy Jobs, Salaries, Employers
Scrape job listings from Subito.it Lavoro. Returns title, company, province, region, contract type, salary, phone, advertiser type, and full description. Business seller mode: logo, Google rating, address, social links, opening hours.
Pricing
from $3.00 / 1,000 job from search pages
Rating
0.0
(0)
Developer
NanoScrape
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Subito Lavoro Scraper - Italy Jobs, Phone Numbers, Salaries, Business Profiles
Scrape job listings from Subito.it Lavoro, Italy's largest classifieds job section with over 170,000 active listings.
Features
- Search by keyword, region, or paste any Subito Lavoro filtered URL
- Extracts job title, company, region, city, town, province code, contract type, sector, salary, and full description
- Phone number extraction (
includeContactPhone=true): structured phone from Subito's contacts API — no browser needed, ~20% fill rate - Italian employment types: Tempo determinato, Tempo indeterminato, Apprendistato, Tirocinio, Somministrazione
- Advertiser classification: private (type 0), agency (type 1), company (type 2) with shop profile details
- Province code (targa) and ISTAT code for every listing
- Salary extraction when listed (EUR per hour, month, or year)
- Image URLs from job posting photos (workplace/company images)
- Visibility flags: is_urgent and is_gallery (paid boost indicators)
- Contact email and phone extraction from description text
- URL extraction from plain-text descriptions (mentioned_urls)
- Business seller profiles (
includeCompanyDetails=true): logo, verified badge, Google rating + CID, address, website, social links, opening hours, active ads count - All 20 Italian regions supported
- HTTP-only, 128 MB, pay-per-result
How it works
- Enter one or more keywords (e.g., "cameriere", "programmatore", "magazziniere")
- Optionally filter by Italian region (e.g., "lombardia", "lazio")
- Or paste any Subito Lavoro search URL directly
- Enable
includeContactPhoneto extract phone numbers from Subito's contacts API - Enable
includeCompanyDetailsto fetch full business seller profiles for company listings - Run the actor and receive structured job data
Output
Core Fields (all listings)
| Field | Type | Description |
|---|---|---|
id | string | Subito.it numeric listing ID |
ad_urn | string | Full Subito ad URN for stable deduplication |
title | string | Job title |
job_url | string | Direct URL to the job listing |
mobile_url | string | Mobile URL (null when same as job_url) |
source_platform | string | Always "subito.it" |
category_id | string | Subito category ID (e.g., "26" = Offerte di lavoro) |
category_label | string | Subito category label |
company_name | string | Employer name |
advertiser_type | integer | 0=private, 1=agency, 2=company |
is_company | boolean | True when poster is a business |
shop_id | string | Subito store ID for business profiles |
shop_name | string | Subito store name for business profiles |
country | string | Always "IT" |
region | string | Italian region (e.g., "Lombardia", "Lazio") |
city | string | Province (e.g., "Milano", "Roma") |
town | string | Municipality name |
province_code | string | 2-letter province code (targa), e.g., "MI", "RM", "NA" |
province_istat | string | ISTAT 3-digit province code, e.g., "015" for Milano |
location | string | Combined: "Town, City, Region" |
employment_type | string | Contract type (e.g., "Tempo indeterminato") |
work_schedule | string | Schedule (e.g., "Full time", "Turni") |
sector | string | Job sector category |
experience_level | string | Experience level from ad |
education_level | string | Minimum education required |
salary_min | number | Minimum salary (null if not listed) |
salary_max | number | Maximum salary (null if not listed) |
salary_currency | string | Currency code (EUR) |
salary_period | string | Period: "ora", "mese", or "anno" |
salary_text | string | Raw salary text as shown on the listing |
description | string | Full job description with preserved line breaks |
image_urls | string[] | CDN URLs of photos attached to the listing |
is_urgent | boolean | True when marked urgent (paid boost) |
is_gallery | boolean | True when gallery mode is enabled |
phone_number | string | Advertiser's primary phone from Subito's contacts API (e.g., "0302400024"). Populated only when includeContactPhone=true. ~20% fill rate. Null when not requested or advertiser has no phone set. |
contact_emails | string[] | Email addresses found in description |
contact_phones | string[] | Phone numbers found in description text |
mentioned_urls | string[] | URLs mentioned in plain text of description (filtered: excludes subito.it, google.com, facebook.com, instagram.com) |
posted_at | string | Publication datetime (ISO 8601 UTC) |
search_query | string | Keyword that found this listing |
scraped_at | string | Scrape timestamp (ISO 8601 UTC) |
Business Seller Profile Fields (includeCompanyDetails=true, company listings only)
These fields are populated when includeCompanyDetails=true and the listing is from a business seller (is_company=true). For private-seller listings they remain null.
| Field | Type | Description |
|---|---|---|
advertiser_logo_url | string | Logo image URL from the shop's impresapiu.subito.it profile |
advertiser_verified | boolean | True when shop has a fully populated profile (website + address present), corresponding to the "Azienda verificata" badge |
advertiser_google_rating | number | Google Maps average star rating (e.g., 4.8). Populated only for shops with a linked Google Business Profile (~5-10% of shops). |
advertiser_google_reviews_url | string | Google Maps URL for the shop's review page (includes CID parameter). Null when no Google profile is linked. |
advertiser_google_place_cid | string | Numeric Google Maps CID for use with the Maps Places API. Null when no Google profile is linked. |
advertiser_address_full | string | Full postal address of the business |
advertiser_website | string | Business website URL |
advertiser_social_urls | string[] | All social media URLs (Facebook, Instagram, and any future platforms). Empty array when no social links are set. |
advertiser_opening_hours | object[] | Opening hours array: {day, open, close, note} with Italian day abbreviations (lun, mar, mer, gio, ven, sab, dom) |
advertiser_online_ads_count | integer | Number of active listings from this advertiser on Subito |
advertiser_shop_url | string | URL of the advertiser's impresapiu.subito.it shop page |
Sample Output
With phone number (includeContactPhone=true)
{"_type": "JobPosting","id": "658988544","ad_urn": "id:ad:612228663:list:658988544","title": "Due Infermieri/Infermiere","job_url": "https://www.subito.it/offerte-lavoro/due-infermieri-infermiere-rif86757-brescia-658988544.htm","source_platform": "subito.it","company_name": "During SpA","advertiser_type": 1,"is_company": true,"region": "Lombardia","city": "Brescia","province_code": "BS","province_istat": "017","location": "Brescia, Lombardia","employment_type": "Somministrazione","phone_number": "0302400024","contact_emails": [],"contact_phones": [],"posted_at": "2026-09-01T08:00:00Z","scraped_at": "2026-09-01T14:00:00Z"}
Business seller (with includeCompanyDetails=true)
{"_type": "JobPosting","id": "658619269","ad_urn": "id:ad:612155202:list:658619269","title": "RAGAZZA IMMAGINE nei migliori locali notturni","job_url": "https://www.subito.it/offerte-lavoro/ragazza-immagine-nei-migliori-locali-notturni-taranto-658619269.htm","company_name": "Agenzia Ragazze Immagine Miss Agency","advertiser_type": 1,"is_company": true,"region": "Puglia","city": "Taranto","province_code": "TA","location": "Taranto, Puglia","phone_number": null,"contact_emails": ["info@missagency.vip"],"contact_phones": [],"advertiser_logo_url": "https://images.sbito.it/api/v1/sbt-shops-images-pro/images/c0/c0ec4a31-dc8e-40c2-a4aa-acff1c32b284?rule=shop_logo_medium_auto","advertiser_verified": true,"advertiser_google_rating": 4.8,"advertiser_google_reviews_url": "https://maps.google.com/?cid=12361327604280049843","advertiser_google_place_cid": "12361327604280049843","advertiser_address_full": "Via V. de Gama, 90g, 62012 Civitanova Marche MC, Italia","advertiser_website": "http://www.missagency.vip","advertiser_social_urls": ["https://www.facebook.com/100093389807411/","https://www.instagram.com/missagency_official/"],"advertiser_opening_hours": [{"day": "lun", "open": "07:30", "close": "21:00"},{"day": "mar", "open": "07:30", "close": "21:00"}],"advertiser_online_ads_count": 50,"advertiser_shop_url": "https://impresapiu.subito.it/shops/39751-agenzia-ragazze-immagine-miss-agency","posted_at": "2026-09-01T10:08:56Z","scraped_at": "2026-09-01T14:00:00Z"}
Pricing
This actor uses pay-per-event billing. There are three chargeable events:
| Event | Cost | When charged |
|---|---|---|
| Actor start | $0.001 | Once per run, regardless of results |
job-serp-result | $0.003 | Per job listing returned from search results. All job data — title, description, salary, contract type, category, features — is included at this tier. Subito's SERP embeds the complete job record inline. |
company-detail-result | $0.005 | Per company listing when includeCompanyDetails=true. Fetches the business shop profile (logo, website, socials, Google rating, opening hours, address, active ads count). Only fires for is_company=true listings. Private sellers are not charged. |
phone-reveal-result | $0.001 | Per listing where includeContactPhone=true AND a phone number is successfully retrieved from Subito's contacts API (~20% fill rate). HTTP 204 (no phone set) is not charged. |
Why are full job details already in job-serp-result?
Unlike most job boards, Subito embeds the complete job record in its search page (__NEXT_DATA__ SSR JSON). Every listing on the SERP already contains the full description, salary, contract type, sector, experience level, and all other job fields. There is no separate "job detail page" needed to get job data — the job-serp-result event covers everything.
includeCompanyDetails is purely about the seller's business profile — fetching the advertiser's impresapiu.subito.it shop page to get logo, Google reviews, opening hours, etc. It is not needed to get job information.
Cost examples:
SERP only (default): 100 jobs = $0.30 | 1,000 jobs = $3.00
With phones (includeContactPhone=true): 100 jobs = ~$0.32 (20% have phones, +$0.001 each) | 1,000 jobs = ~$3.20
With business profiles (includeCompanyDetails=true): 100 company listings = $0.80 | 1,000 = $8.00
New Apify accounts receive $5 free monthly credit, enough for roughly 1,600 SERP-only listings per month at no cost.
Examples
Search by keyword nationwide
{"searchQueries": ["cameriere"],"maxResults": 100}
Extract phones for lead generation
{"searchQueries": ["infermiere", "medico", "operatore sanitario"],"maxResults": 500,"includeContactPhone": true}
Extract business profiles (lead generation)
{"searchQueries": ["commessa negozio", "addetto vendite"],"maxResults": 200,"includeCompanyDetails": true,"includeContactPhone": true}
Search by keyword in a specific region
{"searchQueries": ["programmatore"],"location": "lombardia","maxResults": 100}
Multiple keywords
{"searchQueries": ["magazziniere", "corriere", "facchino"],"maxResults": 300,"maxResultsPerQuery": 100}
Paste a filtered Subito Lavoro URL
{"searchUrls": ["https://www.subito.it/annunci-lombardia/vendita/lavoro/?q=programmatore"],"maxResults": 200}
Phone Number Extraction
Enable includeContactPhone=true to extract structured phone numbers via Subito's internal contacts API (hades.subito.it/v1/contacts/ads/{urn}). The endpoint is unauthenticated — no login or browser session is required. It returns a clean numeric string (e.g., "0302400024", "3924088151") when the advertiser has registered a phone, or HTTP 204 (no content) when no phone is set.
Fill rate is approximately 20% across job listings — advertisers must explicitly opt in to show their phone number on Subito. The contact_phones field (regex from description text) remains available as a complementary source when advertisers write their phone number in the description body.
Related Actors
Italian Jobs
European Jobs
Job Feed
Support
Questions or issues? Open an issue or contact us at contact@nanoscrape.com