ANIMA.it Scraper v1.0

ANIMA.it Member Companies Scraper

Scrape member company data from the ANIMA Confindustria directory with full contact details, descriptions, product categories, and association info.

1. Overview

What this scraper can do:

Target site: https://en.anima.it/member-companies/ — the ANIMA Confindustria member directory listing over 700 Italian mechanical engineering companies.

2. Installation & First Launch

  1. Open Chrome and navigate to chrome://extensions.
  2. Enable Developer mode (top-right toggle).
  3. Click Load unpacked and select the extracted extension folder.
  4. Pin the extension icon for easy access.
  5. Open https://en.anima.it/member-companies/ in a tab first (to warm DNS/cookies).
  6. Click the extension icon, adjust settings if needed, and click Start.
Important: The extension requires host permissions for en.anima.it and www.anima.it. Grant these when prompted.

3. How It Works

The scraper uses a screen-by-screen batch processing strategy:

  1. Opens the listing page in a background tab and waits for the initial companies to render.
  2. Scrolls to the absolute bottom of the page to trigger infinite-scroll loading.
  3. Uses a MutationObserver to detect when new company links appear (with retry logic up to 3 attempts per screen).
  4. Collects all newly visible company detail-page URLs (avoiding duplicates).
  5. Opens those detail pages in parallel (up to Concurrent Tabs setting) and extracts all 17 fields.
  6. Once all detail pages in the current batch are processed, scrolls down again for the next batch.
  7. Repeats until no new companies load or Max Scroll Cycles is reached.
  8. Collects any remaining detail pages and signals completion.

This approach is more reliable than collecting all links upfront because the listing page only renders ~19–20 companies at a time and relies on scroll-to-bottom triggers for lazy loading.

4. Controls

ButtonAction
StartBegins a fresh scrape from scratch (clears previous links queue and results).
PauseSuspends scraping after current detail pages finish processing. Keeps all collected data intact.
ResumeContinues scraping from where it was paused.
StopImmediately halts the scraper and closes all open scraper tabs. Collected data is preserved.
Export CSVDownloads all scraped records as a CSV file with all 17 fields as columns.
Clear DataEmpties all stored scraped records from the extension.
HelpOpens this documentation page.

5. Settings Reference

SettingDefaultDescription
Concurrent Tabs2Maximum number of detail pages to process simultaneously. Higher values complete faster but use more system resources. Recommended: 2–4.
Retry Attempts3Number of times to retry a detail page that fails to load within the timeout period.
Delay Min / Max450 / 1300 msRandom delay range between scroll actions to mimic human browsing behaviour. Helps avoid rate limiting.
Max Scroll Cycles30Safety cap on the total number of scroll rounds. Prevents infinite loops if the page never finishes loading. Increase for very large directories.
Detail Timeout15000 msMaximum time (ms) to wait for a detail page to fully load before considering it failed and triggering a retry.
Smooth ScrollingOnWhen enabled, uses CSS smooth scrolling behaviour. When disabled, uses instant jumps to the bottom.
Scroll Up Before DownOnScrolls up slightly before each scroll-down action. This can help trigger lazy-loading mechanisms that require viewport changes.

6. Extracted Data Fields

The scraper extracts the following 17 fields from each company's detail page on www.anima.it/aziende/{slug}.kl:

FieldDescriptionSource
NameCompany nameh1 heading
AddressStreet address (e.g. VIA MOLINELLO 8/B)First address line
PostalCode5-digit Italian postal codeSecond address line (5 digits)
CityCity nameSecond address line (after postal code)
Province2-letter province abbreviationSecond address line (uppercase 2-letter)
RegionItalian region nameThird address line
PhonePrimary telephone numbertel: link
FaxFax number (if present)Secondary tel: link
EmailEmail addressmailto: link
WebsiteCompany website URL (excludes social media domains)External anchor href
DetailURLDirect link to the company's ANIMA profileConstructed from listing URL
DescriptionITItalian description textParagraph content
DescriptionENEnglish description text (italicised sections)Italic <em> or <i> paragraphs
ProductsProduct/service categories (semicolon-separated)Anchor tags with href*="tag="
AssociationANIMA member associationLabel "Associazione" or "Association"
TechnologyTechnology / application areaLabel "Tecnologia" or "Technology"
ImageURLsCompany image URLs (semicolon-separated)Image tags in the detail page

7. Recommended Workflow

  1. Test with defaults: Click Start with default settings. Let it run for 1–2 batches to verify extraction looks correct.
  2. Check Preview: Review captured data in the Preview tab to ensure all fields are populating correctly.
  3. Adjust concurrency: If your connection is fast, increase Concurrent Tabs to 3 or 4 for faster processing. If pages time out, reduce to 1–2.
  4. Run full scrape: Click Start again (this clears previous data) for a complete run. The scraper may take 15–40 minutes depending on the number of companies and your settings.
  5. Export: Once the status shows "Idle" and all records are collected, click Export CSV to download.
Tip: The scraper automatically skips previously scraped URLs within the same session. If you need a fresh scrape, click Clear Data before starting.

8. CSV Export

Exported CSV includes the following columns in order:

Name,Address,PostalCode,City,Province,Region,Phone,Fax,Email,Website,DetailURL,DescriptionIT,DescriptionEN,Products,Association,Technology,ImageURLs

The CSV uses comma delimiters, double-quoted fields, and proper escaping. Open directly in Excel or Google Sheets. The DetailURL column allows quick cross-referencing with the original listing.

9. Troubleshooting

9.1 No companies found or empty results

9.2 Detail pages timing out

9.3 Scraper stops collecting early

9.4 Scraper not starting

9.5 Data not exporting

10. Frequently Asked Questions

Does the scraper handle all companies on ANIMA.it?

It scrapes all companies visible on the en.anima.it/member-companies/ listing page. The listing uses infinite scroll and loads companies alphabetically. With sufficient Max Scroll Cycles, it should reach the end of the directory.

Can I use this while browsing normally?

Yes, but the scraper opens its own background tabs. Performance impact depends on Concurrent Tabs setting. Lower it to 1 if you need to browse smoothly.

What happens if my computer goes to sleep?

The scraper will pause when the tab becomes inactive. Click Resume when you return. Collected data is preserved in storage.

Is the data always accurate?

The scraper extracts exactly what is displayed on each company's detail page. Accuracy depends on the ANIMA members keeping their profiles up to date.

Does the Lite version have limitations?

Yes — the Lite build scrapes only the first screenful (approximately 19–20 companies) to verify functionality. The Pro license unlocks full directory scraping with all 17 fields and unlimited records.

11. Credits & Upgrade

Built by morkerr.com.

This is the Lite version of the ANIMA.it Scraper (limited batch). Upgrade to Pro for full directory scraping, all 17 fields, concurrent tab processing, and unrestricted CSV export.

Disclaimer: Web scraping may violate terms of service of some websites. Always review site policies and use responsibly. This tool is designed for legitimate business research and lead generation only.

Documentation v1.0 — June 2026