Industrial Equipment Price Monitor
Pricing
from $3.00 / 1,000 delivered listings
Industrial Equipment Price Monitor
Aggregate used industrial machinery listings from multiple marketplaces into one normalized price dataset.
Pricing
from $3.00 / 1,000 delivered listings
Rating
0.0
(0)
Developer
Hernan Borgarino
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
8 hours ago
Last modified
Categories
Share
Industrial Equipment Listing Finder
Search public industrial-machinery listings and return the information each marketplace actually exposes — normalized, source-linked, and usable even when the seller leaves fields blank.
This Actor is deliberately simple: search + normalize + deliver. It is not a market-price estimator, data-quality judge, or enrichment service.
Core contract
Search filters are:
categorybrandmodel- optional
location/ country
The marketplace search defines the requested category/brand/model scope. Once a listing is found, missing seller fields do not disqualify it.
Examples:
- missing year →
year: null - missing hours →
hours: null - missing model →
model: null - unknown condition →
condition: "unknown" - no numeric price →
price: null,has_price: false
Every delivered listing keeps its source URL so a user or downstream agent can inspect the original publication.
Country is the only hard post-search filter
If a country is requested and a listing explicitly declares another country, the listing is rejected.
If the marketplace returns a listing inside the requested search but the listing itself does not declare a country, the Actor does not invent one: country stays null and the listing may still be delivered.
This prevents obvious wrong-country results without pretending marketplace data is more complete than it is.
Price on request / consultar precio
Listings without a public numeric price are still useful and are still delivered.
If a source says Contact seller, Price on request, Consultar precio, Sob consulta, or similar, the Actor preserves that information in price_text:
{"price": null,"currency": null,"has_price": false,"price_text": "Consultar precio","listing_url": "https://example.com/listing/123"}
No price is invented. A bare $ symbol is not assumed to mean USD; when the numeric amount is readable but the currency is ambiguous, the Actor keeps the numeric price, sets has_price: true, and leaves currency: null.
Output fields
A listing record can contain:
brandmodelcategoryDeclaredyearhourscondition—new,used, orunknownpricecurrencyhas_price— true when the source publishes a numeric price, even if currency is unavailableprice_textprice_usd— only when a verified conversion exists; otherwisenullfx_rate_to_usdfx_rate_datecountry— ISO 3166-1 alpha-2 when resolvable from declared locationlocationskulisting_urlsourcesources— when conservative cross-source deduplication merges an obvious duplicatesource_listingsscraped_atspecsRaw— additional technical facts after contact/PII stripping
Missing marketplace facts remain null or unknown. That is expected behavior, not an error.
Coverage levels
Local coverage — default
Queried first when the user asks for a country:
- Plant & Equipment
- Mercado Libre
sources: ["auto"] selects both, providing redundancy for the Apify health prefill.
Global market reference — optional
- Machineryline
- Machinio
These sources are useful for global supply/reference data. Local inventory is not guaranteed.
Optional / noisy
- eBay Heavy Equipment is available only when explicitly selected or via
all. It remains outside defaults because of search noise and intermittent source errors.
Source completeness observed during QA
This is a small observed sample, not a guarantee for future listings:
| Source | Coverage role | Sample | Year | Hours | Public price | Country |
|---|---|---|---|---|---|---|
| Plant & Equipment | Local | 5 | 100% | 100% | 100% | 100% |
| Mercado Libre | Local | 5 | 100% | 100% | 40% | 100% |
| Machineryline | Global reference | 5 | 100% | 100% | 80% | 100% |
| Machinio | Global reference | 5 | 100% | 100% | 60% | 100% |
| eBay Heavy Equipment | Optional/noisy | 5 valid machinery listings | 100% | 100% | 100% | 100% |
Each run also stores actual per-source completeness in RUN_SUMMARY. Completeness is diagnostic only; it never decides whether an otherwise valid marketplace listing is worth returning.
Pricing
The custom event is:
result = US$0.003 per delivered listing
Every delivered listing is charged the same, whether every seller field is present or several fields are null.
A normalized record with nulls is still a complete result for this Actor: it represents the information the marketplace actually provided. Only run_diagnostic records are free.
Example: a run delivers 10 listings:
- 6 have numeric prices
- 4 say
Consultar precioor omit price
Billing is:
10 delivered listings × US$0.003 = US$0.030
apify-default-dataset-item must remain disabled. The final log and RUN_SUMMARY report:
- delivered listings
- charged listings
- listings with numeric price
- listings without numeric price
- free diagnostics
- expected custom-event charge
This lets users reconcile billing without opening the dataset.
Exact Apify event description
Use this description for the result event in Apify Console:
One delivered machinery listing record. Missing seller-declared fields, including numeric price, may be null. Run diagnostics are free.
Example input
The Store prefill is intentionally small and redundant:
{"category": "excavator","brand": "Caterpillar","location": "Argentina","sources": ["auto"],"maxResults": 5,"maxPagesPerSource": 1,"maxDetailsPerSource": 5,"maxRuntimeSecs": 180}
The prefill queries both local/default sources instead of depending on a single marketplace.
Example outputs
Numeric price:
{"record_type": "listing","brand": "Caterpillar","model": "320","year": 2023,"hours": 900,"condition": "used","price": 125000,"currency": "USD","has_price": true,"price_text": null,"country": "AR","location": "General San Martín, Argentina","source": "mercadolibre","listing_url": "https://...","scraped_at": "2026-09-24T00:00:00.000Z"}
Partial seller data / price on request:
{"record_type": "listing","brand": "Komatsu","model": null,"year": 2012,"hours": 4800,"condition": "used","price": null,"currency": null,"has_price": false,"price_text": "Price on request","country": "ES","location": "Vigo, Spain","source": "machineryline","listing_url": "https://...","scraped_at": "2026-09-24T00:00:00.000Z"}
Runtime and resilience
- Internal runtime budget: 180 seconds by default.
- When the internal budget is reached, the Actor closes cleanly with what it already found.
- Zero results is a valid run: the default dataset receives a free
record_type="run_diagnostic"item, so the dataset is never intentionally empty. - Empty/invalid input also ends
SUCCEEDEDwith a free diagnostic record. - 403, 429, challenge/interstitial or blocked pages are skipped and reported. No CAPTCHA solving, session rotation, residential proxying, or anti-bot evasion is used.
- Brand/model/category are search filters, not detail-page completeness gates.
Privacy and source policy
- Public marketplace pages only.
- No login, account, checkout, messaging, or private areas.
- No anti-bot evasion.
- Obvious email, phone, WhatsApp links and contact/address fields are stripped from free text/specifications.
- Every listing includes its public source URL.
Known limitations
- Marketplace listings are user-generated and often incomplete or inconsistent. The Actor preserves that reality with
null/unknowninstead of guessing. - Search quality is ultimately constrained by each marketplace's own search/indexing behavior.
- Some marketplaces expose country filters more reliably than others. Explicit wrong-country listings are rejected; undeclared country stays
null. price_usdis only populated when a verified conversion exists. No exchange rate is guessed.- Cross-source deduplication is intentionally conservative; uncertain duplicates remain separate records.
- Source layouts can change. The release protocol uses regression tests plus repeated cloud-prefill runs before publication/rebuild.
Keywords
Industrial equipment, heavy machinery, maquinaria usada, maquinaria pesada, excavadoras, retroexcavadoras, Caterpillar, Komatsu, maquinaria industrial, máquinas usadas, equipamentos pesados, máquinas usadas, escavadeiras, preços, listings, equipment API.