Hitta.se Lead Scraper [2.1]
Pricing
from $1.00 / 1,000 results
Hitta.se Lead Scraper [2.1]
Retrieve leads on hitta.se, the easy way. This actor will retrieve the business' name, address, email addresses, phone numbers and social links.
Pricing
from $1.00 / 1,000 results
Rating
0.0
(0)
Developer
slash.nu
Maintained by CommunityActor stats
3
Bookmarked
25
Total users
0
Monthly active users
13 days ago
Last modified
Categories
Features
Share
Hitta.se Scraper
Updates in this version
- Result limits are enforced across concurrent workers;
concurrencyis clamped to 1-50 and controls the HTTP connection pool. - Failed listing/detail requests are reclaimed and retried up to two times; non-success HTTP responses are not parsed as pages.
- Website status responses are reused for the first page of the website contact crawl.
- Same-site crawling and email-domain matching use hostname/subdomain boundaries, avoiding unrelated shared suffixes such as
co.uk. - Social profile pages are checked as an email fallback when no email is found elsewhere.
- If there is no website or it is banned/unavailable, keep all valid detail-page emails (not only generic).
- Email slug fallback now unescapes HTML and matches both:
<slug>-button-email-<email>button-email-<email>(broader pattern)
- Unescape attribute values before extracting emails to handle entity-encoded addresses.
- Pagination errors fixed
Kept (still working as intended)
max_resultswith “Nästa” pagination (25 per page).- Website picked from canonical/og:url/JSON-LD first, then scored anchors; bans junk.
websiteStatus: one ofok|404|unavailable|banned|n/a.- Banned:
hitta.dixa.help,dixa.help,biluppgifter.se, specific DNB URL. - Detail-page email extraction from Hitta UI + mailto + strict regex + slug fallback.
- Same-domain mini-crawl for emails + social links when website is OK.
- Swedish address heuristics; phone extraction; categories.
Features
- Crawls listing pages on Hitta.se, discovers company detail pages, and pushes normalized contact data.
- Extracts from detail pages:
businessName,categories,phone, andaddresswebsiteandwebsiteStatusprimaryEmailand a de-duplicatedemailsarraysocialProfileswith Facebook, Instagram, LinkedIn, X, YouTube, TikTok, and Pinterest URLsscrapeMetawith source, website presence, and email count
- If website is OK, performs a tiny same-domain crawl (configurable) to discover more emails and socials.
Input Configuration
Example input JSON:
{"start_urls": [{ "url": "https://www.hitta.se/nacka/företag/2" }],"max_depth": 3,"headers": {"User-Agent": "Mozilla/5.0 ...","Accept-Language": "sv-SE,sv;q=0.9,en-US;q=0.8,en;q=0.7"},"timeout_seconds": 30,"site_email_max_pages": 3,"max_results": 0,"concurrency": 5}
| Field | Type | Default | Description |
|---|---|---|---|
start_urls | array | Hitta Nacka listing URL | One or more listing URLs; each entry has a url property. |
max_depth | integer | 3 | Maximum listing-pagination depth from each start URL. |
headers | object | See code defaults | HTTP headers used by the shared async client. |
timeout_seconds | integer | 30 | HTTP read timeout in seconds; connect/write/pool timeouts are 10 seconds. |
site_email_max_pages | integer | 3 | Maximum pages fetched per website contact crawl, including its root page. |
max_results | integer | 0 (no cap) | Maximum detail results pushed; negative values are treated as 0 (unlimited). |
concurrency | integer | 5 | Number of request workers, clamped to 1-50; the HTTP connection pool is sized to match. |
How It Works
-
Listing pages: extracts detail links using
/verksamhet/anchors. Follows “Nästa” to paginate. -
Detail pages: extracts:
-
Website from canonical,
og:url, and JSON-LD; otherwise scores external anchors and bans junk domains. -
Address from JSON-LD, microdata, and Swedish heuristics (street tokens + postcode check).
-
Phone from
tel:links or strict regex for Swedish formats. -
Emails from:
- Hitta UI attributes (unescaped)
mailto:links- Strict regex on visible text
- Slug-pattern fallback:
<slug>-button-email-<email>andbutton-email-<email>
-
-
Website status: GET classifies the website as
ok,404,unavailable,banned, orn/a. The successful response is reused for the first contact-crawl page. -
Same-site mini-crawl (if website is OK): fetch up to
site_email_max_pagespages for more emails and socials. Links are limited to the same hostname or its subdomains. -
Email policy:
- If no website or website is banned/unavailable, keep all valid detail-page emails.
- If website is OK, keep emails whose domain is the website hostname or a subdomain/parent hostname, plus generic providers (Gmail, Outlook, etc.).
- If no email has been found, check the available Facebook, Instagram, and LinkedIn pages as a final fallback.
- Retries and result limits: failed listing/detail requests are reclaimed for up to two retries (three attempts total).
max_resultsis enforced while pushing output so concurrent workers cannot exceed the configured cap.
Example Output
{"sourceUrl": "https://www.hitta.se/foeretag/exempel-ab/123456","businessName": "Exempel AB","categories": "Bygg, Renovering","phone": "08 123 45 67","address": "Exempelgatan 10, 123 45 Stockholm","website": "https://www.exempel.se","websiteStatus": "ok","primaryEmail": "info@exempel.se","emails": ["info@exempel.se", "support@exempel.se"],"socialProfiles": {"facebook": "https://www.facebook.com/exempel-ab","instagram": "https://www.instagram.com/exempel-ab","linkedin": "https://www.linkedin.com/company/exempel-ab","x": "https://www.x.com/exempel-ab","youtube": "https://www.youtube.com/exempel-ab","tiktok": "https://www.tiktok.com/@exempel-ab","pinterest": "https://www.pinterest.com/exempel-ab"},"scrapeMeta": {"source": "hitta.se","hasWebsite": true,"emailCount": 2}}
If no valid emails are found,
emailsis an empty array andprimaryEmailis"n/a".
Notes
- Pagination: respects Hitta’s “Nästa” flow, ~25 results per page.
- Bans:
hitta.dixa.help,dixa.help,biluppgifter.se, and a specific DNB marketing URL are excluded. - Email hygiene: strict regex, HTML-unescape, de-duplication, and tracking-pattern filtering.
- Address quality: prefers JSON-LD
PostalAddress, then microdata, then heuristics requiring Swedish postcode + street token.
Disclaimer & License
This Apify Actor is provided "as is", without warranty of any kind including but not limited to the warranties of merchantability, fitness for a particular purpose, and non-infringement. Please follow local laws, respect website terms of service, and do not use this code to spam or violate privacy regulations.
Privacy & legality (Reminder): Always respect website robots.txt, terms of service, and applicable data protection laws (GDPR, etc.). Use responsibly and ethically. This Actor parses public HTML only.
© 2026 slash.nu. All rights reserved. Copying or modifying the source code is prohibited.