Agriaffaires Scraper — Used Farm Machinery Europe
Pricing
from $5.00 / 1,000 scraped agriaffaires details
Agriaffaires Scraper — Used Farm Machinery Europe
Scrape Agriaffaires used farm machinery: tractors, harvesters, prices (HT), hours, power, tires, dealer info, images. Category or startUrls. Listings or details mode. Optional phones. Camoufox + Apify Residential for DataDome.
Pricing
from $5.00 / 1,000 scraped agriaffaires details
Rating
0.0
(0)
Developer
Andrej Kiva
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
10 hours ago
Last modified
Categories
Share
Disclaimer: Unofficial integration for publicly accessible Agriaffaires listings. Not affiliated with, sponsored by, or endorsed by Agriaffaires, MB Diffusion, or Leboncoin. Trademarks belong to their respective owners.
This Actor is provided for informational and research purposes only (market research, inventory monitoring, pricing workflows). You are solely responsible for ensuring your use complies with applicable laws (including GDPR/DSGVO), platform terms of use, and your organization's policies. Phone numbers are off by default and must only be processed with a lawful basis.
No warranty is given as to accuracy, completeness, or continued availability of third-party data. Use at your own risk.
Scrape used agricultural machinery from Agriaffaires — tractors, harvesters, tillage, sprayers, livestock equipment, and more — into clean JSON on Apify. Built for European dealer intelligence, price benchmarking, and inventory monitoring.
Supports category / filtered start URLs and direct listing pages. Choose listings for fast card-level catalogs or details for full product pages with technical specs, tire wear, image galleries, and seller company context.
Uses Camoufox (anti-detect Firefox) inside Apify with residential proxies (FR recommended) to handle DataDome. No external unlocker service required.
When to use this Actor
Use the Agriaffaires Scraper when you need:
- Asking prices (HT) and currency for used farm machinery across Europe
- Technical attributes — year, hours, power (ch / HP / kW), drive wheels, tire size and wear, serial / reference
- Dealer context — company name, type, store URL, member since, listing count
- Geography — country, region, department (including featured “À la Une” dealer cards)
- Bulk category coverage — paste any Agriaffaires search or category URL (apply filters on-site first)
Ideal for farm equipment dealers, market analysts, and data teams tracking the European used agricultural machinery market.
Data pipeline
Input Mode Output───────────────────────── ──────────────────── ──────────────────────────Category / filtered URL ──► listings (fast cards) ──► price, year, hours, power, locationDirect listing URL ──► details (full PDP) ──► specs, tires, images, seller──► phones (opt-in only)
Key Features
- Two extraction modes —
listings(category cards) ordetails(PDP + JSON-LD + specs table) - Ag specs — hours, HP/kW, 4 RM drive, tire wear %, reference, condition, offer type
- Seller block — dealer name, type, account id, store link, contact names, languages
- Location from cards — standard localisation block and featured dealer logoPro fallback
- Optional phone decode —
includePhones(defaultfalse); numbers embedded in HTML (data-p/data-pdisplay) - Camoufox + Apify Residential — DataDome-aware session warmup and retries; prefer country
FR
Input Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
startUrls | Array | sample tractors URL | Category, filtered search, or detail URLs. |
runMode | String | "listings" | "listings" or "details". Default listings keeps Store QA under 5 minutes. |
includePhones | Boolean | false | Decode seller phones (details mode only). |
maxItems | Integer | 5 | Max listings (0 = unlimited). Raise for production. |
maxPagesPerUrl | Integer | 1 | Pagination depth (/occasion/{page}/…). |
concurrencyLimit | Integer | 1 | Parallel detail workers (kept low; browser session). |
proxyConfiguration | Object | Residential | Required against DataDome — use Apify Residential, country FR. |
Input example
{"startUrls": [{ "url": "https://www.agriaffaires.com/occasion/1/tracteur-agricole.html" }],"runMode": "listings","includePhones": false,"maxItems": 50,"maxPagesPerUrl": 3,"concurrencyLimit": 1,"proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"],"apifyProxyCountry": "FR"}}
Output Format
Each row is pushed to the default dataset.
Details mode (enriched)
| Field | Description |
|---|---|
id, url, title | Listing identifiers |
brand, model, category, breadcrumbs | Machine identity |
priceHt, currency, priceStatus | Asking price (HT) / on request |
year, hours, powerHp, powerKw, driveWheels | Core machine facts |
frontTiresSize/Wear, rearTiresSize/Wear | Tire data when published |
reference, condition, offerType, serialNumber | Listing metadata |
country, region, department, location | Geography |
sellerName, sellerType, sellerAccountId, sellerStoreUrl | Dealer company |
memberSince, sellerTotalListings, contactPersons | Seller context |
phoneNumbers | Only when includePhones=true |
description, specs, images | Free text, spec map, gallery |
Listings mode (cards)
Card-level fields include id, url, title, brand, model, category, priceHt, currency, priceStatus, year, hours, powerHp, location, country, region, department, latitude, longitude, imageUrl, imageCount, isTop.
Example record
{"id": "40838192","title": "Fiat / Fiatagri 955C","brand": "Fiat / Fiatagri","model": "955C","category": "Tracteur agricole","year": 2008,"driveWheels": "4 RM","frontTiresWear": 25,"rearTiresWear": 30,"reference": "A15907","currency": "EUR","priceStatus": "on_request","country": "Italie","sellerName": "Volatile Bernardo srl","sellerType": "Concessionnaire / Distributeur","sellerAccountId": "153018"}
Typical Workflow
- Open a filtered category on Agriaffaires (brand, year, country, price).
- Paste the URL into
startUrls. - Set
runModetolistingsfor a fast index ordetailsfor full enrichment. - Enable Apify Residential proxies with country
FR. - Leave
includePhonesoff unless you have a lawful basis to process phone numbers. - Export the dataset as JSON, CSV, or Excel from the Apify run.
Limitations
- Agriaffaires is protected by DataDome. Datacenter IPs are often blocked; use Apify Residential (FR).
- Browser sessions (Camoufox) cost more CU and time than pure HTTP scrapers; expect retries when challenges appear.
- Field coverage depends on what the seller published (hours / power / tires may be missing).
- Multi-language labels are normalized best-effort from FR / EN / DE tables.
- Phone extraction is opt-in and details-mode only.
Use cases
| Use case | What you get |
|---|---|
| Farm equipment pricing | HT prices, hours, power, tires for tractors & harvesters |
| Dealer intelligence | Company name, type, store URL, listing count |
| Category coverage | Paste filtered Agriaffaires search URLs |
| Cross-platform comps | Join brand/model with Machineryline / Surplex |
| AI / MCP workflows | Run via Apify API, clients, or MCP and summarize ag inventory |
Integration examples
Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('crawloop/agriaffaires-scraper').call({startUrls: [{ url: 'https://www.agriaffaires.com/occasion/1/tracteur-agricole.html' }],runMode: 'listings',maxItems: 50,proxyConfiguration: {useApifyProxy: true,apifyProxyGroups: ['RESIDENTIAL'],apifyProxyCountry: 'FR',},});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items.slice(0, 5));
Python
from apify_client import ApifyClientclient = ApifyClient(token)run = client.actor("crawloop/agriaffaires-scraper").call(run_input={"startUrls": [{"url": "https://www.agriaffaires.com/occasion/1/tracteur-agricole.html"}],"runMode": "details","includePhones": False,"maxItems": 30,"proxyConfiguration": {"useApifyProxy": True,"apifyProxyGroups": ["RESIDENTIAL"],"apifyProxyCountry": "FR",},})items = list(client.dataset(run["defaultDatasetId"]).iterate_items())print(len(items), items[:3])
cURL
curl "https://api.apify.com/v2/acts/crawloop~agriaffaires-scraper/runs?token=$APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"startUrls": [{"url": "https://www.agriaffaires.com/occasion/1/tracteur-agricole.html"}],"runMode": "listings","maxItems": 50,"proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"],"apifyProxyCountry": "FR"}}'
MCP and AI assistants
Use this Actor from AI tools via Apify MCP. Connect your Apify account, then call crawloop/agriaffaires-scraper.
Example prompts:
- "Run Agriaffaires Scraper on used tractors in listings mode, max 50, and return title, brand, year, hours, priceHt"
- "Scrape Agriaffaires details for harvesters and summarize median hours and asking prices"
- "Chain Agriaffaires Scraper then Machineryline Scraper for farm equipment and compare dealer stock"
Suite next step
For heavy equipment dealer contacts, use Machineryline Scraper. For industrial auction lots, use Surplex Scraper or Troostwijk Scraper.
Related Actors
| Actor | What it covers |
|---|---|
| Agriaffaires Scraper ◄── you are here | Used farm machinery Europe |
| Machineryline Scraper | Heavy equipment & dealer contacts |
| Surplex Scraper | Industrial auction lots |
| Troostwijk Scraper | Multi-country industrial auctions |
| Truck1 Scraper | Commercial trucks |