MSD Saude Animal BR Distributor & Product Directory Scraper
MSD Saude Animal BR Distributor & Product Directory Scraper
Overview
The MSD Saude Animal BR Distributor & Product Directory Scraper extracts structured data from MSD Saude Animal Brazil's public website. It covers two data layers:
- Distributor Directory — Contact details for 500+ authorized distributors across all 27 Brazilian states, organized by animal species category (Pecuaria, Animais de Companhia, Avicultura, Aquicultura, Suinocultura).
- Product Catalog — Regulatory and formulation data for 200+ veterinary pharmaceutical products, including active ingredients, approved indications, and product presentations from the official bula (package insert).
MSD Saude Animal (Merck Animal Health) is one of Brazil's top-3 veterinary pharma multinationals. This data covers the manufacturer→distributor leg of the BR vet supply chain — a unique dataset unavailable on Apify from any other source.
Use Cases
- Veterinary pharma sales prospecting — Build targeted distributor contact lists by state and species category.
- Competitive intelligence — Map MSD's BR distributor network for market-share analysis.
- Vet practice management — Identify authorized local distributors for specific product categories.
- Regulatory research — Extract MAPA-registered product data and approved indications.
- Supply chain analysis — Understand the manufacturer→distributor→clinic supply chain structure.
Scrape Modes
| Mode | Description |
|---|---|
distributors |
Scrapes the full authorized distributor directory (default) |
products |
Scrapes all product detail pages from the sitemap |
both |
Runs distributor pass then product pass |
Input
| Field | Type | Default | Description |
|---|---|---|---|
mode |
String | distributors |
Which data to collect: distributors, products, or both |
maxItems |
Integer | 50 |
Maximum number of records to return (0 = no limit) |
Example Input — Distributor Directory
{
"mode": "distributors",
"maxItems": 100
}
Example Input — Product Catalog
{
"mode": "products",
"maxItems": 50
}
Output
Each dataset record includes a record_type field ("distributor" or "product") and type-specific fields:
Distributor Record
| Field | Description |
|---|---|
record_type |
Always "distributor" |
distributor_name |
Authorized distributor company name |
phone_numbers |
Phone number(s), pipe-separated |
email |
Contact email address |
street_address |
Street address |
city |
City |
state |
2-letter BR state code (UF) |
cep |
Brazilian postal code (CEP) |
species_category |
Animal category: Pecuaria / Animais de Companhia / Avicultura / Aquicultura / Suinocultura |
scraped_at |
ISO-8601 timestamp |
Product Record
| Field | Description |
|---|---|
record_type |
Always "product" |
product_slug |
URL slug (e.g. bravecto-365) |
product_name |
Commercial product name |
product_overview |
Active ingredient summary |
product_indications |
Approved indications text from the bula |
product_presentation |
Available pack sizes / presentations |
product_url |
Full product page URL |
scraped_at |
ISO-8601 timestamp |
How It Works
Distributor mode: Fetches a single page (/lista-de-distribuidores/) and parses the inpsyde-TOC structured content — H2 headings are Brazilian states, H4 headings are species categories, and each distributor block contains name, email, phone, address, and CEP.
Product mode: Walks the products-sitemap.xml to discover all /produto/<slug>/ URLs, then fetches each product page and extracts the bula content using cheerio selectors and text regex patterns.
No proxy configuration required — the site is a standard WordPress installation with no anti-bot measures.