Convert surplex.com auction activity into commercial intelligence: live bids, lot metadata and full attributes across industrial assets. Surface motivated sellers, benchmark realised prices and trigger sales outreach aligned to active auction windows.
Changelog — Surplex Scraper — Europe Industrial Auctions
2026-10-04 — claves legacy del snapshot → ext_* al servir (contrato FTP-28)
preloaded: _legacy_to_ext renombra claves sin prefijo del snapshot a ext_* (valor intacto, no pisa ext_ existente).
2026-10-04 — convención tiempo_uso
tiempo_uso sin cambios de formato. Nueva ext_tiempo_uso_unidad ('h'; null si tiempo_uso null) y ext_tiempo_uso_calidad ('cero' si 0; 'nlp_plazo' si el valor sale del NLP y es con certeza un plazo -'within 48 hours', '24 hours notice'...-, solo marcado, nunca filtrado) en los 4 mappers y en preloaded (derivado de lo almacenado, idempotente, antes de _to_out). dataset_schema.json declara las 2 ext.
Pendiente (no aplicado, decision David): en preloaded bid-history con outputSchema=english, el orden _to_out -> _coerce_ftp_types pierde hours y emite claves FTP.
2026-09-18 — T7 push
T9 (push 2026-09-18): _map_listing_lot_to_ftp (listing) anadia solo 27/31 claves FTP-28 -- completadas tipo_motor/fabric_motor/pot_motor/carga (None, sin fuente en el payload de listado); dataset_schema.json renombra access_mode/data_level -> ext_access_mode/ext_data_level para que coincidan con lo que ya emite el codigo desde T8.
T8 (push 2026-09-18): access_mode/data_level -> ext_access_mode/ext_data_level en los 4 mappers (conformidad); _coerce_ftp_types (preloaded_bid_history) hace fallback correo <- email cuando el dataset legacy trae ese campo sin renombrar.
T7 (push 2026-09-18): _coerce_ftp_types (preloaded_bid_history) ahora emite las 31 claves FTP-28 (antes solo 8/31); las 23 nuevas quedan en None cuando el dataset legacy no trae la fuente -- fix de CONFORMIDAD (presencia de claves), no de completitud.
Formato: que cambio, por que, y la medicion que lo respalda. Un cambio sin numero detras es
una opinion; en este repo no cuenta como entrada de changelog.
Las versiones son las de Apify (mayor.menor). La plataforma no admite numero de parche.
[1.4] — 19 de agosto de 2026
Corregido — el descubrimiento se rendia al 61% y reportaba exito
Se paraba en la pagina 552 de 898, se quedaba con el 61% del catalogo y terminaba en SUCCEEDED.
Ahora salta la pagina fallida en lugar de abortar, con 6 reintentos.
Cambiado — descubrimiento en paralelo
De serie a 4 hilos, con tamano de pagina negociado (200 / 100 / 96 / 48). Concurrencia 8 la rechaza
el servidor. De 82 minutos a ~25.
Corregido — los runs de admin facturaban PPE
El modo admin volcaba tambien al dataset por defecto, lo que dispara el cobro por resultado contra
nuestra propia cuenta. Un run llego al tope de $40,24 y murio despues de haber hecho todo el
trabajo. Ahora el modo admin no toca el dataset por defecto.
Cerrado — el historial de pujas no existe
El endpoint esta retirado. Comprobado con cookie de sesion, Bearer, cuenta verificada, lotes
abiertos y cerrados, y cuatro variantes de ruta: 404 en todas. El GraphQL de la tienda no expone
ninguna query de pujas entre sus 44. ext_bid_history y ext_total_bids_history estan muertos.
Pendiente
El catalogo de cerrados es una ventana movil de unos cuatro meses: el snapshot de agosto
(42.100) no contiene 22.297 lotes que si trajo el de julio (48.096). El historico real son los
64.397 de la union. Sin acumular por item_id, la historia se pierde sola.