2026-03-23 09:00:35 [crawlers.pipelines.post_to_api] ERROR: vpauto.fr, item_id 32faaf2c-b22d-5118-b0e7-a4457ce4e78e: Failed to post item to https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
| Status Code: 400
| Response Content: {"error":"Command deserialization failed. Check field types \u2014 a null value may have been sent for a non-nullable field.","path":"/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing","requestBody":"{\u0022Color\u0022: \u0022Dark orange metallic\u0022, \u0022OriginalPhotoCount\u0022: 0, \u0022SellerName\u0022: null, \u0022PriceIncludesVat\u0022: true, \u0022Title\u0022: \u0022VOLKSWAGEN AMAROK DOUBLE CAB 2.0 TDI 180 FAP 4MOTION CANYON A\u0022, \u0022Price\u0022: {\u0022AmountSmallestUnit\u0022: 240000, \u0022CurrencyCode\u0022: \u0022EUR\u0022}, \u0022Make\u0022: \u0022VOLKSWAGEN\u0022, \u0022Model\u0022: \u0022AMAROK DOUBLE CAB 2.0 TDI 180 FAP 4MOTION CANYON A\u0022, \u0022Transmission\u0022: \u0022automatic\u0022, \u0022Engine\u0022: \u00222.0L\u0022, \u0022FuelType\u0022: \u0022Diesel\u0022, \u0022Odometer\u0022: {\u0022Value\u0022: null, \u0022Unit\u0022: 1}, \u0022RegistrationDate\u0022: \u00222014-10-11\u0022, \u0022LinkToWebOffer\u0022: \u0022https://vpauto.fr/vehicule/ecfac845a0/volkswagen-amarok-double-cab-20-tdi-180-fap-4motion-canyon-a\u0022, \u0022ExpirationDate\u0022: \u00222026-03-23T11:50:00Z\u0022, \u0022Location\u0022: \u002244 - NANTES\u0022, \u0022OriginCountryCode\u0022: \u0022FR\u0022, \u0022Trim\u0022: \u0022AMAROK DOUBLE CAB 2.0 TDI 180 FAP 4MOTION CANYON A\u0022, \u0022Year\u0022: 2014, \u0022Listing\u0022: \u0022auction\u0022, \u0022Category\u0022: null, \u0022SeatsNumber\u0022: 5, \u0022DoorsNumber\u0022: 4, \u0022CO2EmissionValue\u0022: 226, \u0022EmissionStandard\u0022: \u0022EURO 5\u0022, \u0022CarExpertReportSourceUrl\u0022: null, \u0022IsVatIncluded\u0022: true, \u0022IsVatDeductible\u0022: true, \u0022Id\u0022: \u002232faaf2c-b22d-5118-b0e7-a4457ce4e78e\u0022}"}
| Response Headers: {'Content-Type': 'application/json', 'Date': 'Mon, 23 Mar 2026 09:00:35 GMT', 'Request-Context': 'appId=cid-v1:1a14ebe8-38cd-4629-ab2d-40684250fa5b', 'Server': 'Kestrel', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'Transfer-Encoding': 'chunked'}
2026-03-23 09:00:35 [crawlers.pipelines.post_to_api] ERROR: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
Traceback (most recent call last):
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:00:35 [scrapy.core.scraper] ERROR: Error processing {'auction_title': '',
'c_o_2_emission_value': 226,
'car_expert_report_source_url': None,
'category': None,
'color': 'Dark orange metallic',
'currency': 'EUR',
'doors_number': 4,
'emission_standard': 'EURO 5',
'engine': '2.0L',
'expiration_date': '2026-03-23T11:50:00Z',
'fuel_type': 'Diesel',
'id': '32faaf2c-b22d-5118-b0e7-a4457ce4e78e',
'is_damaged': False,
'is_operable': False,
'is_vat_deductible': True,
'is_vat_included': True,
'link_to_web_offer': 'https://vpauto.fr/vehicule/ecfac845a0/volkswagen-amarok-double-cab-20-tdi-180-fap-4motion-canyon-a',
'listing': 'auction',
'location': '44 - NANTES',
'make': 'VOLKSWAGEN',
'model': 'AMAROK DOUBLE CAB 2.0 TDI 180 FAP 4MOTION CANYON A',
'odometer': None,
'odometer_reading_unit': 'km',
'origin_country_code': 'FR',
'original_photo_count': 0,
'price': 2400,
'price_includes_vat': True,
'registration_date': '2014-10-11',
'seats_number': 5,
'seller_name': None,
'title': 'VOLKSWAGEN AMAROK DOUBLE CAB 2.0 TDI 180 FAP 4MOTION CANYON A',
'transmission': 'automatic',
'trim': 'AMAROK DOUBLE CAB 2.0 TDI 180 FAP 4MOTION CANYON A',
'year': 2014}
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/twisted/internet/defer.py", line 1078, in _runCallbacks
current.result = callback( # type: ignore[misc]
File "/usr/local/lib/python3.11/dist-packages/scrapy/utils/defer.py", line 340, in f
return deferred_from_coro(coro_f(*coro_args, **coro_kwargs))
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 114, in process_item
raise e
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:06:18 [crawlers.pipelines.post_to_api] ERROR: vpauto.fr, item_id 63f06bf3-a44d-5fc2-9711-8247722d1435: Failed to post item to https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
| Status Code: 400
| Response Content: {"error":"Command deserialization failed. Check field types \u2014 a null value may have been sent for a non-nullable field.","path":"/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing","requestBody":"{\u0022Color\u0022: \u0022Yellow\u0022, \u0022OriginalPhotoCount\u0022: 0, \u0022SellerName\u0022: null, \u0022PriceIncludesVat\u0022: true, \u0022Title\u0022: \u0022LIGIER PRO STABY\u0022, \u0022Price\u0022: {\u0022AmountSmallestUnit\u0022: 770000, \u0022CurrencyCode\u0022: \u0022EUR\u0022}, \u0022Make\u0022: \u0022LIGIER PRO\u0022, \u0022Model\u0022: \u0022STABY\u0022, \u0022Transmission\u0022: \u0022automatic\u0022, \u0022Engine\u0022: \u0022\u0022, \u0022FuelType\u0022: \u0022Electric\u0022, \u0022Odometer\u0022: {\u0022Value\u0022: null, \u0022Unit\u0022: 1}, \u0022RegistrationDate\u0022: \u00222017-10-18\u0022, \u0022LinkToWebOffer\u0022: \u0022https://vpauto.fr/vehicule/7ee4a7bcf8/ligier-pro-staby\u0022, \u0022ExpirationDate\u0022: null, \u0022Location\u0022: \u002256 - LORIENT\u0022, \u0022OriginCountryCode\u0022: \u0022FR\u0022, \u0022Trim\u0022: \u0022STABY\u0022, \u0022Year\u0022: 2017, \u0022Listing\u0022: \u0022auction\u0022, \u0022Category\u0022: null, \u0022SeatsNumber\u0022: 1, \u0022DoorsNumber\u0022: null, \u0022CO2EmissionValue\u0022: null, \u0022EmissionStandard\u0022: null, \u0022CarExpertReportSourceUrl\u0022: null, \u0022IsVatIncluded\u0022: true, \u0022IsVatDeductible\u0022: true, \u0022Id\u0022: \u002263f06bf3-a44d-5fc2-9711-8247722d1435\u0022}"}
| Response Headers: {'Content-Type': 'application/json', 'Date': 'Mon, 23 Mar 2026 09:06:17 GMT', 'Request-Context': 'appId=cid-v1:1a14ebe8-38cd-4629-ab2d-40684250fa5b', 'Server': 'Kestrel', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'Transfer-Encoding': 'chunked'}
2026-03-23 09:06:18 [crawlers.pipelines.post_to_api] ERROR: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
Traceback (most recent call last):
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:06:18 [scrapy.core.scraper] ERROR: Error processing {'auction_title': '',
'c_o_2_emission_value': None,
'car_expert_report_source_url': None,
'category': None,
'color': 'Yellow',
'currency': 'EUR',
'doors_number': None,
'emission_standard': None,
'engine': '',
'expiration_date': None,
'fuel_type': 'Electric',
'id': '63f06bf3-a44d-5fc2-9711-8247722d1435',
'is_damaged': False,
'is_operable': True,
'is_vat_deductible': True,
'is_vat_included': True,
'link_to_web_offer': 'https://vpauto.fr/vehicule/7ee4a7bcf8/ligier-pro-staby',
'listing': 'auction',
'location': '56 - LORIENT',
'make': 'LIGIER PRO',
'model': 'STABY',
'odometer': None,
'odometer_reading_unit': 'km',
'origin_country_code': 'FR',
'original_photo_count': 0,
'price': 7700,
'price_includes_vat': True,
'registration_date': '2017-10-18',
'seats_number': 1,
'seller_name': None,
'title': 'LIGIER PRO STABY',
'transmission': 'automatic',
'trim': 'STABY',
'year': 2017}
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/twisted/internet/defer.py", line 1078, in _runCallbacks
current.result = callback( # type: ignore[misc]
File "/usr/local/lib/python3.11/dist-packages/scrapy/utils/defer.py", line 340, in f
return deferred_from_coro(coro_f(*coro_args, **coro_kwargs))
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 114, in process_item
raise e
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:06:47 [crawlers.pipelines.post_to_api] ERROR: vpauto.fr, item_id 0c27b2ba-8d4d-5ba9-8520-522228009187: Failed to post item to https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
| Status Code: 400
| Response Content: {"error":"Command deserialization failed. Check field types \u2014 a null value may have been sent for a non-nullable field.","path":"/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing","requestBody":"{\u0022Color\u0022: \u0022Unknown\u0022, \u0022OriginalPhotoCount\u0022: 0, \u0022SellerName\u0022: null, \u0022PriceIncludesVat\u0022: true, \u0022Title\u0022: \u0022VOLKSWAGEN VOLKSWAGEN CRAFTER\u0022, \u0022Price\u0022: {\u0022AmountSmallestUnit\u0022: 200000, \u0022CurrencyCode\u0022: \u0022EUR\u0022}, \u0022Make\u0022: \u0022VOLKSWAGEN\u0022, \u0022Model\u0022: \u0022CRAFTER\u0022, \u0022Transmission\u0022: \u0022automatic\u0022, \u0022Engine\u0022: \u0022\u0022, \u0022FuelType\u0022: \u0022Diesel\u0022, \u0022Odometer\u0022: {\u0022Value\u0022: null, \u0022Unit\u0022: 1}, \u0022RegistrationDate\u0022: \u00222025-10-20\u0022, \u0022LinkToWebOffer\u0022: \u0022https://vpauto.fr/vehicule/33dd7710aa/volkswagen-volkswagen-crafter\u0022, \u0022ExpirationDate\u0022: null, \u0022Location\u0022: \u002259 - LILLE\u0022, \u0022OriginCountryCode\u0022: \u0022FR\u0022, \u0022Trim\u0022: \u0022CRAFTER\u0022, \u0022Year\u0022: 2025, \u0022Listing\u0022: \u0022auction\u0022, \u0022Category\u0022: null, \u0022SeatsNumber\u0022: 3, \u0022DoorsNumber\u0022: null, \u0022CO2EmissionValue\u0022: 339, \u0022EmissionStandard\u0022: null, \u0022CarExpertReportSourceUrl\u0022: null, \u0022IsVatIncluded\u0022: false, \u0022IsVatDeductible\u0022: false, \u0022Id\u0022: \u00220c27b2ba-8d4d-5ba9-8520-522228009187\u0022}"}
| Response Headers: {'Content-Type': 'application/json', 'Date': 'Mon, 23 Mar 2026 09:06:46 GMT', 'Request-Context': 'appId=cid-v1:1a14ebe8-38cd-4629-ab2d-40684250fa5b', 'Server': 'Kestrel', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'Transfer-Encoding': 'chunked'}
2026-03-23 09:06:47 [crawlers.pipelines.post_to_api] ERROR: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
Traceback (most recent call last):
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:06:47 [scrapy.core.scraper] ERROR: Error processing {'auction_title': '',
'c_o_2_emission_value': 339,
'car_expert_report_source_url': None,
'category': None,
'color': 'Unknown',
'currency': 'EUR',
'doors_number': None,
'emission_standard': None,
'engine': '',
'expiration_date': None,
'fuel_type': 'Diesel',
'id': '0c27b2ba-8d4d-5ba9-8520-522228009187',
'is_damaged': False,
'is_operable': True,
'is_vat_deductible': False,
'is_vat_included': False,
'link_to_web_offer': 'https://vpauto.fr/vehicule/33dd7710aa/volkswagen-volkswagen-crafter',
'listing': 'auction',
'location': '59 - LILLE',
'make': 'VOLKSWAGEN',
'model': 'CRAFTER',
'odometer': None,
'odometer_reading_unit': 'km',
'origin_country_code': 'FR',
'original_photo_count': 0,
'price': 2000,
'price_includes_vat': True,
'registration_date': '2025-10-20',
'seats_number': 3,
'seller_name': None,
'title': 'VOLKSWAGEN VOLKSWAGEN CRAFTER',
'transmission': 'automatic',
'trim': 'CRAFTER',
'year': 2025}
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/twisted/internet/defer.py", line 1078, in _runCallbacks
current.result = callback( # type: ignore[misc]
File "/usr/local/lib/python3.11/dist-packages/scrapy/utils/defer.py", line 340, in f
return deferred_from_coro(coro_f(*coro_args, **coro_kwargs))
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 114, in process_item
raise e
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:06:49 [crawlers.pipelines.post_to_api] ERROR: vpauto.fr, item_id d2965b9c-c574-5f2d-82db-1ea998f9e17b: Failed to post item to https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
| Status Code: 400
| Response Content: {"error":"Command deserialization failed. Check field types \u2014 a null value may have been sent for a non-nullable field.","path":"/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing","requestBody":"{\u0022Color\u0022: \u0022Navy blue metallic\u0022, \u0022OriginalPhotoCount\u0022: 27, \u0022SellerName\u0022: null, \u0022PriceIncludesVat\u0022: true, \u0022Title\u0022: \u0022RENAULT Clio 1.5 dCi 85 Exception\u0022, \u0022Price\u0022: {\u0022AmountSmallestUnit\u0022: 200000, \u0022CurrencyCode\u0022: \u0022EUR\u0022}, \u0022Make\u0022: \u0022RENAULT\u0022, \u0022Model\u0022: \u0022Clio 1.5 dCi 85 Exception\u0022, \u0022Transmission\u0022: \u0022manual\u0022, \u0022Engine\u0022: \u00221.5L\u0022, \u0022FuelType\u0022: \u0022Diesel\u0022, \u0022Odometer\u0022: {\u0022Value\u0022: null, \u0022Unit\u0022: 1}, \u0022RegistrationDate\u0022: \u00222006-10-03\u0022, \u0022LinkToWebOffer\u0022: \u0022https://vpauto.fr/vehicule/f0e384c7b1/renault-clio-15-dci-85-exception\u0022, \u0022ExpirationDate\u0022: null, \u0022Location\u0022: \u002244 - NANTES\u0022, \u0022OriginCountryCode\u0022: \u0022FR\u0022, \u0022Trim\u0022: \u0022Clio 1.5 dCi 85 Exception\u0022, \u0022Year\u0022: 2006, \u0022Listing\u0022: \u0022auction\u0022, \u0022Category\u0022: null, \u0022SeatsNumber\u0022: 5, \u0022DoorsNumber\u0022: 5, \u0022CO2EmissionValue\u0022: 117, \u0022EmissionStandard\u0022: \u0022EURO 4\u0022, \u0022CarExpertReportSourceUrl\u0022: null, \u0022IsVatIncluded\u0022: false, \u0022IsVatDeductible\u0022: false, \u0022Id\u0022: \u0022d2965b9c-c574-5f2d-82db-1ea998f9e17b\u0022, \u0022Photos\u0022: [{\u0022BlobStorageUrl\u0022: \u0022https://alxproduction.blob.core.windows.net/top-deal-listing/listing_d2965b9c-c574-5f2d-82db-1ea998f9e17b/d2965b9c-c574-5f2d-82db-1ea998f9e17b_image_0.jpg\u0022, \u0022OriginUrl\u0022: \u0022https://cdn.vpauto.fr/GCpzUnQ_01-1200.jpg\u0022, \u0022Width\u0022: 1200, \u0022Height\u0022: 900, \u0022Extension\u0022: \u0022jpg\u0022, \u0022FileSizeInBytes\u0022: 96213}, {\u0022BlobStorageUrl\u0022: \u0022https://alxproduction.blob.core.windows.net/top-deal-listing/listing_d2965b9c-c574-5f2d-82db-1ea998f9e17b/d2965b9c-c574-5f2d-82db-1ea998f9e17b_image_1.jpg\u0022, \u0022OriginUrl\u0022: \u0022https://cdn.vpauto.fr/GCpzUnQ_02-1200.jpg\u0022, \u0022Width\u0022: 1200, \u0022Height\u0022: 900, \u0022Extension\u0022: \u0022jpg\u0022, \u0022FileSizeInBytes\u0022: 77812}, {\u0022BlobStorageUrl\u0022: \u0022https://alxproduction.blob.core.windows.net/top-deal-listing/listing_d2965b9c-c574-5f2d-82db-1ea998f9e17b/d2965b9c-c574-5f2d-82db-1ea998f9e17b_image_2.jpg\u0022, \u0022OriginUrl\u0022: \u0022https://cdn.vpauto.fr/GCpzUnQ_03-1200.jpg\u0022, \u0022Width\u0022: 1200, \u0022Height\u0022: 900, \u0022Extension\u0022: \u0022jpg\u0022, \u0022FileSizeInBytes\u0022: 89544}, {\u0022BlobStorageUrl\u0022: \u0022https://alxproduction.blob.core.windows.net/top-deal-listing/listing_d2965b9c-c574-5f2d-82db-1ea998f9e17b/d2965b9c-c574-5f2d-82db-1ea998f9e17b_image_3.jpg\u0022, \u0022OriginUrl\u0022: \u0022https://cdn.vpauto.fr/GCpzUnQ_04-1200.jpg\u0022, \u0022Width\u0022: 1200, \u0022Height\u0022: 900, \u0022Extension\u0022: \u0022jpg\u0022, \u0022FileSizeInBytes\u0022: 72964}, {\u0022BlobStorageUrl\u0022: \u0022https://alxproduction.blob.core.windows.net/top-deal-listing/listing_d2965b9c-c574-5f2d-82db-1ea998f9e17b/d2965b9c-c574-5f2d-82db-1ea998f9e17b_image_4.jpg\u0022, \u0022OriginUrl\u0022: \u0022https://cdn.vpauto.fr/GCpzUnQ_05-1200.jpg\u0022, \u0022Width\u0022: 1200, \u0022Height\u0022: 900, \u0022Extension\u0022: \u0022jpg\u0022, \u0022FileSizeInBytes\u0022: 90389}, {\u0022BlobStorageUrl\u0022: \u0022https://alxproduction.blob.core.windows.net/top-deal-listing/listing_d2965b9c-c574-5f2d-82db-1ea998f9e17b/d2965b9c-c574-5f2d-82db-1ea998f9e17b_image_5.jpg\u0022, \u0022OriginUrl\u0022: \u0022https://cdn.vpauto.fr/GCpzUnQ_06-1200.jpg\u0022, \u0022Width\u0022: 1200, \u0022Height\u0022: 900, \u0022Extension\u0022: \u0022jpg\u0022, \u0022FileSizeInBytes\u0022: 89230}, {\u0022BlobStorageUrl\u0022: \u0022https://alxproduction.blob.core.windows.net/top-deal-listing/listing_d2965b9c-c574-5f2d-82db-1ea998f9e17b/d2965b9c-c574-5f2d-82db-1ea998f9e17b_image_6.jpg\u0022, \u0022OriginUrl\u0022: \u0022https://cdn.vpauto.fr/GCpzUnQ_07-1200.jpg\u0022, \u0022Width\u0022: 1200, \u0022Height\u0022: 900, \u0022Extension\u0022: \u0022jpg\u0022, \u0022FileSizeInBytes\u0022: 93358}, {\u0022BlobStorageUrl\u0022: \u0022https://alxproduction.blob.core.windows.net/top-deal-listing/listing_d2965b9c-c574-5f2d-82db-1ea998f9e17b/d2965b9c-c574-5f2d-82db-1ea998f9e17b_image_7.jpg\u0022, \u0022OriginUrl\u0022: \u0022https://cdn.vpauto.fr/GCpzUnQ_08-1200.jpg\u0022, \u0022Width\u0022: 1200, \u0022Height\u0022: 900, \u0022Extension\u0022: \u0022jpg\u0022, \u0022FileSizeInBytes\u0022: 89218}, {\u0022BlobStorageUrl\u0022: \u0022https://alxproduction.blob.core.windows.net/top-deal-listing/listing_d2965b9c-c574-5f2d-82db-1ea998f9e17b/d2965b9c-c574-5f2d-82db-1ea998f9e17b_image_8.jpg\u0022, \u0022OriginUrl\u0022: \u0022https://cdn.vpauto.fr/GCpzUnQ_09-1200.jpg\u0022, \u0022Width\u0022: 1200, \u0022Height\u0022: 900, \u0022Extension\u0022: \u0022jpg\u0022, \u0022FileSizeInBytes\u0022: 133070}, {\u0022BlobStorageUrl\u0022: \u0022https://alxproduction.blob.core.windows.net/top-deal-listing/listing_d2965b9c-c574-5f2d-82db-1ea998f9e17b/d2965b9c-c574-5f2d-82db-1ea998f9e17b_image_9.jpg\u0022, \u0022OriginUrl\u0022: \u0022https://cdn.vpauto.fr/GCpzUnQ_10-1200.jpg\u0022, \u0022Width\u0022: 1200, \u0022Height\u0022: 900, \u0022Extension\u0022: \u0022jpg\u0022, \u0022F...(truncated)"}
| Response Headers: {'Content-Type': 'application/json', 'Date': 'Mon, 23 Mar 2026 09:06:49 GMT', 'Request-Context': 'appId=cid-v1:1a14ebe8-38cd-4629-ab2d-40684250fa5b', 'Server': 'Kestrel', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'Transfer-Encoding': 'chunked'}
2026-03-23 09:06:49 [crawlers.pipelines.post_to_api] ERROR: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
Traceback (most recent call last):
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:06:49 [scrapy.core.scraper] ERROR: Error processing {'auction_title': '',
'c_o_2_emission_value': 117,
'car_expert_report_source_url': None,
'category': None,
'color': 'Navy blue metallic',
'currency': 'EUR',
'doors_number': 5,
'emission_standard': 'EURO 4',
'engine': '1.5L',
'expiration_date': None,
'fuel_type': 'Diesel',
'id': 'd2965b9c-c574-5f2d-82db-1ea998f9e17b',
'is_damaged': False,
'is_operable': True,
'is_vat_deductible': False,
'is_vat_included': False,
'link_to_web_offer': 'https://vpauto.fr/vehicule/f0e384c7b1/renault-clio-15-dci-85-exception',
'listing': 'auction',
'location': '44 - NANTES',
'make': 'RENAULT',
'model': 'Clio 1.5 dCi 85 Exception',
'odometer': None,
'odometer_reading_unit': 'km',
'origin_country_code': 'FR',
'original_photo_count': 27,
'photos': [{'BlobStorageUrl': 'https://alxproduction.blob.core.windows.net/top-deal-listing/listing_d2965b9c-c574-5f2d-82db-1ea998f9e17b/d2965b9c-c574-5f2d-82db-1ea998f9e17b_image_0.jpg',
'Extension': 'jpg',
'FileSizeInBytes': 96213,
'Height': 900,
'OriginUrl': 'https://cdn.vpauto.fr/GCpzUnQ_01-1200.jpg',
'Width': 1200},
{'BlobStorageUrl': 'https://alxproduction.blob.core.windows.net/top-deal-listing/listing_d2965b9c-c574-5f2d-82db-1ea998f9e17b/d2965b9c-c574-5f2d-82db-1ea998f9e17b_image_1.jpg',
'Extension': 'jpg',
'FileSizeInBytes': 77812,
'Height': 900,
'OriginUrl': 'https://cdn.vpauto.fr/GCpzUnQ_02-1200.jpg',
'Width': 1200},
{'BlobStorageUrl': 'https://alxproduction.blob.core.windows.net/top-deal-listing/listing_d2965b9c-c574-5f2d-82db-1ea998f9e17b/d2965b9c-c574-5f2d-82db-1ea998f9e17b_image_2.jpg',
'Extension': 'jpg',
'FileSizeInBytes': 89544,
'Height': 900,
'OriginUrl': 'https://cdn.vpauto.fr/GCpzUnQ_03-1200.jpg',
'Width': 1200},
{'BlobStorageUrl': 'https://alxproduction.blob.core.windows.net/top-deal-listing/listing_d2965b9c-c574-5f2d-82db-1ea998f9e17b/d2965b9c-c574-5f2d-82db-1ea998f9e17b_image_3.jpg',
'Extension': 'jpg',
'FileSizeInBytes': 72964,
'Height': 900,
'OriginUrl': 'https://cdn.vpauto.fr/GCpzUnQ_04-1200.jpg',
'Width': 1200},
{'BlobStorageUrl': 'https://alxproduction.blob.core.windows.net/top-deal-listing/listing_d2965b9c-c574-5f2d-82db-1ea998f9e17b/d2965b9c-c574-5f2d-82db-1ea998f9e17b_image_4.jpg',
'Extension': 'jpg',
'FileSizeInBytes': 90389,
'Height': 900,
'OriginUrl': 'https://cdn.vpauto.fr/GCpzUnQ_05-1200.jpg',
'Width': 1200},
{'BlobStorageUrl': 'https://alxproduction.blob.core.windows.net/top-deal-listing/listing_d2965b9c-c574-5f2d-82db-1ea998f9e17b/d2965b9c-c574-5f2d-82db-1ea998f9e17b_image_5.jpg',
'Extension': 'jpg',
'FileSizeInBytes': 89230,
'Height': 900,
'OriginUrl': 'https://cdn.vpauto.fr/GCpzUnQ_06-1200.jpg',
'Width': 1200},
{'BlobStorageUrl': 'https://alxproduction.blob.core.windows.net/top-deal-listing/listing_d2965b9c-c574-5f2d-82db-1ea998f9e17b/d2965b9c-c574-5f2d-82db-1ea998f9e17b_image_6.jpg',
'Extension': 'jpg',
'FileSizeInBytes': 93358,
'Height': 900,
'OriginUrl': 'https://cdn.vpauto.fr/GCpzUnQ_07-1200.jpg',
'Width': 1200},
{'BlobStorageUrl': 'https://alxproduction.blob.core.windows.net/top-deal-listing/listing_d2965b9c-c574-5f2d-82db-1ea998f9e17b/d2965b9c-c574-5f2d-82db-1ea998f9e17b_image_7.jpg',
'Extension': 'jpg',
'FileSizeInBytes': 89218,
'Height': 900,
'OriginUrl': 'https://cdn.vpauto.fr/GCpzUnQ_08-1200.jpg',
'Width': 1200},
{'BlobStorageUrl': 'https://alxproduction.blob.core.windows.net/top-deal-listing/listing_d2965b9c-c574-5f2d-82db-1ea998f9e17b/d2965b9c-c574-5f2d-82db-1ea998f9e17b_image_8.jpg',
'Extension': 'jpg',
'FileSizeInBytes': 133070,
'Height': 900,
'OriginUrl': 'https://cdn.vpauto.fr/GCpzUnQ_09-1200.jpg',
'Width': 1200},
{'BlobStorageUrl': 'https://alxproduction.blob.core.windows.net/top-deal-listing/listing_d2965b9c-c574-5f2d-82db-1ea998f9e17b/d2965b9c-c574-5f2d-82db-1ea998f9e17b_image_9.jpg',
'Extension': 'jpg',
'FileSizeInBytes': 131656,
'Height': 900,
'OriginUrl': 'https://cdn.vpauto.fr/GCpzUnQ_10-1200.jpg',
'Width': 1200}],
'price': 2000,
'price_includes_vat': True,
'registration_date': '2006-10-03',
'seats_number': 5,
'seller_name': None,
'title': 'RENAULT Clio 1.5 dCi 85 Exception',
'transmission': 'manual',
'trim': 'Clio 1.5 dCi 85 Exception',
'year': 2006}
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/twisted/internet/defer.py", line 1078, in _runCallbacks
current.result = callback( # type: ignore[misc]
File "/usr/local/lib/python3.11/dist-packages/scrapy/utils/defer.py", line 340, in f
return deferred_from_coro(coro_f(*coro_args, **coro_kwargs))
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 114, in process_item
raise e
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:06:50 [crawlers.pipelines.post_to_api] ERROR: vpauto.fr, item_id 55bf7c7f-d067-5666-ab12-047c6083d181: Failed to post item to https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
| Status Code: 400
| Response Content: {"error":"Command deserialization failed. Check field types \u2014 a null value may have been sent for a non-nullable field.","path":"/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing","requestBody":"{\u0022Color\u0022: \u0022Unknown\u0022, \u0022OriginalPhotoCount\u0022: 0, \u0022SellerName\u0022: null, \u0022PriceIncludesVat\u0022: true, \u0022Title\u0022: \u0022RENAULT SYMBIOZ ICONIC FULL HYBRID E-TECH 145\u0022, \u0022Price\u0022: {\u0022AmountSmallestUnit\u0022: 200000, \u0022CurrencyCode\u0022: \u0022EUR\u0022}, \u0022Make\u0022: \u0022RENAULT\u0022, \u0022Model\u0022: \u0022SYMBIOZ ICONIC FULL HYBRID E-TECH 145\u0022, \u0022Transmission\u0022: \u0022automatic\u0022, \u0022Engine\u0022: \u0022\u0022, \u0022FuelType\u0022: \u0022Hybrid\u0022, \u0022Odometer\u0022: {\u0022Value\u0022: null, \u0022Unit\u0022: 1}, \u0022RegistrationDate\u0022: \u00222025-05-31\u0022, \u0022LinkToWebOffer\u0022: \u0022https://vpauto.fr/vehicule/366c7632f8/renault-symbioz-iconic-full-hybrid-e-tech-145\u0022, \u0022ExpirationDate\u0022: null, \u0022Location\u0022: \u002256 - LORIENT\u0022, \u0022OriginCountryCode\u0022: \u0022FR\u0022, \u0022Trim\u0022: \u0022SYMBIOZ ICONIC FULL HYBRID E-TECH 145\u0022, \u0022Year\u0022: 2025, \u0022Listing\u0022: \u0022auction\u0022, \u0022Category\u0022: null, \u0022SeatsNumber\u0022: 5, \u0022DoorsNumber\u0022: 5, \u0022CO2EmissionValue\u0022: 105, \u0022EmissionStandard\u0022: \u0022EURO 6\u0022, \u0022CarExpertReportSourceUrl\u0022: null, \u0022IsVatIncluded\u0022: true, \u0022IsVatDeductible\u0022: true, \u0022Id\u0022: \u002255bf7c7f-d067-5666-ab12-047c6083d181\u0022}"}
| Response Headers: {'Content-Type': 'application/json', 'Date': 'Mon, 23 Mar 2026 09:06:50 GMT', 'Request-Context': 'appId=cid-v1:1a14ebe8-38cd-4629-ab2d-40684250fa5b', 'Server': 'Kestrel', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'Transfer-Encoding': 'chunked'}
2026-03-23 09:06:50 [crawlers.pipelines.post_to_api] ERROR: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
Traceback (most recent call last):
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:06:50 [scrapy.core.scraper] ERROR: Error processing {'auction_title': '',
'c_o_2_emission_value': 105,
'car_expert_report_source_url': None,
'category': None,
'color': 'Unknown',
'currency': 'EUR',
'doors_number': 5,
'emission_standard': 'EURO 6',
'engine': '',
'expiration_date': None,
'fuel_type': 'Hybrid',
'id': '55bf7c7f-d067-5666-ab12-047c6083d181',
'is_damaged': False,
'is_operable': True,
'is_vat_deductible': True,
'is_vat_included': True,
'link_to_web_offer': 'https://vpauto.fr/vehicule/366c7632f8/renault-symbioz-iconic-full-hybrid-e-tech-145',
'listing': 'auction',
'location': '56 - LORIENT',
'make': 'RENAULT',
'model': 'SYMBIOZ ICONIC FULL HYBRID E-TECH 145',
'odometer': None,
'odometer_reading_unit': 'km',
'origin_country_code': 'FR',
'original_photo_count': 0,
'price': 2000,
'price_includes_vat': True,
'registration_date': '2025-05-31',
'seats_number': 5,
'seller_name': None,
'title': 'RENAULT SYMBIOZ ICONIC FULL HYBRID E-TECH 145',
'transmission': 'automatic',
'trim': 'SYMBIOZ ICONIC FULL HYBRID E-TECH 145',
'year': 2025}
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/twisted/internet/defer.py", line 1078, in _runCallbacks
current.result = callback( # type: ignore[misc]
File "/usr/local/lib/python3.11/dist-packages/scrapy/utils/defer.py", line 340, in f
return deferred_from_coro(coro_f(*coro_args, **coro_kwargs))
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 114, in process_item
raise e
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:06:58 [crawlers.pipelines.post_to_api] ERROR: vpauto.fr, item_id d8594764-ec7b-5cad-9139-a6915a6ecb33: Failed to post item to https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
| Status Code: 400
| Response Content: {"error":"Command deserialization failed. Check field types \u2014 a null value may have been sent for a non-nullable field.","path":"/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing","requestBody":"{\u0022Color\u0022: \u0022Red\u0022, \u0022OriginalPhotoCount\u0022: 28, \u0022SellerName\u0022: null, \u0022PriceIncludesVat\u0022: true, \u0022Title\u0022: \u0022SSANGYONG Tivoli 160 e-XDi 115 2WD Sport Bi-Ton Safety Pack\u0022, \u0022Price\u0022: {\u0022AmountSmallestUnit\u0022: 200000, \u0022CurrencyCode\u0022: \u0022EUR\u0022}, \u0022Make\u0022: \u0022SSANGYONG\u0022, \u0022Model\u0022: \u0022Tivoli 160 e-XDi 115 2WD Sport Bi-Ton Safety Pack\u0022, \u0022Transmission\u0022: \u0022manual\u0022, \u0022Engine\u0022: \u0022\u0022, \u0022FuelType\u0022: \u0022Diesel\u0022, \u0022Odometer\u0022: {\u0022Value\u0022: null, \u0022Unit\u0022: 1}, \u0022RegistrationDate\u0022: \u00222018-06-01\u0022, \u0022LinkToWebOffer\u0022: \u0022https://vpauto.fr/vehicule/370b2fddb1/ssangyong-tivoli-160-e-xdi-115-2wd-sport-bi-ton-safety-pack\u0022, \u0022ExpirationDate\u0022: null, \u0022Location\u0022: \u002276 - ROUEN\u0022, \u0022OriginCountryCode\u0022: \u0022FR\u0022, \u0022Trim\u0022: \u0022Tivoli 160 e-XDi 115 2WD Sport Bi-Ton Safety Pack\u0022, \u0022Year\u0022: 2018, \u0022Listing\u0022: \u0022auction\u0022, \u0022Category\u0022: null, \u0022SeatsNumber\u0022: 5, \u0022DoorsNumber\u0022: 5, \u0022PhotoUrls\u0022: [\u0022https://cdn.vpauto.fr/uczMtOs_01-1200.jpg\u0022, \u0022https://cdn.vpauto.fr/uczMtOs_02-1200.jpg\u0022, \u0022https://cdn.vpauto.fr/uczMtOs_03-1200.jpg\u0022, \u0022https://cdn.vpauto.fr/uczMtOs_04-1200.jpg\u0022, \u0022https://cdn.vpauto.fr/uczMtOs_05-1200.jpg\u0022, \u0022https://cdn.vpauto.fr/uczMtOs_07-1200.jpg\u0022, \u0022https://cdn.vpauto.fr/uczMtOs_08-1200.jpg\u0022, \u0022https://cdn.vpauto.fr/uczMtOs_09-1200.jpg\u0022, \u0022https://cdn.vpauto.fr/uczMtOs_10-1200.jpg\u0022, \u0022https://cdn.vpauto.fr/uczMtOs_11-1200.jpg\u0022], \u0022CO2EmissionValue\u0022: 113, \u0022EmissionStandard\u0022: \u0022EURO 6\u0022, \u0022CarExpertReportSourceUrl\u0022: null, \u0022IsVatIncluded\u0022: true, \u0022IsVatDeductible\u0022: true, \u0022Id\u0022: \u0022d8594764-ec7b-5cad-9139-a6915a6ecb33\u0022, \u0022Photos\u0022: [{\u0022BlobStorageUrl\u0022: \u0022https://alxproduction.blob.core.windows.net/top-deal-listing/listing_d8594764-ec7b-5cad-9139-a6915a6ecb33/d8594764-ec7b-5cad-9139-a6915a6ecb33_image_0.jpg\u0022, \u0022OriginUrl\u0022: \u0022https://cdn.vpauto.fr/uczMtOs_01-1200.jpg\u0022, \u0022Width\u0022: 1200, \u0022Height\u0022: 900, \u0022Extension\u0022: \u0022jpg\u0022, \u0022FileSizeInBytes\u0022: 93558}, {\u0022BlobStorageUrl\u0022: \u0022https://alxproduction.blob.core.windows.net/top-deal-listing/listing_d8594764-ec7b-5cad-9139-a6915a6ecb33/d8594764-ec7b-5cad-9139-a6915a6ecb33_image_1.jpg\u0022, \u0022OriginUrl\u0022: \u0022https://cdn.vpauto.fr/uczMtOs_02-1200.jpg\u0022, \u0022Width\u0022: 1200, \u0022Height\u0022: 900, \u0022Extension\u0022: \u0022jpg\u0022, \u0022FileSizeInBytes\u0022: 79386}, {\u0022BlobStorageUrl\u0022: \u0022https://alxproduction.blob.core.windows.net/top-deal-listing/listing_d8594764-ec7b-5cad-9139-a6915a6ecb33/d8594764-ec7b-5cad-9139-a6915a6ecb33_image_2.jpg\u0022, \u0022OriginUrl\u0022: \u0022https://cdn.vpauto.fr/uczMtOs_03-1200.jpg\u0022, \u0022Width\u0022: 1200, \u0022Height\u0022: 900, \u0022Extension\u0022: \u0022jpg\u0022, \u0022FileSizeInBytes\u0022: 97734}, {\u0022BlobStorageUrl\u0022: \u0022https://alxproduction.blob.core.windows.net/top-deal-listing/listing_d8594764-ec7b-5cad-9139-a6915a6ecb33/d8594764-ec7b-5cad-9139-a6915a6ecb33_image_3.jpg\u0022, \u0022OriginUrl\u0022: \u0022https://cdn.vpauto.fr/uczMtOs_04-1200.jpg\u0022, \u0022Width\u0022: 1200, \u0022Height\u0022: 900, \u0022Extension\u0022: \u0022jpg\u0022, \u0022FileSizeInBytes\u0022: 78695}, {\u0022BlobStorageUrl\u0022: \u0022https://alxproduction.blob.core.windows.net/top-deal-listing/listing_d8594764-ec7b-5cad-9139-a6915a6ecb33/d8594764-ec7b-5cad-9139-a6915a6ecb33_image_4.jpg\u0022, \u0022OriginUrl\u0022: \u0022https://cdn.vpauto.fr/uczMtOs_05-1200.jpg\u0022, \u0022Width\u0022: 1200, \u0022Height\u0022: 900, \u0022Extension\u0022: \u0022jpg\u0022, \u0022FileSizeInBytes\u0022: 102964}, {\u0022BlobStorageUrl\u0022: \u0022https://alxproduction.blob.core.windows.net/top-deal-listing/listing_d8594764-ec7b-5cad-9139-a6915a6ecb33/d8594764-ec7b-5cad-9139-a6915a6ecb33_image_5.jpg\u0022, \u0022OriginUrl\u0022: \u0022https://cdn.vpauto.fr/uczMtOs_07-1200.jpg\u0022, \u0022Width\u0022: 1200, \u0022Height\u0022: 900, \u0022Extension\u0022: \u0022jpg\u0022, \u0022FileSizeInBytes\u0022: 87326}, {\u0022BlobStorageUrl\u0022: \u0022https://alxproduction.blob.core.windows.net/top-deal-listing/listing_d8594764-ec7b-5cad-9139-a6915a6ecb33/d8594764-ec7b-5cad-9139-a6915a6ecb33_image_6.jpg\u0022, \u0022OriginUrl\u0022: \u0022https://cdn.vpauto.fr/uczMtOs_08-1200.jpg\u0022, \u0022Width\u0022: 1200, \u0022Height\u0022: 900, \u0022Extension\u0022: \u0022jpg\u0022, \u0022FileSizeInBytes\u0022: 85796}, {\u0022BlobStorageUrl\u0022: \u0022https://alxproduction.blob.core.windows.net/top-deal-listing/listing_d8594764-ec7b-5cad-9139-a6915a6ecb33/d8594764-ec7b-5cad-9139-a6915a6ecb33_image_7.jpg\u0022, \u0022OriginUrl\u0022: \u0022https://cdn.vpauto.fr/uczMtOs_09-1200.jpg\u0022, \u0022Width\u0022: 1200, \u0022Height\u0022: 900, \u0022Extension\u0022: \u0022jpg\u0022, \u0022FileSizeInBytes\u0022: 133946}, {\u0022BlobStorageUrl\u0022: \u0022https://alxproduction.blob.core....(truncated)"}
| Response Headers: {'Content-Type': 'application/json', 'Date': 'Mon, 23 Mar 2026 09:06:57 GMT', 'Request-Context': 'appId=cid-v1:1a14ebe8-38cd-4629-ab2d-40684250fa5b', 'Server': 'Kestrel', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'Transfer-Encoding': 'chunked'}
2026-03-23 09:06:58 [crawlers.pipelines.post_to_api] ERROR: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
Traceback (most recent call last):
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:06:58 [scrapy.core.scraper] ERROR: Error processing {'auction_title': '',
'c_o_2_emission_value': 113,
'car_expert_report_source_url': None,
'category': None,
'color': 'Red',
'currency': 'EUR',
'doors_number': 5,
'emission_standard': 'EURO 6',
'engine': '',
'expiration_date': None,
'fuel_type': 'Diesel',
'id': 'd8594764-ec7b-5cad-9139-a6915a6ecb33',
'is_damaged': False,
'is_operable': False,
'is_vat_deductible': True,
'is_vat_included': True,
'link_to_web_offer': 'https://vpauto.fr/vehicule/370b2fddb1/ssangyong-tivoli-160-e-xdi-115-2wd-sport-bi-ton-safety-pack',
'listing': 'auction',
'location': '76 - ROUEN',
'make': 'SSANGYONG',
'model': 'Tivoli 160 e-XDi 115 2WD Sport Bi-Ton Safety Pack',
'odometer': None,
'odometer_reading_unit': 'km',
'origin_country_code': 'FR',
'original_photo_count': 28,
'photo_urls': ['https://cdn.vpauto.fr/uczMtOs_01-1200.jpg',
'https://cdn.vpauto.fr/uczMtOs_02-1200.jpg',
'https://cdn.vpauto.fr/uczMtOs_03-1200.jpg',
'https://cdn.vpauto.fr/uczMtOs_04-1200.jpg',
'https://cdn.vpauto.fr/uczMtOs_05-1200.jpg',
'https://cdn.vpauto.fr/uczMtOs_07-1200.jpg',
'https://cdn.vpauto.fr/uczMtOs_08-1200.jpg',
'https://cdn.vpauto.fr/uczMtOs_09-1200.jpg',
'https://cdn.vpauto.fr/uczMtOs_10-1200.jpg',
'https://cdn.vpauto.fr/uczMtOs_11-1200.jpg'],
'photos': [{'BlobStorageUrl': 'https://alxproduction.blob.core.windows.net/top-deal-listing/listing_d8594764-ec7b-5cad-9139-a6915a6ecb33/d8594764-ec7b-5cad-9139-a6915a6ecb33_image_0.jpg',
'Extension': 'jpg',
'FileSizeInBytes': 93558,
'Height': 900,
'OriginUrl': 'https://cdn.vpauto.fr/uczMtOs_01-1200.jpg',
'Width': 1200},
{'BlobStorageUrl': 'https://alxproduction.blob.core.windows.net/top-deal-listing/listing_d8594764-ec7b-5cad-9139-a6915a6ecb33/d8594764-ec7b-5cad-9139-a6915a6ecb33_image_1.jpg',
'Extension': 'jpg',
'FileSizeInBytes': 79386,
'Height': 900,
'OriginUrl': 'https://cdn.vpauto.fr/uczMtOs_02-1200.jpg',
'Width': 1200},
{'BlobStorageUrl': 'https://alxproduction.blob.core.windows.net/top-deal-listing/listing_d8594764-ec7b-5cad-9139-a6915a6ecb33/d8594764-ec7b-5cad-9139-a6915a6ecb33_image_2.jpg',
'Extension': 'jpg',
'FileSizeInBytes': 97734,
'Height': 900,
'OriginUrl': 'https://cdn.vpauto.fr/uczMtOs_03-1200.jpg',
'Width': 1200},
{'BlobStorageUrl': 'https://alxproduction.blob.core.windows.net/top-deal-listing/listing_d8594764-ec7b-5cad-9139-a6915a6ecb33/d8594764-ec7b-5cad-9139-a6915a6ecb33_image_3.jpg',
'Extension': 'jpg',
'FileSizeInBytes': 78695,
'Height': 900,
'OriginUrl': 'https://cdn.vpauto.fr/uczMtOs_04-1200.jpg',
'Width': 1200},
{'BlobStorageUrl': 'https://alxproduction.blob.core.windows.net/top-deal-listing/listing_d8594764-ec7b-5cad-9139-a6915a6ecb33/d8594764-ec7b-5cad-9139-a6915a6ecb33_image_4.jpg',
'Extension': 'jpg',
'FileSizeInBytes': 102964,
'Height': 900,
'OriginUrl': 'https://cdn.vpauto.fr/uczMtOs_05-1200.jpg',
'Width': 1200},
{'BlobStorageUrl': 'https://alxproduction.blob.core.windows.net/top-deal-listing/listing_d8594764-ec7b-5cad-9139-a6915a6ecb33/d8594764-ec7b-5cad-9139-a6915a6ecb33_image_5.jpg',
'Extension': 'jpg',
'FileSizeInBytes': 87326,
'Height': 900,
'OriginUrl': 'https://cdn.vpauto.fr/uczMtOs_07-1200.jpg',
'Width': 1200},
{'BlobStorageUrl': 'https://alxproduction.blob.core.windows.net/top-deal-listing/listing_d8594764-ec7b-5cad-9139-a6915a6ecb33/d8594764-ec7b-5cad-9139-a6915a6ecb33_image_6.jpg',
'Extension': 'jpg',
'FileSizeInBytes': 85796,
'Height': 900,
'OriginUrl': 'https://cdn.vpauto.fr/uczMtOs_08-1200.jpg',
'Width': 1200},
{'BlobStorageUrl': 'https://alxproduction.blob.core.windows.net/top-deal-listing/listing_d8594764-ec7b-5cad-9139-a6915a6ecb33/d8594764-ec7b-5cad-9139-a6915a6ecb33_image_7.jpg',
'Extension': 'jpg',
'FileSizeInBytes': 133946,
'Height': 900,
'OriginUrl': 'https://cdn.vpauto.fr/uczMtOs_09-1200.jpg',
'Width': 1200},
{'BlobStorageUrl': 'https://alxproduction.blob.core.windows.net/top-deal-listing/listing_d8594764-ec7b-5cad-9139-a6915a6ecb33/d8594764-ec7b-5cad-9139-a6915a6ecb33_image_8.jpg',
'Extension': 'jpg',
'FileSizeInBytes': 128156,
'Height': 900,
'OriginUrl': 'https://cdn.vpauto.fr/uczMtOs_10-1200.jpg',
'Width': 1200},
{'BlobStorageUrl': 'https://alxproduction.blob.core.windows.net/top-deal-listing/listing_d8594764-ec7b-5cad-9139-a6915a6ecb33/d8594764-ec7b-5cad-9139-a6915a6ecb33_image_9.jpg',
'Extension': 'jpg',
'FileSizeInBytes': 125907,
'Height': 900,
'OriginUrl': 'https://cdn.vpauto.fr/uczMtOs_11-1200.jpg',
'Width': 1200}],
'price': 2000,
'price_includes_vat': True,
'registration_date': '2018-06-01',
'seats_number': 5,
'seller_name': None,
'title': 'SSANGYONG Tivoli 160 e-XDi 115 2WD Sport Bi-Ton Safety Pack',
'transmission': 'manual',
'trim': 'Tivoli 160 e-XDi 115 2WD Sport Bi-Ton Safety Pack',
'year': 2018}
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/twisted/internet/defer.py", line 1078, in _runCallbacks
current.result = callback( # type: ignore[misc]
File "/usr/local/lib/python3.11/dist-packages/scrapy/utils/defer.py", line 340, in f
return deferred_from_coro(coro_f(*coro_args, **coro_kwargs))
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 114, in process_item
raise e
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:07:01 [crawlers.pipelines.post_to_api] ERROR: vpauto.fr, item_id 0d15b55a-f0ae-5a35-bf59-4fea8876c905: Failed to post item to https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
| Status Code: 400
| Response Content: {"error":"Command deserialization failed. Check field types \u2014 a null value may have been sent for a non-nullable field.","path":"/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing","requestBody":"{\u0022Color\u0022: \u0022Unknown\u0022, \u0022OriginalPhotoCount\u0022: 0, \u0022SellerName\u0022: null, \u0022PriceIncludesVat\u0022: true, \u0022Title\u0022: \u0022DACIA Sandero SCe 65 Essential\u0022, \u0022Price\u0022: {\u0022AmountSmallestUnit\u0022: 2320000, \u0022CurrencyCode\u0022: \u0022EUR\u0022}, \u0022Make\u0022: \u0022DACIA\u0022, \u0022Model\u0022: \u0022Sandero SCe 65 Essential\u0022, \u0022Transmission\u0022: \u0022manual\u0022, \u0022Engine\u0022: \u0022\u0022, \u0022FuelType\u0022: \u0022Petrol\u0022, \u0022Odometer\u0022: {\u0022Value\u0022: null, \u0022Unit\u0022: 1}, \u0022RegistrationDate\u0022: \u00222025-09-22\u0022, \u0022LinkToWebOffer\u0022: \u0022https://vpauto.fr/vehicule/4bcd154fec/dacia-sandero-sce-65-essential\u0022, \u0022ExpirationDate\u0022: null, \u0022Location\u0022: \u002213 - MARSEILLE\u0022, \u0022OriginCountryCode\u0022: \u0022FR\u0022, \u0022Trim\u0022: \u0022Sandero SCe 65 Essential\u0022, \u0022Year\u0022: 2025, \u0022Listing\u0022: \u0022auction\u0022, \u0022Category\u0022: null, \u0022SeatsNumber\u0022: 5, \u0022DoorsNumber\u0022: 5, \u0022CO2EmissionValue\u0022: 122, \u0022EmissionStandard\u0022: \u0022EURO 6\u0022, \u0022CarExpertReportSourceUrl\u0022: null, \u0022IsVatIncluded\u0022: true, \u0022IsVatDeductible\u0022: true, \u0022Id\u0022: \u00220d15b55a-f0ae-5a35-bf59-4fea8876c905\u0022}"}
| Response Headers: {'Content-Type': 'application/json', 'Date': 'Mon, 23 Mar 2026 09:07:01 GMT', 'Request-Context': 'appId=cid-v1:1a14ebe8-38cd-4629-ab2d-40684250fa5b', 'Server': 'Kestrel', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'Transfer-Encoding': 'chunked'}
2026-03-23 09:07:01 [crawlers.pipelines.post_to_api] ERROR: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
Traceback (most recent call last):
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:07:01 [scrapy.core.scraper] ERROR: Error processing {'auction_title': '',
'c_o_2_emission_value': 122,
'car_expert_report_source_url': None,
'category': None,
'color': 'Unknown',
'currency': 'EUR',
'doors_number': 5,
'emission_standard': 'EURO 6',
'engine': '',
'expiration_date': None,
'fuel_type': 'Petrol',
'id': '0d15b55a-f0ae-5a35-bf59-4fea8876c905',
'is_damaged': False,
'is_operable': True,
'is_vat_deductible': True,
'is_vat_included': True,
'link_to_web_offer': 'https://vpauto.fr/vehicule/4bcd154fec/dacia-sandero-sce-65-essential',
'listing': 'auction',
'location': '13 - MARSEILLE',
'make': 'DACIA',
'model': 'Sandero SCe 65 Essential',
'odometer': None,
'odometer_reading_unit': 'km',
'origin_country_code': 'FR',
'original_photo_count': 0,
'price': 23200,
'price_includes_vat': True,
'registration_date': '2025-09-22',
'seats_number': 5,
'seller_name': None,
'title': 'DACIA Sandero SCe 65 Essential',
'transmission': 'manual',
'trim': 'Sandero SCe 65 Essential',
'year': 2025}
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/twisted/internet/defer.py", line 1078, in _runCallbacks
current.result = callback( # type: ignore[misc]
File "/usr/local/lib/python3.11/dist-packages/scrapy/utils/defer.py", line 340, in f
return deferred_from_coro(coro_f(*coro_args, **coro_kwargs))
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 114, in process_item
raise e
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:07:04 [crawlers.pipelines.post_to_api] ERROR: vpauto.fr, item_id b96d46ff-b9a6-59fa-8322-444e8c6805a7: Failed to post item to https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
| Status Code: 400
| Response Content: {"error":"Command deserialization failed. Check field types \u2014 a null value may have been sent for a non-nullable field.","path":"/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing","requestBody":"{\u0022Color\u0022: \u0022Unknown\u0022, \u0022OriginalPhotoCount\u0022: 0, \u0022SellerName\u0022: null, \u0022PriceIncludesVat\u0022: true, \u0022Title\u0022: \u0022LEXUS NX 350h\u0022, \u0022Price\u0022: {\u0022AmountSmallestUnit\u0022: 2320000, \u0022CurrencyCode\u0022: \u0022EUR\u0022}, \u0022Make\u0022: \u0022LEXUS\u0022, \u0022Model\u0022: \u0022NX 350h\u0022, \u0022Transmission\u0022: \u0022automatic\u0022, \u0022Engine\u0022: \u0022\u0022, \u0022FuelType\u0022: \u0022Hybrid\u0022, \u0022Odometer\u0022: {\u0022Value\u0022: null, \u0022Unit\u0022: 1}, \u0022RegistrationDate\u0022: \u00222025-03-26\u0022, \u0022LinkToWebOffer\u0022: \u0022https://vpauto.fr/vehicule/7dccca18f8/lexus-nx-350h\u0022, \u0022ExpirationDate\u0022: null, \u0022Location\u0022: \u002256 - LORIENT\u0022, \u0022OriginCountryCode\u0022: \u0022FR\u0022, \u0022Trim\u0022: \u0022NX 350h\u0022, \u0022Year\u0022: 2025, \u0022Listing\u0022: \u0022auction\u0022, \u0022Category\u0022: null, \u0022SeatsNumber\u0022: 5, \u0022DoorsNumber\u0022: 5, \u0022CO2EmissionValue\u0022: 129, \u0022EmissionStandard\u0022: null, \u0022CarExpertReportSourceUrl\u0022: null, \u0022IsVatIncluded\u0022: true, \u0022IsVatDeductible\u0022: true, \u0022Id\u0022: \u0022b96d46ff-b9a6-59fa-8322-444e8c6805a7\u0022}"}
| Response Headers: {'Content-Type': 'application/json', 'Date': 'Mon, 23 Mar 2026 09:07:04 GMT', 'Request-Context': 'appId=cid-v1:1a14ebe8-38cd-4629-ab2d-40684250fa5b', 'Server': 'Kestrel', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'Transfer-Encoding': 'chunked'}
2026-03-23 09:07:04 [crawlers.pipelines.post_to_api] ERROR: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
Traceback (most recent call last):
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:07:04 [scrapy.core.scraper] ERROR: Error processing {'auction_title': '',
'c_o_2_emission_value': 129,
'car_expert_report_source_url': None,
'category': None,
'color': 'Unknown',
'currency': 'EUR',
'doors_number': 5,
'emission_standard': None,
'engine': '',
'expiration_date': None,
'fuel_type': 'Hybrid',
'id': 'b96d46ff-b9a6-59fa-8322-444e8c6805a7',
'is_damaged': False,
'is_operable': True,
'is_vat_deductible': True,
'is_vat_included': True,
'link_to_web_offer': 'https://vpauto.fr/vehicule/7dccca18f8/lexus-nx-350h',
'listing': 'auction',
'location': '56 - LORIENT',
'make': 'LEXUS',
'model': 'NX 350h',
'odometer': None,
'odometer_reading_unit': 'km',
'origin_country_code': 'FR',
'original_photo_count': 0,
'price': 23200,
'price_includes_vat': True,
'registration_date': '2025-03-26',
'seats_number': 5,
'seller_name': None,
'title': 'LEXUS NX 350h',
'transmission': 'automatic',
'trim': 'NX 350h',
'year': 2025}
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/twisted/internet/defer.py", line 1078, in _runCallbacks
current.result = callback( # type: ignore[misc]
File "/usr/local/lib/python3.11/dist-packages/scrapy/utils/defer.py", line 340, in f
return deferred_from_coro(coro_f(*coro_args, **coro_kwargs))
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 114, in process_item
raise e
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:07:05 [crawlers.pipelines.post_to_api] ERROR: vpauto.fr, item_id cb162785-c243-5077-8a9b-0030a7461f1d: Failed to post item to https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
| Status Code: 400
| Response Content: {"error":"Command deserialization failed. Check field types \u2014 a null value may have been sent for a non-nullable field.","path":"/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing","requestBody":"{\u0022Color\u0022: \u0022Unknown\u0022, \u0022OriginalPhotoCount\u0022: 0, \u0022SellerName\u0022: null, \u0022PriceIncludesVat\u0022: true, \u0022Title\u0022: \u0022DACIA Sandero SCe 65 Essential\u0022, \u0022Price\u0022: {\u0022AmountSmallestUnit\u0022: 2320000, \u0022CurrencyCode\u0022: \u0022EUR\u0022}, \u0022Make\u0022: \u0022DACIA\u0022, \u0022Model\u0022: \u0022Sandero SCe 65 Essential\u0022, \u0022Transmission\u0022: \u0022manual\u0022, \u0022Engine\u0022: \u0022\u0022, \u0022FuelType\u0022: \u0022Petrol\u0022, \u0022Odometer\u0022: {\u0022Value\u0022: null, \u0022Unit\u0022: 1}, \u0022RegistrationDate\u0022: \u00222025-04-30\u0022, \u0022LinkToWebOffer\u0022: \u0022https://vpauto.fr/vehicule/bf73a101bf/dacia-sandero-sce-65-essential\u0022, \u0022ExpirationDate\u0022: null, \u0022Location\u0022: \u002276 - ROUEN\u0022, \u0022OriginCountryCode\u0022: \u0022FR\u0022, \u0022Trim\u0022: \u0022Sandero SCe 65 Essential\u0022, \u0022Year\u0022: 2025, \u0022Listing\u0022: \u0022auction\u0022, \u0022Category\u0022: null, \u0022SeatsNumber\u0022: 5, \u0022DoorsNumber\u0022: 5, \u0022CO2EmissionValue\u0022: 120, \u0022EmissionStandard\u0022: null, \u0022CarExpertReportSourceUrl\u0022: null, \u0022IsVatIncluded\u0022: true, \u0022IsVatDeductible\u0022: true, \u0022Id\u0022: \u0022cb162785-c243-5077-8a9b-0030a7461f1d\u0022}"}
| Response Headers: {'Content-Type': 'application/json', 'Date': 'Mon, 23 Mar 2026 09:07:04 GMT', 'Request-Context': 'appId=cid-v1:1a14ebe8-38cd-4629-ab2d-40684250fa5b', 'Server': 'Kestrel', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'Transfer-Encoding': 'chunked'}
2026-03-23 09:07:05 [crawlers.pipelines.post_to_api] ERROR: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
Traceback (most recent call last):
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:07:05 [scrapy.core.scraper] ERROR: Error processing {'auction_title': '',
'c_o_2_emission_value': 120,
'car_expert_report_source_url': None,
'category': None,
'color': 'Unknown',
'currency': 'EUR',
'doors_number': 5,
'emission_standard': None,
'engine': '',
'expiration_date': None,
'fuel_type': 'Petrol',
'id': 'cb162785-c243-5077-8a9b-0030a7461f1d',
'is_damaged': False,
'is_operable': True,
'is_vat_deductible': True,
'is_vat_included': True,
'link_to_web_offer': 'https://vpauto.fr/vehicule/bf73a101bf/dacia-sandero-sce-65-essential',
'listing': 'auction',
'location': '76 - ROUEN',
'make': 'DACIA',
'model': 'Sandero SCe 65 Essential',
'odometer': None,
'odometer_reading_unit': 'km',
'origin_country_code': 'FR',
'original_photo_count': 0,
'price': 23200,
'price_includes_vat': True,
'registration_date': '2025-04-30',
'seats_number': 5,
'seller_name': None,
'title': 'DACIA Sandero SCe 65 Essential',
'transmission': 'manual',
'trim': 'Sandero SCe 65 Essential',
'year': 2025}
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/twisted/internet/defer.py", line 1078, in _runCallbacks
current.result = callback( # type: ignore[misc]
File "/usr/local/lib/python3.11/dist-packages/scrapy/utils/defer.py", line 340, in f
return deferred_from_coro(coro_f(*coro_args, **coro_kwargs))
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 114, in process_item
raise e
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:07:05 [crawlers.pipelines.post_to_api] ERROR: vpauto.fr, item_id 730bf194-b482-5324-90e6-3046fe05c704: Failed to post item to https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
| Status Code: 400
| Response Content: {"error":"Command deserialization failed. Check field types \u2014 a null value may have been sent for a non-nullable field.","path":"/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing","requestBody":"{\u0022Color\u0022: \u0022Unknown\u0022, \u0022OriginalPhotoCount\u0022: 0, \u0022SellerName\u0022: null, \u0022PriceIncludesVat\u0022: true, \u0022Title\u0022: \u0022NISSAN Qashqai e-Power 190 ch N-Connecta\u0022, \u0022Price\u0022: {\u0022AmountSmallestUnit\u0022: 2320000, \u0022CurrencyCode\u0022: \u0022EUR\u0022}, \u0022Make\u0022: \u0022NISSAN\u0022, \u0022Model\u0022: \u0022Qashqai e-Power 190 ch N-Connecta\u0022, \u0022Transmission\u0022: \u0022automatic\u0022, \u0022Engine\u0022: \u0022\u0022, \u0022FuelType\u0022: \u0022Hybrid\u0022, \u0022Odometer\u0022: {\u0022Value\u0022: null, \u0022Unit\u0022: 1}, \u0022RegistrationDate\u0022: \u00222025-12-29\u0022, \u0022LinkToWebOffer\u0022: \u0022https://vpauto.fr/vehicule/5eb372a7b1/nissan-qashqai-e-power-190-ch-n-connecta\u0022, \u0022ExpirationDate\u0022: null, \u0022Location\u0022: \u002244 - NANTES\u0022, \u0022OriginCountryCode\u0022: \u0022FR\u0022, \u0022Trim\u0022: \u0022Qashqai e-Power 190 ch N-Connecta\u0022, \u0022Year\u0022: 2025, \u0022Listing\u0022: \u0022auction\u0022, \u0022Category\u0022: null, \u0022SeatsNumber\u0022: 5, \u0022DoorsNumber\u0022: 5, \u0022CO2EmissionValue\u0022: 104, \u0022EmissionStandard\u0022: null, \u0022CarExpertReportSourceUrl\u0022: null, \u0022IsVatIncluded\u0022: true, \u0022IsVatDeductible\u0022: true, \u0022Id\u0022: \u0022730bf194-b482-5324-90e6-3046fe05c704\u0022}"}
| Response Headers: {'Content-Type': 'application/json', 'Date': 'Mon, 23 Mar 2026 09:07:05 GMT', 'Request-Context': 'appId=cid-v1:1a14ebe8-38cd-4629-ab2d-40684250fa5b', 'Server': 'Kestrel', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'Transfer-Encoding': 'chunked'}
2026-03-23 09:07:05 [crawlers.pipelines.post_to_api] ERROR: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
Traceback (most recent call last):
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:07:05 [scrapy.core.scraper] ERROR: Error processing {'auction_title': '',
'c_o_2_emission_value': 104,
'car_expert_report_source_url': None,
'category': None,
'color': 'Unknown',
'currency': 'EUR',
'doors_number': 5,
'emission_standard': None,
'engine': '',
'expiration_date': None,
'fuel_type': 'Hybrid',
'id': '730bf194-b482-5324-90e6-3046fe05c704',
'is_damaged': False,
'is_operable': True,
'is_vat_deductible': True,
'is_vat_included': True,
'link_to_web_offer': 'https://vpauto.fr/vehicule/5eb372a7b1/nissan-qashqai-e-power-190-ch-n-connecta',
'listing': 'auction',
'location': '44 - NANTES',
'make': 'NISSAN',
'model': 'Qashqai e-Power 190 ch N-Connecta',
'odometer': None,
'odometer_reading_unit': 'km',
'origin_country_code': 'FR',
'original_photo_count': 0,
'price': 23200,
'price_includes_vat': True,
'registration_date': '2025-12-29',
'seats_number': 5,
'seller_name': None,
'title': 'NISSAN Qashqai e-Power 190 ch N-Connecta',
'transmission': 'automatic',
'trim': 'Qashqai e-Power 190 ch N-Connecta',
'year': 2025}
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/twisted/internet/defer.py", line 1078, in _runCallbacks
current.result = callback( # type: ignore[misc]
File "/usr/local/lib/python3.11/dist-packages/scrapy/utils/defer.py", line 340, in f
return deferred_from_coro(coro_f(*coro_args, **coro_kwargs))
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 114, in process_item
raise e
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:07:14 [crawlers.pipelines.post_to_api] ERROR: vpauto.fr, item_id 2b91e494-2b19-517d-bba2-a731f89f4c9d: Failed to post item to https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
| Status Code: 400
| Response Content: {"error":"Command deserialization failed. Check field types \u2014 a null value may have been sent for a non-nullable field.","path":"/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing","requestBody":"{\u0022Color\u0022: \u0022Unknown\u0022, \u0022OriginalPhotoCount\u0022: 0, \u0022SellerName\u0022: null, \u0022PriceIncludesVat\u0022: true, \u0022Title\u0022: \u0022RENAULT Clio E-Tech hybride 145 Techno\u0022, \u0022Price\u0022: {\u0022AmountSmallestUnit\u0022: 2320000, \u0022CurrencyCode\u0022: \u0022EUR\u0022}, \u0022Make\u0022: \u0022RENAULT\u0022, \u0022Model\u0022: \u0022Clio E-Tech hybride 145 Techno\u0022, \u0022Transmission\u0022: \u0022automatic\u0022, \u0022Engine\u0022: \u0022\u0022, \u0022FuelType\u0022: \u0022Hybrid\u0022, \u0022Odometer\u0022: {\u0022Value\u0022: null, \u0022Unit\u0022: 1}, \u0022RegistrationDate\u0022: \u00222024-03-26\u0022, \u0022LinkToWebOffer\u0022: \u0022https://vpauto.fr/vehicule/2bb12859bf/renault-clio-e-tech-hybride-145-techno\u0022, \u0022ExpirationDate\u0022: null, \u0022Location\u0022: \u002276 - ROUEN\u0022, \u0022OriginCountryCode\u0022: \u0022FR\u0022, \u0022Trim\u0022: \u0022Clio E-Tech hybride 145 Techno\u0022, \u0022Year\u0022: 2024, \u0022Listing\u0022: \u0022auction\u0022, \u0022Category\u0022: null, \u0022SeatsNumber\u0022: 5, \u0022DoorsNumber\u0022: 5, \u0022CO2EmissionValue\u0022: 96, \u0022EmissionStandard\u0022: null, \u0022CarExpertReportSourceUrl\u0022: null, \u0022IsVatIncluded\u0022: true, \u0022IsVatDeductible\u0022: true, \u0022Id\u0022: \u00222b91e494-2b19-517d-bba2-a731f89f4c9d\u0022}"}
| Response Headers: {'Content-Type': 'application/json', 'Date': 'Mon, 23 Mar 2026 09:07:13 GMT', 'Request-Context': 'appId=cid-v1:1a14ebe8-38cd-4629-ab2d-40684250fa5b', 'Server': 'Kestrel', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'Transfer-Encoding': 'chunked'}
2026-03-23 09:07:14 [crawlers.pipelines.post_to_api] ERROR: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
Traceback (most recent call last):
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:07:14 [scrapy.core.scraper] ERROR: Error processing {'auction_title': '',
'c_o_2_emission_value': 96,
'car_expert_report_source_url': None,
'category': None,
'color': 'Unknown',
'currency': 'EUR',
'doors_number': 5,
'emission_standard': None,
'engine': '',
'expiration_date': None,
'fuel_type': 'Hybrid',
'id': '2b91e494-2b19-517d-bba2-a731f89f4c9d',
'is_damaged': False,
'is_operable': True,
'is_vat_deductible': True,
'is_vat_included': True,
'link_to_web_offer': 'https://vpauto.fr/vehicule/2bb12859bf/renault-clio-e-tech-hybride-145-techno',
'listing': 'auction',
'location': '76 - ROUEN',
'make': 'RENAULT',
'model': 'Clio E-Tech hybride 145 Techno',
'odometer': None,
'odometer_reading_unit': 'km',
'origin_country_code': 'FR',
'original_photo_count': 0,
'price': 23200,
'price_includes_vat': True,
'registration_date': '2024-03-26',
'seats_number': 5,
'seller_name': None,
'title': 'RENAULT Clio E-Tech hybride 145 Techno',
'transmission': 'automatic',
'trim': 'Clio E-Tech hybride 145 Techno',
'year': 2024}
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/twisted/internet/defer.py", line 1078, in _runCallbacks
current.result = callback( # type: ignore[misc]
File "/usr/local/lib/python3.11/dist-packages/scrapy/utils/defer.py", line 340, in f
return deferred_from_coro(coro_f(*coro_args, **coro_kwargs))
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 114, in process_item
raise e
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:07:14 [crawlers.pipelines.post_to_api] ERROR: vpauto.fr, item_id 8bbf11e1-7c72-52bc-bb73-af899d43069e: Failed to post item to https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
| Status Code: 400
| Response Content: {"error":"Command deserialization failed. Check field types \u2014 a null value may have been sent for a non-nullable field.","path":"/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing","requestBody":"{\u0022Color\u0022: \u0022Unknown\u0022, \u0022OriginalPhotoCount\u0022: 0, \u0022SellerName\u0022: null, \u0022PriceIncludesVat\u0022: true, \u0022Title\u0022: \u0022RENAULT MEGANE IV BERLINE KO\u0022, \u0022Price\u0022: {\u0022AmountSmallestUnit\u0022: 2320000, \u0022CurrencyCode\u0022: \u0022EUR\u0022}, \u0022Make\u0022: \u0022RENAULT\u0022, \u0022Model\u0022: \u0022MEGANE IV BERLINE KO\u0022, \u0022Transmission\u0022: \u0022automatic\u0022, \u0022Engine\u0022: \u0022\u0022, \u0022FuelType\u0022: \u0022Electric\u0022, \u0022Odometer\u0022: {\u0022Value\u0022: null, \u0022Unit\u0022: 1}, \u0022RegistrationDate\u0022: \u00222024-04-29\u0022, \u0022LinkToWebOffer\u0022: \u0022https://vpauto.fr/vehicule/592c5a97bf/renault-megane-iv-berline-ko\u0022, \u0022ExpirationDate\u0022: null, \u0022Location\u0022: \u002276 - ROUEN\u0022, \u0022OriginCountryCode\u0022: \u0022FR\u0022, \u0022Trim\u0022: \u0022MEGANE IV BERLINE KO\u0022, \u0022Year\u0022: 2024, \u0022Listing\u0022: \u0022auction\u0022, \u0022Category\u0022: null, \u0022SeatsNumber\u0022: 5, \u0022DoorsNumber\u0022: 5, \u0022CO2EmissionValue\u0022: null, \u0022EmissionStandard\u0022: null, \u0022CarExpertReportSourceUrl\u0022: null, \u0022IsVatIncluded\u0022: true, \u0022IsVatDeductible\u0022: true, \u0022Id\u0022: \u00228bbf11e1-7c72-52bc-bb73-af899d43069e\u0022}"}
| Response Headers: {'Content-Type': 'application/json', 'Date': 'Mon, 23 Mar 2026 09:07:14 GMT', 'Request-Context': 'appId=cid-v1:1a14ebe8-38cd-4629-ab2d-40684250fa5b', 'Server': 'Kestrel', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'Transfer-Encoding': 'chunked'}
2026-03-23 09:07:14 [crawlers.pipelines.post_to_api] ERROR: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
Traceback (most recent call last):
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:07:14 [scrapy.core.scraper] ERROR: Error processing {'auction_title': '',
'c_o_2_emission_value': None,
'car_expert_report_source_url': None,
'category': None,
'color': 'Unknown',
'currency': 'EUR',
'doors_number': 5,
'emission_standard': None,
'engine': '',
'expiration_date': None,
'fuel_type': 'Electric',
'id': '8bbf11e1-7c72-52bc-bb73-af899d43069e',
'is_damaged': False,
'is_operable': True,
'is_vat_deductible': True,
'is_vat_included': True,
'link_to_web_offer': 'https://vpauto.fr/vehicule/592c5a97bf/renault-megane-iv-berline-ko',
'listing': 'auction',
'location': '76 - ROUEN',
'make': 'RENAULT',
'model': 'MEGANE IV BERLINE KO',
'odometer': None,
'odometer_reading_unit': 'km',
'origin_country_code': 'FR',
'original_photo_count': 0,
'price': 23200,
'price_includes_vat': True,
'registration_date': '2024-04-29',
'seats_number': 5,
'seller_name': None,
'title': 'RENAULT MEGANE IV BERLINE KO',
'transmission': 'automatic',
'trim': 'MEGANE IV BERLINE KO',
'year': 2024}
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/twisted/internet/defer.py", line 1078, in _runCallbacks
current.result = callback( # type: ignore[misc]
File "/usr/local/lib/python3.11/dist-packages/scrapy/utils/defer.py", line 340, in f
return deferred_from_coro(coro_f(*coro_args, **coro_kwargs))
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 114, in process_item
raise e
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:07:15 [crawlers.pipelines.post_to_api] ERROR: vpauto.fr, item_id 656f5a29-a75d-556e-b2c9-98c32735b16c: Failed to post item to https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
| Status Code: 400
| Response Content: {"error":"Command deserialization failed. Check field types \u2014 a null value may have been sent for a non-nullable field.","path":"/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing","requestBody":"{\u0022Color\u0022: \u0022Unknown\u0022, \u0022OriginalPhotoCount\u0022: 0, \u0022SellerName\u0022: null, \u0022PriceIncludesVat\u0022: true, \u0022Title\u0022: \u0022PEUGEOT PARTNER CA BLUEHDI 130 S\u0026S BVM6\u0022, \u0022Price\u0022: {\u0022AmountSmallestUnit\u0022: 2320000, \u0022CurrencyCode\u0022: \u0022EUR\u0022}, \u0022Make\u0022: \u0022PEUGEOT\u0022, \u0022Model\u0022: \u0022PARTNER CA BLUEHDI 130 S\u0026S BVM6\u0022, \u0022Transmission\u0022: \u0022manual\u0022, \u0022Engine\u0022: \u0022\u0022, \u0022FuelType\u0022: \u0022Diesel\u0022, \u0022Odometer\u0022: {\u0022Value\u0022: null, \u0022Unit\u0022: 1}, \u0022RegistrationDate\u0022: \u00222024-07-18\u0022, \u0022LinkToWebOffer\u0022: \u0022https://vpauto.fr/vehicule/56767d6ebf/peugeot-partner-ca-bluehdi-130-ss-bvm6\u0022, \u0022ExpirationDate\u0022: null, \u0022Location\u0022: \u002276 - ROUEN\u0022, \u0022OriginCountryCode\u0022: \u0022FR\u0022, \u0022Trim\u0022: \u0022PARTNER CA BLUEHDI 130 S\u0026S BVM6\u0022, \u0022Year\u0022: 2024, \u0022Listing\u0022: \u0022auction\u0022, \u0022Category\u0022: null, \u0022SeatsNumber\u0022: 5, \u0022DoorsNumber\u0022: 5, \u0022CO2EmissionValue\u0022: 147, \u0022EmissionStandard\u0022: null, \u0022CarExpertReportSourceUrl\u0022: null, \u0022IsVatIncluded\u0022: true, \u0022IsVatDeductible\u0022: true, \u0022Id\u0022: \u0022656f5a29-a75d-556e-b2c9-98c32735b16c\u0022}"}
| Response Headers: {'Content-Type': 'application/json', 'Date': 'Mon, 23 Mar 2026 09:07:14 GMT', 'Request-Context': 'appId=cid-v1:1a14ebe8-38cd-4629-ab2d-40684250fa5b', 'Server': 'Kestrel', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'Transfer-Encoding': 'chunked'}
2026-03-23 09:07:15 [crawlers.pipelines.post_to_api] ERROR: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
Traceback (most recent call last):
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:07:15 [scrapy.core.scraper] ERROR: Error processing {'auction_title': '',
'c_o_2_emission_value': 147,
'car_expert_report_source_url': None,
'category': None,
'color': 'Unknown',
'currency': 'EUR',
'doors_number': 5,
'emission_standard': None,
'engine': '',
'expiration_date': None,
'fuel_type': 'Diesel',
'id': '656f5a29-a75d-556e-b2c9-98c32735b16c',
'is_damaged': False,
'is_operable': True,
'is_vat_deductible': True,
'is_vat_included': True,
'link_to_web_offer': 'https://vpauto.fr/vehicule/56767d6ebf/peugeot-partner-ca-bluehdi-130-ss-bvm6',
'listing': 'auction',
'location': '76 - ROUEN',
'make': 'PEUGEOT',
'model': 'PARTNER CA BLUEHDI 130 S&S BVM6',
'odometer': None,
'odometer_reading_unit': 'km',
'origin_country_code': 'FR',
'original_photo_count': 0,
'price': 23200,
'price_includes_vat': True,
'registration_date': '2024-07-18',
'seats_number': 5,
'seller_name': None,
'title': 'PEUGEOT PARTNER CA BLUEHDI 130 S&S BVM6',
'transmission': 'manual',
'trim': 'PARTNER CA BLUEHDI 130 S&S BVM6',
'year': 2024}
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/twisted/internet/defer.py", line 1078, in _runCallbacks
current.result = callback( # type: ignore[misc]
File "/usr/local/lib/python3.11/dist-packages/scrapy/utils/defer.py", line 340, in f
return deferred_from_coro(coro_f(*coro_args, **coro_kwargs))
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 114, in process_item
raise e
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:07:16 [crawlers.pipelines.post_to_api] ERROR: vpauto.fr, item_id 535c807c-ebe5-5008-a841-1595c3a2dc7c: Failed to post item to https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
| Status Code: 400
| Response Content: {"error":"Command deserialization failed. Check field types \u2014 a null value may have been sent for a non-nullable field.","path":"/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing","requestBody":"{\u0022Color\u0022: \u0022Unknown\u0022, \u0022OriginalPhotoCount\u0022: 0, \u0022SellerName\u0022: null, \u0022PriceIncludesVat\u0022: true, \u0022Title\u0022: \u0022RENAULT Clio Blue dCi 100\u0022, \u0022Price\u0022: {\u0022AmountSmallestUnit\u0022: 2320000, \u0022CurrencyCode\u0022: \u0022EUR\u0022}, \u0022Make\u0022: \u0022RENAULT\u0022, \u0022Model\u0022: \u0022Clio Blue dCi 100\u0022, \u0022Transmission\u0022: \u0022automatic\u0022, \u0022Engine\u0022: \u0022\u0022, \u0022FuelType\u0022: \u0022Diesel\u0022, \u0022Odometer\u0022: {\u0022Value\u0022: null, \u0022Unit\u0022: 1}, \u0022RegistrationDate\u0022: \u00222024-03-04\u0022, \u0022LinkToWebOffer\u0022: \u0022https://vpauto.fr/vehicule/6049140ebf/renault-clio-blue-dci-100\u0022, \u0022ExpirationDate\u0022: null, \u0022Location\u0022: \u002276 - ROUEN\u0022, \u0022OriginCountryCode\u0022: \u0022FR\u0022, \u0022Trim\u0022: \u0022Clio Blue dCi 100\u0022, \u0022Year\u0022: 2024, \u0022Listing\u0022: \u0022auction\u0022, \u0022Category\u0022: null, \u0022SeatsNumber\u0022: 5, \u0022DoorsNumber\u0022: 5, \u0022CO2EmissionValue\u0022: 109, \u0022EmissionStandard\u0022: null, \u0022CarExpertReportSourceUrl\u0022: null, \u0022IsVatIncluded\u0022: true, \u0022IsVatDeductible\u0022: true, \u0022Id\u0022: \u0022535c807c-ebe5-5008-a841-1595c3a2dc7c\u0022}"}
| Response Headers: {'Content-Type': 'application/json', 'Date': 'Mon, 23 Mar 2026 09:07:15 GMT', 'Request-Context': 'appId=cid-v1:1a14ebe8-38cd-4629-ab2d-40684250fa5b', 'Server': 'Kestrel', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'Transfer-Encoding': 'chunked'}
2026-03-23 09:07:16 [crawlers.pipelines.post_to_api] ERROR: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
Traceback (most recent call last):
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:07:16 [scrapy.core.scraper] ERROR: Error processing {'auction_title': '',
'c_o_2_emission_value': 109,
'car_expert_report_source_url': None,
'category': None,
'color': 'Unknown',
'currency': 'EUR',
'doors_number': 5,
'emission_standard': None,
'engine': '',
'expiration_date': None,
'fuel_type': 'Diesel',
'id': '535c807c-ebe5-5008-a841-1595c3a2dc7c',
'is_damaged': False,
'is_operable': True,
'is_vat_deductible': True,
'is_vat_included': True,
'link_to_web_offer': 'https://vpauto.fr/vehicule/6049140ebf/renault-clio-blue-dci-100',
'listing': 'auction',
'location': '76 - ROUEN',
'make': 'RENAULT',
'model': 'Clio Blue dCi 100',
'odometer': None,
'odometer_reading_unit': 'km',
'origin_country_code': 'FR',
'original_photo_count': 0,
'price': 23200,
'price_includes_vat': True,
'registration_date': '2024-03-04',
'seats_number': 5,
'seller_name': None,
'title': 'RENAULT Clio Blue dCi 100',
'transmission': 'automatic',
'trim': 'Clio Blue dCi 100',
'year': 2024}
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/twisted/internet/defer.py", line 1078, in _runCallbacks
current.result = callback( # type: ignore[misc]
File "/usr/local/lib/python3.11/dist-packages/scrapy/utils/defer.py", line 340, in f
return deferred_from_coro(coro_f(*coro_args, **coro_kwargs))
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 114, in process_item
raise e
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:07:16 [crawlers.pipelines.post_to_api] ERROR: vpauto.fr, item_id 8151bd5b-ab1d-55bd-8561-fd10d5c0a3a4: Failed to post item to https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
| Status Code: 400
| Response Content: {"error":"Command deserialization failed. Check field types \u2014 a null value may have been sent for a non-nullable field.","path":"/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing","requestBody":"{\u0022Color\u0022: \u0022Unknown\u0022, \u0022OriginalPhotoCount\u0022: 0, \u0022SellerName\u0022: null, \u0022PriceIncludesVat\u0022: true, \u0022Title\u0022: \u0022RENAULT MASTER FOURGON FG TR CF F3500 L3H2 BLUE DCI 1\u0022, \u0022Price\u0022: {\u0022AmountSmallestUnit\u0022: 2320000, \u0022CurrencyCode\u0022: \u0022EUR\u0022}, \u0022Make\u0022: \u0022RENAULT\u0022, \u0022Model\u0022: \u0022MASTER FOURGON FG TR CF F3500 L3H2 BLUE DCI 1\u0022, \u0022Transmission\u0022: \u0022automatic\u0022, \u0022Engine\u0022: \u0022\u0022, \u0022FuelType\u0022: \u0022Diesel\u0022, \u0022Odometer\u0022: {\u0022Value\u0022: null, \u0022Unit\u0022: 1}, \u0022RegistrationDate\u0022: \u00222024-01-09\u0022, \u0022LinkToWebOffer\u0022: \u0022https://vpauto.fr/vehicule/7b96f553f8/renault-master-fourgon-fg-tr-cf-f3500-l3h2-blue-dci-1\u0022, \u0022ExpirationDate\u0022: null, \u0022Location\u0022: \u002256 - LORIENT\u0022, \u0022OriginCountryCode\u0022: \u0022FR\u0022, \u0022Trim\u0022: \u0022MASTER FOURGON FG TR CF F3500 L3H2 BLUE DCI 1\u0022, \u0022Year\u0022: 2024, \u0022Listing\u0022: \u0022auction\u0022, \u0022Category\u0022: null, \u0022SeatsNumber\u0022: 3, \u0022DoorsNumber\u0022: null, \u0022CO2EmissionValue\u0022: 238, \u0022EmissionStandard\u0022: null, \u0022CarExpertReportSourceUrl\u0022: null, \u0022IsVatIncluded\u0022: true, \u0022IsVatDeductible\u0022: true, \u0022Id\u0022: \u00228151bd5b-ab1d-55bd-8561-fd10d5c0a3a4\u0022}"}
| Response Headers: {'Content-Type': 'application/json', 'Date': 'Mon, 23 Mar 2026 09:07:16 GMT', 'Request-Context': 'appId=cid-v1:1a14ebe8-38cd-4629-ab2d-40684250fa5b', 'Server': 'Kestrel', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'Transfer-Encoding': 'chunked'}
2026-03-23 09:07:16 [crawlers.pipelines.post_to_api] ERROR: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
Traceback (most recent call last):
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:07:16 [scrapy.core.scraper] ERROR: Error processing {'auction_title': '',
'c_o_2_emission_value': 238,
'car_expert_report_source_url': None,
'category': None,
'color': 'Unknown',
'currency': 'EUR',
'doors_number': None,
'emission_standard': None,
'engine': '',
'expiration_date': None,
'fuel_type': 'Diesel',
'id': '8151bd5b-ab1d-55bd-8561-fd10d5c0a3a4',
'is_damaged': False,
'is_operable': True,
'is_vat_deductible': True,
'is_vat_included': True,
'link_to_web_offer': 'https://vpauto.fr/vehicule/7b96f553f8/renault-master-fourgon-fg-tr-cf-f3500-l3h2-blue-dci-1',
'listing': 'auction',
'location': '56 - LORIENT',
'make': 'RENAULT',
'model': 'MASTER FOURGON FG TR CF F3500 L3H2 BLUE DCI 1',
'odometer': None,
'odometer_reading_unit': 'km',
'origin_country_code': 'FR',
'original_photo_count': 0,
'price': 23200,
'price_includes_vat': True,
'registration_date': '2024-01-09',
'seats_number': 3,
'seller_name': None,
'title': 'RENAULT MASTER FOURGON FG TR CF F3500 L3H2 BLUE DCI 1',
'transmission': 'automatic',
'trim': 'MASTER FOURGON FG TR CF F3500 L3H2 BLUE DCI 1',
'year': 2024}
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/twisted/internet/defer.py", line 1078, in _runCallbacks
current.result = callback( # type: ignore[misc]
File "/usr/local/lib/python3.11/dist-packages/scrapy/utils/defer.py", line 340, in f
return deferred_from_coro(coro_f(*coro_args, **coro_kwargs))
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 114, in process_item
raise e
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:07:18 [crawlers.pipelines.post_to_api] ERROR: vpauto.fr, item_id 65615e31-66b9-5ce1-aaee-c3e0dcc4e54b: Failed to post item to https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
| Status Code: 400
| Response Content: {"error":"Command deserialization failed. Check field types \u2014 a null value may have been sent for a non-nullable field.","path":"/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing","requestBody":"{\u0022Color\u0022: \u0022Unknown\u0022, \u0022OriginalPhotoCount\u0022: 0, \u0022SellerName\u0022: null, \u0022PriceIncludesVat\u0022: true, \u0022Title\u0022: \u0022OPEL Grandland 1.2 Turbo Hybrid 136\u0022, \u0022Price\u0022: {\u0022AmountSmallestUnit\u0022: 2320000, \u0022CurrencyCode\u0022: \u0022EUR\u0022}, \u0022Make\u0022: \u0022OPEL\u0022, \u0022Model\u0022: \u0022Grandland 1.2 Turbo Hybrid 136\u0022, \u0022Transmission\u0022: \u0022automatic\u0022, \u0022Engine\u0022: \u00221.2L\u0022, \u0022FuelType\u0022: \u0022Hybrid\u0022, \u0022Odometer\u0022: {\u0022Value\u0022: null, \u0022Unit\u0022: 1}, \u0022RegistrationDate\u0022: \u00222024-02-29\u0022, \u0022LinkToWebOffer\u0022: \u0022https://vpauto.fr/vehicule/a8dc20e6f8/opel-grandland-12-turbo-hybrid-136\u0022, \u0022ExpirationDate\u0022: null, \u0022Location\u0022: \u002256 - LORIENT\u0022, \u0022OriginCountryCode\u0022: \u0022FR\u0022, \u0022Trim\u0022: \u0022Grandland 1.2 Turbo Hybrid 136\u0022, \u0022Year\u0022: 2024, \u0022Listing\u0022: \u0022auction\u0022, \u0022Category\u0022: null, \u0022SeatsNumber\u0022: 5, \u0022DoorsNumber\u0022: 5, \u0022CO2EmissionValue\u0022: 124, \u0022EmissionStandard\u0022: null, \u0022CarExpertReportSourceUrl\u0022: null, \u0022IsVatIncluded\u0022: true, \u0022IsVatDeductible\u0022: true, \u0022Id\u0022: \u002265615e31-66b9-5ce1-aaee-c3e0dcc4e54b\u0022}"}
| Response Headers: {'Content-Type': 'application/json', 'Date': 'Mon, 23 Mar 2026 09:07:17 GMT', 'Request-Context': 'appId=cid-v1:1a14ebe8-38cd-4629-ab2d-40684250fa5b', 'Server': 'Kestrel', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'Transfer-Encoding': 'chunked'}
2026-03-23 09:07:18 [crawlers.pipelines.post_to_api] ERROR: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
Traceback (most recent call last):
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:07:18 [scrapy.core.scraper] ERROR: Error processing {'auction_title': '',
'c_o_2_emission_value': 124,
'car_expert_report_source_url': None,
'category': None,
'color': 'Unknown',
'currency': 'EUR',
'doors_number': 5,
'emission_standard': None,
'engine': '1.2L',
'expiration_date': None,
'fuel_type': 'Hybrid',
'id': '65615e31-66b9-5ce1-aaee-c3e0dcc4e54b',
'is_damaged': False,
'is_operable': True,
'is_vat_deductible': True,
'is_vat_included': True,
'link_to_web_offer': 'https://vpauto.fr/vehicule/a8dc20e6f8/opel-grandland-12-turbo-hybrid-136',
'listing': 'auction',
'location': '56 - LORIENT',
'make': 'OPEL',
'model': 'Grandland 1.2 Turbo Hybrid 136',
'odometer': None,
'odometer_reading_unit': 'km',
'origin_country_code': 'FR',
'original_photo_count': 0,
'price': 23200,
'price_includes_vat': True,
'registration_date': '2024-02-29',
'seats_number': 5,
'seller_name': None,
'title': 'OPEL Grandland 1.2 Turbo Hybrid 136',
'transmission': 'automatic',
'trim': 'Grandland 1.2 Turbo Hybrid 136',
'year': 2024}
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/twisted/internet/defer.py", line 1078, in _runCallbacks
current.result = callback( # type: ignore[misc]
File "/usr/local/lib/python3.11/dist-packages/scrapy/utils/defer.py", line 340, in f
return deferred_from_coro(coro_f(*coro_args, **coro_kwargs))
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 114, in process_item
raise e
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:07:18 [crawlers.pipelines.post_to_api] ERROR: vpauto.fr, item_id 5d60b277-4ca1-5e3a-b1a8-4ed261bdbb4e: Failed to post item to https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
| Status Code: 400
| Response Content: {"error":"Command deserialization failed. Check field types \u2014 a null value may have been sent for a non-nullable field.","path":"/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing","requestBody":"{\u0022Color\u0022: \u0022Unknown\u0022, \u0022OriginalPhotoCount\u0022: 0, \u0022SellerName\u0022: null, \u0022PriceIncludesVat\u0022: true, \u0022Title\u0022: \u0022CITROEN C3 PureTech 83 S\u0026S BVM5\u0022, \u0022Price\u0022: {\u0022AmountSmallestUnit\u0022: 2320000, \u0022CurrencyCode\u0022: \u0022EUR\u0022}, \u0022Make\u0022: \u0022CITROEN\u0022, \u0022Model\u0022: \u0022C3 PureTech 83 S\u0026S BVM5\u0022, \u0022Transmission\u0022: \u0022automatic\u0022, \u0022Engine\u0022: \u0022\u0022, \u0022FuelType\u0022: \u0022Petrol\u0022, \u0022Odometer\u0022: {\u0022Value\u0022: null, \u0022Unit\u0022: 1}, \u0022RegistrationDate\u0022: \u00222024-07-31\u0022, \u0022LinkToWebOffer\u0022: \u0022https://vpauto.fr/vehicule/90abc9d65a/citroen-c3-puretech-83-ss-bvm5\u0022, \u0022ExpirationDate\u0022: null, \u0022Location\u0022: \u002233 - BORDEAUX\u0022, \u0022OriginCountryCode\u0022: \u0022FR\u0022, \u0022Trim\u0022: \u0022C3 PureTech 83 S\u0026S BVM5\u0022, \u0022Year\u0022: 2024, \u0022Listing\u0022: \u0022auction\u0022, \u0022Category\u0022: null, \u0022SeatsNumber\u0022: 5, \u0022DoorsNumber\u0022: 5, \u0022CO2EmissionValue\u0022: 124, \u0022EmissionStandard\u0022: null, \u0022CarExpertReportSourceUrl\u0022: null, \u0022IsVatIncluded\u0022: true, \u0022IsVatDeductible\u0022: true, \u0022Id\u0022: \u00225d60b277-4ca1-5e3a-b1a8-4ed261bdbb4e\u0022}"}
| Response Headers: {'Content-Type': 'application/json', 'Date': 'Mon, 23 Mar 2026 09:07:18 GMT', 'Request-Context': 'appId=cid-v1:1a14ebe8-38cd-4629-ab2d-40684250fa5b', 'Server': 'Kestrel', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'Transfer-Encoding': 'chunked'}
2026-03-23 09:07:18 [crawlers.pipelines.post_to_api] ERROR: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
Traceback (most recent call last):
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:07:18 [scrapy.core.scraper] ERROR: Error processing {'auction_title': '',
'c_o_2_emission_value': 124,
'car_expert_report_source_url': None,
'category': None,
'color': 'Unknown',
'currency': 'EUR',
'doors_number': 5,
'emission_standard': None,
'engine': '',
'expiration_date': None,
'fuel_type': 'Petrol',
'id': '5d60b277-4ca1-5e3a-b1a8-4ed261bdbb4e',
'is_damaged': False,
'is_operable': True,
'is_vat_deductible': True,
'is_vat_included': True,
'link_to_web_offer': 'https://vpauto.fr/vehicule/90abc9d65a/citroen-c3-puretech-83-ss-bvm5',
'listing': 'auction',
'location': '33 - BORDEAUX',
'make': 'CITROEN',
'model': 'C3 PureTech 83 S&S BVM5',
'odometer': None,
'odometer_reading_unit': 'km',
'origin_country_code': 'FR',
'original_photo_count': 0,
'price': 23200,
'price_includes_vat': True,
'registration_date': '2024-07-31',
'seats_number': 5,
'seller_name': None,
'title': 'CITROEN C3 PureTech 83 S&S BVM5',
'transmission': 'automatic',
'trim': 'C3 PureTech 83 S&S BVM5',
'year': 2024}
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/twisted/internet/defer.py", line 1078, in _runCallbacks
current.result = callback( # type: ignore[misc]
File "/usr/local/lib/python3.11/dist-packages/scrapy/utils/defer.py", line 340, in f
return deferred_from_coro(coro_f(*coro_args, **coro_kwargs))
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 114, in process_item
raise e
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:07:19 [crawlers.pipelines.post_to_api] ERROR: vpauto.fr, item_id af07685f-7d92-5395-92d5-af4c6920b020: Failed to post item to https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
| Status Code: 400
| Response Content: {"error":"Command deserialization failed. Check field types \u2014 a null value may have been sent for a non-nullable field.","path":"/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing","requestBody":"{\u0022Color\u0022: \u0022Unknown\u0022, \u0022OriginalPhotoCount\u0022: 0, \u0022SellerName\u0022: null, \u0022PriceIncludesVat\u0022: true, \u0022Title\u0022: \u0022TOYOTA Yaris Hybride 116h\u0022, \u0022Price\u0022: {\u0022AmountSmallestUnit\u0022: 2320000, \u0022CurrencyCode\u0022: \u0022EUR\u0022}, \u0022Make\u0022: \u0022TOYOTA\u0022, \u0022Model\u0022: \u0022Yaris Hybride 116h\u0022, \u0022Transmission\u0022: \u0022automatic\u0022, \u0022Engine\u0022: \u0022\u0022, \u0022FuelType\u0022: \u0022Hybrid\u0022, \u0022Odometer\u0022: {\u0022Value\u0022: null, \u0022Unit\u0022: 1}, \u0022RegistrationDate\u0022: \u00222024-10-14\u0022, \u0022LinkToWebOffer\u0022: \u0022https://vpauto.fr/vehicule/a30ce628f8/toyota-yaris-hybride-116h\u0022, \u0022ExpirationDate\u0022: null, \u0022Location\u0022: \u002256 - LORIENT\u0022, \u0022OriginCountryCode\u0022: \u0022FR\u0022, \u0022Trim\u0022: \u0022Yaris Hybride 116h\u0022, \u0022Year\u0022: 2024, \u0022Listing\u0022: \u0022auction\u0022, \u0022Category\u0022: null, \u0022SeatsNumber\u0022: 5, \u0022DoorsNumber\u0022: 5, \u0022CO2EmissionValue\u0022: 87, \u0022EmissionStandard\u0022: null, \u0022CarExpertReportSourceUrl\u0022: null, \u0022IsVatIncluded\u0022: true, \u0022IsVatDeductible\u0022: true, \u0022Id\u0022: \u0022af07685f-7d92-5395-92d5-af4c6920b020\u0022}"}
| Response Headers: {'Content-Type': 'application/json', 'Date': 'Mon, 23 Mar 2026 09:07:19 GMT', 'Request-Context': 'appId=cid-v1:1a14ebe8-38cd-4629-ab2d-40684250fa5b', 'Server': 'Kestrel', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'Transfer-Encoding': 'chunked'}
2026-03-23 09:07:19 [crawlers.pipelines.post_to_api] ERROR: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
Traceback (most recent call last):
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:07:19 [scrapy.core.scraper] ERROR: Error processing {'auction_title': '',
'c_o_2_emission_value': 87,
'car_expert_report_source_url': None,
'category': None,
'color': 'Unknown',
'currency': 'EUR',
'doors_number': 5,
'emission_standard': None,
'engine': '',
'expiration_date': None,
'fuel_type': 'Hybrid',
'id': 'af07685f-7d92-5395-92d5-af4c6920b020',
'is_damaged': False,
'is_operable': True,
'is_vat_deductible': True,
'is_vat_included': True,
'link_to_web_offer': 'https://vpauto.fr/vehicule/a30ce628f8/toyota-yaris-hybride-116h',
'listing': 'auction',
'location': '56 - LORIENT',
'make': 'TOYOTA',
'model': 'Yaris Hybride 116h',
'odometer': None,
'odometer_reading_unit': 'km',
'origin_country_code': 'FR',
'original_photo_count': 0,
'price': 23200,
'price_includes_vat': True,
'registration_date': '2024-10-14',
'seats_number': 5,
'seller_name': None,
'title': 'TOYOTA Yaris Hybride 116h',
'transmission': 'automatic',
'trim': 'Yaris Hybride 116h',
'year': 2024}
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/twisted/internet/defer.py", line 1078, in _runCallbacks
current.result = callback( # type: ignore[misc]
File "/usr/local/lib/python3.11/dist-packages/scrapy/utils/defer.py", line 340, in f
return deferred_from_coro(coro_f(*coro_args, **coro_kwargs))
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 114, in process_item
raise e
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:07:20 [crawlers.pipelines.post_to_api] ERROR: vpauto.fr, item_id 4bedbe92-0060-536b-b25a-44ebfe35cd35: Failed to post item to https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
| Status Code: 400
| Response Content: {"error":"Command deserialization failed. Check field types \u2014 a null value may have been sent for a non-nullable field.","path":"/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing","requestBody":"{\u0022Color\u0022: \u0022Unknown\u0022, \u0022OriginalPhotoCount\u0022: 0, \u0022SellerName\u0022: null, \u0022PriceIncludesVat\u0022: true, \u0022Title\u0022: \u0022RENAULT Megane IV Berline Blue dCi 115 EDC Evolution\u0022, \u0022Price\u0022: {\u0022AmountSmallestUnit\u0022: 2320000, \u0022CurrencyCode\u0022: \u0022EUR\u0022}, \u0022Make\u0022: \u0022RENAULT\u0022, \u0022Model\u0022: \u0022Megane IV Berline Blue dCi 115 EDC Evolution\u0022, \u0022Transmission\u0022: \u0022automatic\u0022, \u0022Engine\u0022: \u0022\u0022, \u0022FuelType\u0022: \u0022Diesel\u0022, \u0022Odometer\u0022: {\u0022Value\u0022: null, \u0022Unit\u0022: 1}, \u0022RegistrationDate\u0022: \u00222024-03-21\u0022, \u0022LinkToWebOffer\u0022: \u0022https://vpauto.fr/vehicule/bffff4ffb1/renault-megane-iv-berline-blue-dci-115-edc-evolution\u0022, \u0022ExpirationDate\u0022: null, \u0022Location\u0022: \u002276 - ROUEN\u0022, \u0022OriginCountryCode\u0022: \u0022FR\u0022, \u0022Trim\u0022: \u0022Megane IV Berline Blue dCi 115 EDC Evolution\u0022, \u0022Year\u0022: 2024, \u0022Listing\u0022: \u0022auction\u0022, \u0022Category\u0022: null, \u0022SeatsNumber\u0022: 5, \u0022DoorsNumber\u0022: 5, \u0022CO2EmissionValue\u0022: 121, \u0022EmissionStandard\u0022: null, \u0022CarExpertReportSourceUrl\u0022: null, \u0022IsVatIncluded\u0022: true, \u0022IsVatDeductible\u0022: true, \u0022Id\u0022: \u00224bedbe92-0060-536b-b25a-44ebfe35cd35\u0022}"}
| Response Headers: {'Content-Type': 'application/json', 'Date': 'Mon, 23 Mar 2026 09:07:19 GMT', 'Request-Context': 'appId=cid-v1:1a14ebe8-38cd-4629-ab2d-40684250fa5b', 'Server': 'Kestrel', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'Transfer-Encoding': 'chunked'}
2026-03-23 09:07:20 [crawlers.pipelines.post_to_api] ERROR: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
Traceback (most recent call last):
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:07:20 [scrapy.core.scraper] ERROR: Error processing {'auction_title': '',
'c_o_2_emission_value': 121,
'car_expert_report_source_url': None,
'category': None,
'color': 'Unknown',
'currency': 'EUR',
'doors_number': 5,
'emission_standard': None,
'engine': '',
'expiration_date': None,
'fuel_type': 'Diesel',
'id': '4bedbe92-0060-536b-b25a-44ebfe35cd35',
'is_damaged': False,
'is_operable': True,
'is_vat_deductible': True,
'is_vat_included': True,
'link_to_web_offer': 'https://vpauto.fr/vehicule/bffff4ffb1/renault-megane-iv-berline-blue-dci-115-edc-evolution',
'listing': 'auction',
'location': '76 - ROUEN',
'make': 'RENAULT',
'model': 'Megane IV Berline Blue dCi 115 EDC Evolution',
'odometer': None,
'odometer_reading_unit': 'km',
'origin_country_code': 'FR',
'original_photo_count': 0,
'price': 23200,
'price_includes_vat': True,
'registration_date': '2024-03-21',
'seats_number': 5,
'seller_name': None,
'title': 'RENAULT Megane IV Berline Blue dCi 115 EDC Evolution',
'transmission': 'automatic',
'trim': 'Megane IV Berline Blue dCi 115 EDC Evolution',
'year': 2024}
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/twisted/internet/defer.py", line 1078, in _runCallbacks
current.result = callback( # type: ignore[misc]
File "/usr/local/lib/python3.11/dist-packages/scrapy/utils/defer.py", line 340, in f
return deferred_from_coro(coro_f(*coro_args, **coro_kwargs))
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 114, in process_item
raise e
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:07:20 [crawlers.pipelines.post_to_api] ERROR: vpauto.fr, item_id 263518c2-da1b-5449-8887-1cf8c34e9c11: Failed to post item to https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
| Status Code: 400
| Response Content: {"error":"Command deserialization failed. Check field types \u2014 a null value may have been sent for a non-nullable field.","path":"/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing","requestBody":"{\u0022Color\u0022: \u0022Unknown\u0022, \u0022OriginalPhotoCount\u0022: 0, \u0022SellerName\u0022: null, \u0022PriceIncludesVat\u0022: true, \u0022Title\u0022: \u0022RENAULT Clio E-Tech full hybrid 145 Techno\u0022, \u0022Price\u0022: {\u0022AmountSmallestUnit\u0022: 2320000, \u0022CurrencyCode\u0022: \u0022EUR\u0022}, \u0022Make\u0022: \u0022RENAULT\u0022, \u0022Model\u0022: \u0022Clio E-Tech full hybrid 145 Techno\u0022, \u0022Transmission\u0022: \u0022automatic\u0022, \u0022Engine\u0022: \u0022\u0022, \u0022FuelType\u0022: \u0022Hybrid\u0022, \u0022Odometer\u0022: {\u0022Value\u0022: null, \u0022Unit\u0022: 1}, \u0022RegistrationDate\u0022: \u00222024-03-27\u0022, \u0022LinkToWebOffer\u0022: \u0022https://vpauto.fr/vehicule/eebd6fb1/renault-clio-e-tech-full-hybrid-145-techno\u0022, \u0022ExpirationDate\u0022: null, \u0022Location\u0022: \u002294 - PARIS\u0022, \u0022OriginCountryCode\u0022: \u0022FR\u0022, \u0022Trim\u0022: \u0022Clio E-Tech full hybrid 145 Techno\u0022, \u0022Year\u0022: 2024, \u0022Listing\u0022: \u0022auction\u0022, \u0022Category\u0022: null, \u0022SeatsNumber\u0022: 5, \u0022DoorsNumber\u0022: 5, \u0022CO2EmissionValue\u0022: 97, \u0022EmissionStandard\u0022: null, \u0022CarExpertReportSourceUrl\u0022: null, \u0022IsVatIncluded\u0022: true, \u0022IsVatDeductible\u0022: true, \u0022Id\u0022: \u0022263518c2-da1b-5449-8887-1cf8c34e9c11\u0022}"}
| Response Headers: {'Content-Type': 'application/json', 'Date': 'Mon, 23 Mar 2026 09:07:19 GMT', 'Request-Context': 'appId=cid-v1:1a14ebe8-38cd-4629-ab2d-40684250fa5b', 'Server': 'Kestrel', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'Transfer-Encoding': 'chunked'}
2026-03-23 09:07:20 [crawlers.pipelines.post_to_api] ERROR: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
Traceback (most recent call last):
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:07:20 [scrapy.core.scraper] ERROR: Error processing {'auction_title': '',
'c_o_2_emission_value': 97,
'car_expert_report_source_url': None,
'category': None,
'color': 'Unknown',
'currency': 'EUR',
'doors_number': 5,
'emission_standard': None,
'engine': '',
'expiration_date': None,
'fuel_type': 'Hybrid',
'id': '263518c2-da1b-5449-8887-1cf8c34e9c11',
'is_damaged': False,
'is_operable': True,
'is_vat_deductible': True,
'is_vat_included': True,
'link_to_web_offer': 'https://vpauto.fr/vehicule/eebd6fb1/renault-clio-e-tech-full-hybrid-145-techno',
'listing': 'auction',
'location': '94 - PARIS',
'make': 'RENAULT',
'model': 'Clio E-Tech full hybrid 145 Techno',
'odometer': None,
'odometer_reading_unit': 'km',
'origin_country_code': 'FR',
'original_photo_count': 0,
'price': 23200,
'price_includes_vat': True,
'registration_date': '2024-03-27',
'seats_number': 5,
'seller_name': None,
'title': 'RENAULT Clio E-Tech full hybrid 145 Techno',
'transmission': 'automatic',
'trim': 'Clio E-Tech full hybrid 145 Techno',
'year': 2024}
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/twisted/internet/defer.py", line 1078, in _runCallbacks
current.result = callback( # type: ignore[misc]
File "/usr/local/lib/python3.11/dist-packages/scrapy/utils/defer.py", line 340, in f
return deferred_from_coro(coro_f(*coro_args, **coro_kwargs))
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 114, in process_item
raise e
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:07:20 [crawlers.pipelines.post_to_api] ERROR: vpauto.fr, item_id 10cbcc0d-2f81-598b-a8d6-43f60727952c: Failed to post item to https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
| Status Code: 400
| Response Content: {"error":"Command deserialization failed. Check field types \u2014 a null value may have been sent for a non-nullable field.","path":"/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing","requestBody":"{\u0022Color\u0022: \u0022Unknown\u0022, \u0022OriginalPhotoCount\u0022: 0, \u0022SellerName\u0022: null, \u0022PriceIncludesVat\u0022: true, \u0022Title\u0022: \u0022AUDI Q5 45 TFSI 265 S tronic 7 Quattro\u0022, \u0022Price\u0022: {\u0022AmountSmallestUnit\u0022: 2320000, \u0022CurrencyCode\u0022: \u0022EUR\u0022}, \u0022Make\u0022: \u0022AUDI\u0022, \u0022Model\u0022: \u0022Q5 45 TFSI 265 S tronic 7 Quattro\u0022, \u0022Transmission\u0022: \u0022automatic\u0022, \u0022Engine\u0022: \u0022\u0022, \u0022FuelType\u0022: \u0022ESS \u002B ELEC HR\u0022, \u0022Odometer\u0022: {\u0022Value\u0022: null, \u0022Unit\u0022: 1}, \u0022RegistrationDate\u0022: \u00222024-01-11\u0022, \u0022LinkToWebOffer\u0022: \u0022https://vpauto.fr/vehicule/d7c1b827f8/audi-q5-45-tfsi-265-s-tronic-7-quattro\u0022, \u0022ExpirationDate\u0022: null, \u0022Location\u0022: \u002256 - LORIENT\u0022, \u0022OriginCountryCode\u0022: \u0022FR\u0022, \u0022Trim\u0022: \u0022Q5 45 TFSI 265 S tronic 7 Quattro\u0022, \u0022Year\u0022: 2024, \u0022Listing\u0022: \u0022auction\u0022, \u0022Category\u0022: null, \u0022SeatsNumber\u0022: 5, \u0022DoorsNumber\u0022: 5, \u0022CO2EmissionValue\u0022: 41, \u0022EmissionStandard\u0022: null, \u0022CarExpertReportSourceUrl\u0022: null, \u0022IsVatIncluded\u0022: false, \u0022IsVatDeductible\u0022: false, \u0022Id\u0022: \u002210cbcc0d-2f81-598b-a8d6-43f60727952c\u0022}"}
| Response Headers: {'Content-Type': 'application/json', 'Date': 'Mon, 23 Mar 2026 09:07:20 GMT', 'Request-Context': 'appId=cid-v1:1a14ebe8-38cd-4629-ab2d-40684250fa5b', 'Server': 'Kestrel', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'Transfer-Encoding': 'chunked'}
2026-03-23 09:07:20 [crawlers.pipelines.post_to_api] ERROR: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
Traceback (most recent call last):
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:07:20 [scrapy.core.scraper] ERROR: Error processing {'auction_title': '',
'c_o_2_emission_value': 41,
'car_expert_report_source_url': None,
'category': None,
'color': 'Unknown',
'currency': 'EUR',
'doors_number': 5,
'emission_standard': None,
'engine': '',
'expiration_date': None,
'fuel_type': 'ESS + ELEC HR',
'id': '10cbcc0d-2f81-598b-a8d6-43f60727952c',
'is_damaged': False,
'is_operable': True,
'is_vat_deductible': False,
'is_vat_included': False,
'link_to_web_offer': 'https://vpauto.fr/vehicule/d7c1b827f8/audi-q5-45-tfsi-265-s-tronic-7-quattro',
'listing': 'auction',
'location': '56 - LORIENT',
'make': 'AUDI',
'model': 'Q5 45 TFSI 265 S tronic 7 Quattro',
'odometer': None,
'odometer_reading_unit': 'km',
'origin_country_code': 'FR',
'original_photo_count': 0,
'price': 23200,
'price_includes_vat': True,
'registration_date': '2024-01-11',
'seats_number': 5,
'seller_name': None,
'title': 'AUDI Q5 45 TFSI 265 S tronic 7 Quattro',
'transmission': 'automatic',
'trim': 'Q5 45 TFSI 265 S tronic 7 Quattro',
'year': 2024}
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/twisted/internet/defer.py", line 1078, in _runCallbacks
current.result = callback( # type: ignore[misc]
File "/usr/local/lib/python3.11/dist-packages/scrapy/utils/defer.py", line 340, in f
return deferred_from_coro(coro_f(*coro_args, **coro_kwargs))
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 114, in process_item
raise e
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:07:25 [crawlers.pipelines.post_to_api] ERROR: vpauto.fr, item_id f50f0a9c-1d88-5a7c-8f7f-49a98840683a: Failed to post item to https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
| Status Code: 400
| Response Content: {"error":"Command deserialization failed. Check field types \u2014 a null value may have been sent for a non-nullable field.","path":"/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing","requestBody":"{\u0022Color\u0022: \u0022Unknown\u0022, \u0022OriginalPhotoCount\u0022: 0, \u0022SellerName\u0022: null, \u0022PriceIncludesVat\u0022: true, \u0022Title\u0022: \u0022DS DS4 BlueHDi 130 EAT8\u0022, \u0022Price\u0022: {\u0022AmountSmallestUnit\u0022: 2320000, \u0022CurrencyCode\u0022: \u0022EUR\u0022}, \u0022Make\u0022: \u0022DS\u0022, \u0022Model\u0022: \u00224 BlueHDi 130 EAT8\u0022, \u0022Transmission\u0022: \u0022automatic\u0022, \u0022Engine\u0022: \u0022\u0022, \u0022FuelType\u0022: \u0022Diesel\u0022, \u0022Odometer\u0022: {\u0022Value\u0022: null, \u0022Unit\u0022: 1}, \u0022RegistrationDate\u0022: \u00222023-09-29\u0022, \u0022LinkToWebOffer\u0022: \u0022https://vpauto.fr/vehicule/1b8779ab1/ds-ds4-bluehdi-130-eat8\u0022, \u0022ExpirationDate\u0022: null, \u0022Location\u0022: \u002244 - NANTES\u0022, \u0022OriginCountryCode\u0022: \u0022FR\u0022, \u0022Trim\u0022: \u00224 BlueHDi 130 EAT8\u0022, \u0022Year\u0022: 2023, \u0022Listing\u0022: \u0022auction\u0022, \u0022Category\u0022: null, \u0022SeatsNumber\u0022: 5, \u0022DoorsNumber\u0022: 5, \u0022CO2EmissionValue\u0022: 138, \u0022EmissionStandard\u0022: null, \u0022CarExpertReportSourceUrl\u0022: null, \u0022IsVatIncluded\u0022: true, \u0022IsVatDeductible\u0022: true, \u0022Id\u0022: \u0022f50f0a9c-1d88-5a7c-8f7f-49a98840683a\u0022}"}
| Response Headers: {'Content-Type': 'application/json', 'Date': 'Mon, 23 Mar 2026 09:07:24 GMT', 'Request-Context': 'appId=cid-v1:1a14ebe8-38cd-4629-ab2d-40684250fa5b', 'Server': 'Kestrel', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'Transfer-Encoding': 'chunked'}
2026-03-23 09:07:25 [crawlers.pipelines.post_to_api] ERROR: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
Traceback (most recent call last):
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:07:25 [scrapy.core.scraper] ERROR: Error processing {'auction_title': '',
'c_o_2_emission_value': 138,
'car_expert_report_source_url': None,
'category': None,
'color': 'Unknown',
'currency': 'EUR',
'doors_number': 5,
'emission_standard': None,
'engine': '',
'expiration_date': None,
'fuel_type': 'Diesel',
'id': 'f50f0a9c-1d88-5a7c-8f7f-49a98840683a',
'is_damaged': False,
'is_operable': True,
'is_vat_deductible': True,
'is_vat_included': True,
'link_to_web_offer': 'https://vpauto.fr/vehicule/1b8779ab1/ds-ds4-bluehdi-130-eat8',
'listing': 'auction',
'location': '44 - NANTES',
'make': 'DS',
'model': '4 BlueHDi 130 EAT8',
'odometer': None,
'odometer_reading_unit': 'km',
'origin_country_code': 'FR',
'original_photo_count': 0,
'price': 23200,
'price_includes_vat': True,
'registration_date': '2023-09-29',
'seats_number': 5,
'seller_name': None,
'title': 'DS DS4 BlueHDi 130 EAT8',
'transmission': 'automatic',
'trim': '4 BlueHDi 130 EAT8',
'year': 2023}
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/twisted/internet/defer.py", line 1078, in _runCallbacks
current.result = callback( # type: ignore[misc]
File "/usr/local/lib/python3.11/dist-packages/scrapy/utils/defer.py", line 340, in f
return deferred_from_coro(coro_f(*coro_args, **coro_kwargs))
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 114, in process_item
raise e
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:07:25 [crawlers.pipelines.post_to_api] ERROR: vpauto.fr, item_id 7b4057b4-f3f4-5da4-a5e8-570b7b09c5bc: Failed to post item to https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
| Status Code: 400
| Response Content: {"error":"Command deserialization failed. Check field types \u2014 a null value may have been sent for a non-nullable field.","path":"/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing","requestBody":"{\u0022Color\u0022: \u0022Unknown\u0022, \u0022OriginalPhotoCount\u0022: 0, \u0022SellerName\u0022: null, \u0022PriceIncludesVat\u0022: true, \u0022Title\u0022: \u0022FIAT 500C 42kWh (Red) - FI03P0AK0Y4\u0022, \u0022Price\u0022: {\u0022AmountSmallestUnit\u0022: 2320000, \u0022CurrencyCode\u0022: \u0022EUR\u0022}, \u0022Make\u0022: \u0022FIAT\u0022, \u0022Model\u0022: \u0022500C 42kWh (Red) - FI03P0AK0Y4\u0022, \u0022Transmission\u0022: \u0022automatic\u0022, \u0022Engine\u0022: \u0022\u0022, \u0022FuelType\u0022: \u0022Electric\u0022, \u0022Odometer\u0022: {\u0022Value\u0022: null, \u0022Unit\u0022: 1}, \u0022RegistrationDate\u0022: \u00222023-12-28\u0022, \u0022LinkToWebOffer\u0022: \u0022https://vpauto.fr/vehicule/4c177ecef8/fiat-500c-42kwh-red-fi03p0ak0y4\u0022, \u0022ExpirationDate\u0022: null, \u0022Location\u0022: \u002256 - LORIENT\u0022, \u0022OriginCountryCode\u0022: \u0022FR\u0022, \u0022Trim\u0022: \u0022500C 42kWh (Red) - FI03P0AK0Y4\u0022, \u0022Year\u0022: 2023, \u0022Listing\u0022: \u0022auction\u0022, \u0022Category\u0022: null, \u0022SeatsNumber\u0022: 4, \u0022DoorsNumber\u0022: 3, \u0022CO2EmissionValue\u0022: null, \u0022EmissionStandard\u0022: null, \u0022CarExpertReportSourceUrl\u0022: null, \u0022IsVatIncluded\u0022: true, \u0022IsVatDeductible\u0022: true, \u0022Id\u0022: \u00227b4057b4-f3f4-5da4-a5e8-570b7b09c5bc\u0022}"}
| Response Headers: {'Content-Type': 'application/json', 'Date': 'Mon, 23 Mar 2026 09:07:25 GMT', 'Request-Context': 'appId=cid-v1:1a14ebe8-38cd-4629-ab2d-40684250fa5b', 'Server': 'Kestrel', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'Transfer-Encoding': 'chunked'}
2026-03-23 09:07:25 [crawlers.pipelines.post_to_api] ERROR: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
Traceback (most recent call last):
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:07:25 [scrapy.core.scraper] ERROR: Error processing {'auction_title': '',
'c_o_2_emission_value': None,
'car_expert_report_source_url': None,
'category': None,
'color': 'Unknown',
'currency': 'EUR',
'doors_number': 3,
'emission_standard': None,
'engine': '',
'expiration_date': None,
'fuel_type': 'Electric',
'id': '7b4057b4-f3f4-5da4-a5e8-570b7b09c5bc',
'is_damaged': False,
'is_operable': True,
'is_vat_deductible': True,
'is_vat_included': True,
'link_to_web_offer': 'https://vpauto.fr/vehicule/4c177ecef8/fiat-500c-42kwh-red-fi03p0ak0y4',
'listing': 'auction',
'location': '56 - LORIENT',
'make': 'FIAT',
'model': '500C 42kWh (Red) - FI03P0AK0Y4',
'odometer': None,
'odometer_reading_unit': 'km',
'origin_country_code': 'FR',
'original_photo_count': 0,
'price': 23200,
'price_includes_vat': True,
'registration_date': '2023-12-28',
'seats_number': 4,
'seller_name': None,
'title': 'FIAT 500C 42kWh (Red) - FI03P0AK0Y4',
'transmission': 'automatic',
'trim': '500C 42kWh (Red) - FI03P0AK0Y4',
'year': 2023}
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/twisted/internet/defer.py", line 1078, in _runCallbacks
current.result = callback( # type: ignore[misc]
File "/usr/local/lib/python3.11/dist-packages/scrapy/utils/defer.py", line 340, in f
return deferred_from_coro(coro_f(*coro_args, **coro_kwargs))
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 114, in process_item
raise e
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:07:26 [crawlers.pipelines.post_to_api] ERROR: vpauto.fr, item_id c1d308b8-0daa-5526-9b54-4fb40cbb2227: Failed to post item to https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
| Status Code: 400
| Response Content: {"error":"Command deserialization failed. Check field types \u2014 a null value may have been sent for a non-nullable field.","path":"/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing","requestBody":"{\u0022Color\u0022: \u0022Unknown\u0022, \u0022OriginalPhotoCount\u0022: 0, \u0022SellerName\u0022: null, \u0022PriceIncludesVat\u0022: true, \u0022Title\u0022: \u0022PEUGEOT 2008 Electrique 136 ch Allure\u0022, \u0022Price\u0022: {\u0022AmountSmallestUnit\u0022: 2320000, \u0022CurrencyCode\u0022: \u0022EUR\u0022}, \u0022Make\u0022: \u0022PEUGEOT\u0022, \u0022Model\u0022: \u00222008 Electrique 136 ch Allure\u0022, \u0022Transmission\u0022: \u0022automatic\u0022, \u0022Engine\u0022: \u0022\u0022, \u0022FuelType\u0022: \u0022Electric\u0022, \u0022Odometer\u0022: {\u0022Value\u0022: null, \u0022Unit\u0022: 1}, \u0022RegistrationDate\u0022: \u00222023-11-30\u0022, \u0022LinkToWebOffer\u0022: \u0022https://vpauto.fr/vehicule/a42c9698f8/peugeot-2008-electrique-136-ch-allure\u0022, \u0022ExpirationDate\u0022: null, \u0022Location\u0022: \u002256 - LORIENT\u0022, \u0022OriginCountryCode\u0022: \u0022FR\u0022, \u0022Trim\u0022: \u00222008 Electrique 136 ch Allure\u0022, \u0022Year\u0022: 2023, \u0022Listing\u0022: \u0022auction\u0022, \u0022Category\u0022: null, \u0022SeatsNumber\u0022: 5, \u0022DoorsNumber\u0022: 5, \u0022CO2EmissionValue\u0022: null, \u0022EmissionStandard\u0022: null, \u0022CarExpertReportSourceUrl\u0022: null, \u0022IsVatIncluded\u0022: true, \u0022IsVatDeductible\u0022: true, \u0022Id\u0022: \u0022c1d308b8-0daa-5526-9b54-4fb40cbb2227\u0022}"}
| Response Headers: {'Content-Type': 'application/json', 'Date': 'Mon, 23 Mar 2026 09:07:25 GMT', 'Request-Context': 'appId=cid-v1:1a14ebe8-38cd-4629-ab2d-40684250fa5b', 'Server': 'Kestrel', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'Transfer-Encoding': 'chunked'}
2026-03-23 09:07:26 [crawlers.pipelines.post_to_api] ERROR: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
Traceback (most recent call last):
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:07:26 [scrapy.core.scraper] ERROR: Error processing {'auction_title': '',
'c_o_2_emission_value': None,
'car_expert_report_source_url': None,
'category': None,
'color': 'Unknown',
'currency': 'EUR',
'doors_number': 5,
'emission_standard': None,
'engine': '',
'expiration_date': None,
'fuel_type': 'Electric',
'id': 'c1d308b8-0daa-5526-9b54-4fb40cbb2227',
'is_damaged': False,
'is_operable': True,
'is_vat_deductible': True,
'is_vat_included': True,
'link_to_web_offer': 'https://vpauto.fr/vehicule/a42c9698f8/peugeot-2008-electrique-136-ch-allure',
'listing': 'auction',
'location': '56 - LORIENT',
'make': 'PEUGEOT',
'model': '2008 Electrique 136 ch Allure',
'odometer': None,
'odometer_reading_unit': 'km',
'origin_country_code': 'FR',
'original_photo_count': 0,
'price': 23200,
'price_includes_vat': True,
'registration_date': '2023-11-30',
'seats_number': 5,
'seller_name': None,
'title': 'PEUGEOT 2008 Electrique 136 ch Allure',
'transmission': 'automatic',
'trim': '2008 Electrique 136 ch Allure',
'year': 2023}
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/twisted/internet/defer.py", line 1078, in _runCallbacks
current.result = callback( # type: ignore[misc]
File "/usr/local/lib/python3.11/dist-packages/scrapy/utils/defer.py", line 340, in f
return deferred_from_coro(coro_f(*coro_args, **coro_kwargs))
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 114, in process_item
raise e
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:07:27 [crawlers.pipelines.post_to_api] ERROR: vpauto.fr, item_id a5aee9ad-d6f6-56c6-a951-299a56f8b271: Failed to post item to https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
| Status Code: 400
| Response Content: {"error":"Command deserialization failed. Check field types \u2014 a null value may have been sent for a non-nullable field.","path":"/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing","requestBody":"{\u0022Color\u0022: \u0022Unknown\u0022, \u0022OriginalPhotoCount\u0022: 0, \u0022SellerName\u0022: null, \u0022PriceIncludesVat\u0022: true, \u0022Title\u0022: \u0022RENAULT Clio TCe 100 GPL Evolution\u0022, \u0022Price\u0022: {\u0022AmountSmallestUnit\u0022: 2320000, \u0022CurrencyCode\u0022: \u0022EUR\u0022}, \u0022Make\u0022: \u0022RENAULT\u0022, \u0022Model\u0022: \u0022Clio TCe 100 GPL Evolution\u0022, \u0022Transmission\u0022: \u0022manual\u0022, \u0022Engine\u0022: \u0022\u0022, \u0022FuelType\u0022: \u0022LPG / Petrol\u0022, \u0022Odometer\u0022: {\u0022Value\u0022: null, \u0022Unit\u0022: 1}, \u0022RegistrationDate\u0022: \u00222023-05-17\u0022, \u0022LinkToWebOffer\u0022: \u0022https://vpauto.fr/vehicule/ae66ae79ec/renault-clio-tce-100-gpl-evolution\u0022, \u0022ExpirationDate\u0022: null, \u0022Location\u0022: \u002213 - MARSEILLE\u0022, \u0022OriginCountryCode\u0022: \u0022FR\u0022, \u0022Trim\u0022: \u0022Clio TCe 100 GPL Evolution\u0022, \u0022Year\u0022: 2023, \u0022Listing\u0022: \u0022auction\u0022, \u0022Category\u0022: null, \u0022SeatsNumber\u0022: 5, \u0022DoorsNumber\u0022: 5, \u0022CO2EmissionValue\u0022: 108, \u0022EmissionStandard\u0022: null, \u0022CarExpertReportSourceUrl\u0022: null, \u0022IsVatIncluded\u0022: true, \u0022IsVatDeductible\u0022: true, \u0022Id\u0022: \u0022a5aee9ad-d6f6-56c6-a951-299a56f8b271\u0022}"}
| Response Headers: {'Content-Type': 'application/json', 'Date': 'Mon, 23 Mar 2026 09:07:26 GMT', 'Request-Context': 'appId=cid-v1:1a14ebe8-38cd-4629-ab2d-40684250fa5b', 'Server': 'Kestrel', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'Transfer-Encoding': 'chunked'}
2026-03-23 09:07:27 [crawlers.pipelines.post_to_api] ERROR: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
Traceback (most recent call last):
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:07:27 [scrapy.core.scraper] ERROR: Error processing {'auction_title': '',
'c_o_2_emission_value': 108,
'car_expert_report_source_url': None,
'category': None,
'color': 'Unknown',
'currency': 'EUR',
'doors_number': 5,
'emission_standard': None,
'engine': '',
'expiration_date': None,
'fuel_type': 'LPG / Petrol',
'id': 'a5aee9ad-d6f6-56c6-a951-299a56f8b271',
'is_damaged': False,
'is_operable': True,
'is_vat_deductible': True,
'is_vat_included': True,
'link_to_web_offer': 'https://vpauto.fr/vehicule/ae66ae79ec/renault-clio-tce-100-gpl-evolution',
'listing': 'auction',
'location': '13 - MARSEILLE',
'make': 'RENAULT',
'model': 'Clio TCe 100 GPL Evolution',
'odometer': None,
'odometer_reading_unit': 'km',
'origin_country_code': 'FR',
'original_photo_count': 0,
'price': 23200,
'price_includes_vat': True,
'registration_date': '2023-05-17',
'seats_number': 5,
'seller_name': None,
'title': 'RENAULT Clio TCe 100 GPL Evolution',
'transmission': 'manual',
'trim': 'Clio TCe 100 GPL Evolution',
'year': 2023}
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/twisted/internet/defer.py", line 1078, in _runCallbacks
current.result = callback( # type: ignore[misc]
File "/usr/local/lib/python3.11/dist-packages/scrapy/utils/defer.py", line 340, in f
return deferred_from_coro(coro_f(*coro_args, **coro_kwargs))
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 114, in process_item
raise e
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:07:27 [crawlers.pipelines.post_to_api] ERROR: vpauto.fr, item_id 8bec8c53-97c1-5fc0-b34b-a07b27dbfff7: Failed to post item to https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
| Status Code: 400
| Response Content: {"error":"Command deserialization failed. Check field types \u2014 a null value may have been sent for a non-nullable field.","path":"/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing","requestBody":"{\u0022Color\u0022: \u0022Unknown\u0022, \u0022OriginalPhotoCount\u0022: 0, \u0022SellerName\u0022: null, \u0022PriceIncludesVat\u0022: true, \u0022Title\u0022: \u0022SKODA Fabia\u0022, \u0022Price\u0022: {\u0022AmountSmallestUnit\u0022: 2320000, \u0022CurrencyCode\u0022: \u0022EUR\u0022}, \u0022Make\u0022: \u0022SKODA\u0022, \u0022Model\u0022: \u0022Fabia\u0022, \u0022Transmission\u0022: \u0022automatic\u0022, \u0022Engine\u0022: \u0022\u0022, \u0022FuelType\u0022: \u0022Petrol\u0022, \u0022Odometer\u0022: {\u0022Value\u0022: null, \u0022Unit\u0022: 1}, \u0022RegistrationDate\u0022: \u00222023-05-03\u0022, \u0022LinkToWebOffer\u0022: \u0022https://vpauto.fr/vehicule/c60986ccb1/skoda-fabia\u0022, \u0022ExpirationDate\u0022: null, \u0022Location\u0022: \u002276 - ROUEN\u0022, \u0022OriginCountryCode\u0022: \u0022FR\u0022, \u0022Trim\u0022: \u0022Fabia\u0022, \u0022Year\u0022: 2023, \u0022Listing\u0022: \u0022auction\u0022, \u0022Category\u0022: null, \u0022SeatsNumber\u0022: 5, \u0022DoorsNumber\u0022: 5, \u0022CO2EmissionValue\u0022: 116, \u0022EmissionStandard\u0022: null, \u0022CarExpertReportSourceUrl\u0022: null, \u0022IsVatIncluded\u0022: false, \u0022IsVatDeductible\u0022: false, \u0022Id\u0022: \u00228bec8c53-97c1-5fc0-b34b-a07b27dbfff7\u0022}"}
| Response Headers: {'Content-Type': 'application/json', 'Date': 'Mon, 23 Mar 2026 09:07:26 GMT', 'Request-Context': 'appId=cid-v1:1a14ebe8-38cd-4629-ab2d-40684250fa5b', 'Server': 'Kestrel', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'Transfer-Encoding': 'chunked'}
2026-03-23 09:07:27 [crawlers.pipelines.post_to_api] ERROR: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
Traceback (most recent call last):
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:07:27 [scrapy.core.scraper] ERROR: Error processing {'auction_title': '',
'c_o_2_emission_value': 116,
'car_expert_report_source_url': None,
'category': None,
'color': 'Unknown',
'currency': 'EUR',
'doors_number': 5,
'emission_standard': None,
'engine': '',
'expiration_date': None,
'fuel_type': 'Petrol',
'id': '8bec8c53-97c1-5fc0-b34b-a07b27dbfff7',
'is_damaged': False,
'is_operable': True,
'is_vat_deductible': False,
'is_vat_included': False,
'link_to_web_offer': 'https://vpauto.fr/vehicule/c60986ccb1/skoda-fabia',
'listing': 'auction',
'location': '76 - ROUEN',
'make': 'SKODA',
'model': 'Fabia',
'odometer': None,
'odometer_reading_unit': 'km',
'origin_country_code': 'FR',
'original_photo_count': 0,
'price': 23200,
'price_includes_vat': True,
'registration_date': '2023-05-03',
'seats_number': 5,
'seller_name': None,
'title': 'SKODA Fabia',
'transmission': 'automatic',
'trim': 'Fabia',
'year': 2023}
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/twisted/internet/defer.py", line 1078, in _runCallbacks
current.result = callback( # type: ignore[misc]
File "/usr/local/lib/python3.11/dist-packages/scrapy/utils/defer.py", line 340, in f
return deferred_from_coro(coro_f(*coro_args, **coro_kwargs))
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 114, in process_item
raise e
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:07:28 [crawlers.pipelines.post_to_api] ERROR: vpauto.fr, item_id 4c6fd789-1a98-54c2-9d16-187198c5903c: Failed to post item to https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
| Status Code: 400
| Response Content: {"error":"Command deserialization failed. Check field types \u2014 a null value may have been sent for a non-nullable field.","path":"/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing","requestBody":"{\u0022Color\u0022: \u0022Unknown\u0022, \u0022OriginalPhotoCount\u0022: 0, \u0022SellerName\u0022: null, \u0022PriceIncludesVat\u0022: true, \u0022Title\u0022: \u0022NISSAN Qashqai e-Power 190 ch Tekna\u002B\u0022, \u0022Price\u0022: {\u0022AmountSmallestUnit\u0022: 2320000, \u0022CurrencyCode\u0022: \u0022EUR\u0022}, \u0022Make\u0022: \u0022NISSAN\u0022, \u0022Model\u0022: \u0022Qashqai e-Power 190 ch Tekna\u002B\u0022, \u0022Transmission\u0022: \u0022automatic\u0022, \u0022Engine\u0022: \u0022\u0022, \u0022FuelType\u0022: \u0022Hybrid\u0022, \u0022Odometer\u0022: {\u0022Value\u0022: null, \u0022Unit\u0022: 1}, \u0022RegistrationDate\u0022: \u00222023-10-23\u0022, \u0022LinkToWebOffer\u0022: \u0022https://vpauto.fr/vehicule/c294ba50ec/nissan-qashqai-e-power-190-ch-tekna\u0022, \u0022ExpirationDate\u0022: null, \u0022Location\u0022: \u002213 - MARSEILLE\u0022, \u0022OriginCountryCode\u0022: \u0022FR\u0022, \u0022Trim\u0022: \u0022Qashqai e-Power 190 ch Tekna\u002B\u0022, \u0022Year\u0022: 2023, \u0022Listing\u0022: \u0022auction\u0022, \u0022Category\u0022: null, \u0022SeatsNumber\u0022: 5, \u0022DoorsNumber\u0022: 5, \u0022CO2EmissionValue\u0022: 119, \u0022EmissionStandard\u0022: null, \u0022CarExpertReportSourceUrl\u0022: null, \u0022IsVatIncluded\u0022: true, \u0022IsVatDeductible\u0022: true, \u0022Id\u0022: \u00224c6fd789-1a98-54c2-9d16-187198c5903c\u0022}"}
| Response Headers: {'Content-Type': 'application/json', 'Date': 'Mon, 23 Mar 2026 09:07:27 GMT', 'Request-Context': 'appId=cid-v1:1a14ebe8-38cd-4629-ab2d-40684250fa5b', 'Server': 'Kestrel', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'Transfer-Encoding': 'chunked'}
2026-03-23 09:07:28 [crawlers.pipelines.post_to_api] ERROR: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
Traceback (most recent call last):
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:07:28 [scrapy.core.scraper] ERROR: Error processing {'auction_title': '',
'c_o_2_emission_value': 119,
'car_expert_report_source_url': None,
'category': None,
'color': 'Unknown',
'currency': 'EUR',
'doors_number': 5,
'emission_standard': None,
'engine': '',
'expiration_date': None,
'fuel_type': 'Hybrid',
'id': '4c6fd789-1a98-54c2-9d16-187198c5903c',
'is_damaged': False,
'is_operable': True,
'is_vat_deductible': True,
'is_vat_included': True,
'link_to_web_offer': 'https://vpauto.fr/vehicule/c294ba50ec/nissan-qashqai-e-power-190-ch-tekna',
'listing': 'auction',
'location': '13 - MARSEILLE',
'make': 'NISSAN',
'model': 'Qashqai e-Power 190 ch Tekna+',
'odometer': None,
'odometer_reading_unit': 'km',
'origin_country_code': 'FR',
'original_photo_count': 0,
'price': 23200,
'price_includes_vat': True,
'registration_date': '2023-10-23',
'seats_number': 5,
'seller_name': None,
'title': 'NISSAN Qashqai e-Power 190 ch Tekna+',
'transmission': 'automatic',
'trim': 'Qashqai e-Power 190 ch Tekna+',
'year': 2023}
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/twisted/internet/defer.py", line 1078, in _runCallbacks
current.result = callback( # type: ignore[misc]
File "/usr/local/lib/python3.11/dist-packages/scrapy/utils/defer.py", line 340, in f
return deferred_from_coro(coro_f(*coro_args, **coro_kwargs))
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 114, in process_item
raise e
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:07:28 [crawlers.pipelines.post_to_api] ERROR: vpauto.fr, item_id a838f289-7c7f-5653-a132-3126b4f60406: Failed to post item to https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
| Status Code: 400
| Response Content: {"error":"Command deserialization failed. Check field types \u2014 a null value may have been sent for a non-nullable field.","path":"/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing","requestBody":"{\u0022Color\u0022: \u0022Unknown\u0022, \u0022OriginalPhotoCount\u0022: 0, \u0022SellerName\u0022: null, \u0022PriceIncludesVat\u0022: true, \u0022Title\u0022: \u0022RENAULT Clio TCe 90\u0022, \u0022Price\u0022: {\u0022AmountSmallestUnit\u0022: 2320000, \u0022CurrencyCode\u0022: \u0022EUR\u0022}, \u0022Make\u0022: \u0022RENAULT\u0022, \u0022Model\u0022: \u0022Clio TCe 90\u0022, \u0022Transmission\u0022: \u0022automatic\u0022, \u0022Engine\u0022: \u0022\u0022, \u0022FuelType\u0022: \u0022Petrol\u0022, \u0022Odometer\u0022: {\u0022Value\u0022: null, \u0022Unit\u0022: 1}, \u0022RegistrationDate\u0022: \u00222023-12-19\u0022, \u0022LinkToWebOffer\u0022: \u0022https://vpauto.fr/vehicule/cb1716f2bf/renault-clio-tce-90\u0022, \u0022ExpirationDate\u0022: null, \u0022Location\u0022: \u002276 - ROUEN\u0022, \u0022OriginCountryCode\u0022: \u0022FR\u0022, \u0022Trim\u0022: \u0022Clio TCe 90\u0022, \u0022Year\u0022: 2023, \u0022Listing\u0022: \u0022auction\u0022, \u0022Category\u0022: null, \u0022SeatsNumber\u0022: 5, \u0022DoorsNumber\u0022: 5, \u0022CO2EmissionValue\u0022: 120, \u0022EmissionStandard\u0022: null, \u0022CarExpertReportSourceUrl\u0022: null, \u0022IsVatIncluded\u0022: true, \u0022IsVatDeductible\u0022: true, \u0022Id\u0022: \u0022a838f289-7c7f-5653-a132-3126b4f60406\u0022}"}
| Response Headers: {'Content-Type': 'application/json', 'Date': 'Mon, 23 Mar 2026 09:07:28 GMT', 'Request-Context': 'appId=cid-v1:1a14ebe8-38cd-4629-ab2d-40684250fa5b', 'Server': 'Kestrel', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'Transfer-Encoding': 'chunked'}
2026-03-23 09:07:28 [crawlers.pipelines.post_to_api] ERROR: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
Traceback (most recent call last):
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:07:28 [scrapy.core.scraper] ERROR: Error processing {'auction_title': '',
'c_o_2_emission_value': 120,
'car_expert_report_source_url': None,
'category': None,
'color': 'Unknown',
'currency': 'EUR',
'doors_number': 5,
'emission_standard': None,
'engine': '',
'expiration_date': None,
'fuel_type': 'Petrol',
'id': 'a838f289-7c7f-5653-a132-3126b4f60406',
'is_damaged': False,
'is_operable': True,
'is_vat_deductible': True,
'is_vat_included': True,
'link_to_web_offer': 'https://vpauto.fr/vehicule/cb1716f2bf/renault-clio-tce-90',
'listing': 'auction',
'location': '76 - ROUEN',
'make': 'RENAULT',
'model': 'Clio TCe 90',
'odometer': None,
'odometer_reading_unit': 'km',
'origin_country_code': 'FR',
'original_photo_count': 0,
'price': 23200,
'price_includes_vat': True,
'registration_date': '2023-12-19',
'seats_number': 5,
'seller_name': None,
'title': 'RENAULT Clio TCe 90',
'transmission': 'automatic',
'trim': 'Clio TCe 90',
'year': 2023}
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/twisted/internet/defer.py", line 1078, in _runCallbacks
current.result = callback( # type: ignore[misc]
File "/usr/local/lib/python3.11/dist-packages/scrapy/utils/defer.py", line 340, in f
return deferred_from_coro(coro_f(*coro_args, **coro_kwargs))
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 114, in process_item
raise e
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:07:28 [crawlers.pipelines.post_to_api] ERROR: vpauto.fr, item_id c82396c5-4af6-5761-81f8-78d1b22a1fcc: Failed to post item to https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
| Status Code: 400
| Response Content: {"error":"Command deserialization failed. Check field types \u2014 a null value may have been sent for a non-nullable field.","path":"/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing","requestBody":"{\u0022Color\u0022: \u0022Unknown\u0022, \u0022OriginalPhotoCount\u0022: 0, \u0022SellerName\u0022: null, \u0022PriceIncludesVat\u0022: true, \u0022Title\u0022: \u0022HYUNDAI TUCSON EXECUTIVE\u0022, \u0022Price\u0022: {\u0022AmountSmallestUnit\u0022: 2320000, \u0022CurrencyCode\u0022: \u0022EUR\u0022}, \u0022Make\u0022: \u0022HYUNDAI\u0022, \u0022Model\u0022: \u0022TUCSON EXECUTIVE\u0022, \u0022Transmission\u0022: \u0022automatic\u0022, \u0022Engine\u0022: \u0022\u0022, \u0022FuelType\u0022: \u0022ESS \u002B ELEC HR\u0022, \u0022Odometer\u0022: {\u0022Value\u0022: null, \u0022Unit\u0022: 1}, \u0022RegistrationDate\u0022: \u00222023-05-25\u0022, \u0022LinkToWebOffer\u0022: \u0022https://vpauto.fr/vehicule/d4b03e04b1/hyundai-tucson-executive\u0022, \u0022ExpirationDate\u0022: null, \u0022Location\u0022: \u002244 - NANTES\u0022, \u0022OriginCountryCode\u0022: \u0022FR\u0022, \u0022Trim\u0022: \u0022TUCSON EXECUTIVE\u0022, \u0022Year\u0022: 2023, \u0022Listing\u0022: \u0022auction\u0022, \u0022Category\u0022: null, \u0022SeatsNumber\u0022: 5, \u0022DoorsNumber\u0022: 5, \u0022CO2EmissionValue\u0022: 31, \u0022EmissionStandard\u0022: null, \u0022CarExpertReportSourceUrl\u0022: null, \u0022IsVatIncluded\u0022: true, \u0022IsVatDeductible\u0022: true, \u0022Id\u0022: \u0022c82396c5-4af6-5761-81f8-78d1b22a1fcc\u0022}"}
| Response Headers: {'Content-Type': 'application/json', 'Date': 'Mon, 23 Mar 2026 09:07:28 GMT', 'Request-Context': 'appId=cid-v1:1a14ebe8-38cd-4629-ab2d-40684250fa5b', 'Server': 'Kestrel', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'Transfer-Encoding': 'chunked'}
2026-03-23 09:07:28 [crawlers.pipelines.post_to_api] ERROR: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
Traceback (most recent call last):
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:07:28 [scrapy.core.scraper] ERROR: Error processing {'auction_title': '',
'c_o_2_emission_value': 31,
'car_expert_report_source_url': None,
'category': None,
'color': 'Unknown',
'currency': 'EUR',
'doors_number': 5,
'emission_standard': None,
'engine': '',
'expiration_date': None,
'fuel_type': 'ESS + ELEC HR',
'id': 'c82396c5-4af6-5761-81f8-78d1b22a1fcc',
'is_damaged': False,
'is_operable': True,
'is_vat_deductible': True,
'is_vat_included': True,
'link_to_web_offer': 'https://vpauto.fr/vehicule/d4b03e04b1/hyundai-tucson-executive',
'listing': 'auction',
'location': '44 - NANTES',
'make': 'HYUNDAI',
'model': 'TUCSON EXECUTIVE',
'odometer': None,
'odometer_reading_unit': 'km',
'origin_country_code': 'FR',
'original_photo_count': 0,
'price': 23200,
'price_includes_vat': True,
'registration_date': '2023-05-25',
'seats_number': 5,
'seller_name': None,
'title': 'HYUNDAI TUCSON EXECUTIVE',
'transmission': 'automatic',
'trim': 'TUCSON EXECUTIVE',
'year': 2023}
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/twisted/internet/defer.py", line 1078, in _runCallbacks
current.result = callback( # type: ignore[misc]
File "/usr/local/lib/python3.11/dist-packages/scrapy/utils/defer.py", line 340, in f
return deferred_from_coro(coro_f(*coro_args, **coro_kwargs))
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 114, in process_item
raise e
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:07:29 [crawlers.pipelines.post_to_api] ERROR: vpauto.fr, item_id de4287a9-3b18-56c9-ba55-ed0a2d1beb2a: Failed to post item to https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
| Status Code: 400
| Response Content: {"error":"Command deserialization failed. Check field types \u2014 a null value may have been sent for a non-nullable field.","path":"/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing","requestBody":"{\u0022Color\u0022: \u0022White\u0022, \u0022OriginalPhotoCount\u0022: 0, \u0022SellerName\u0022: null, \u0022PriceIncludesVat\u0022: true, \u0022Title\u0022: \u0022VOLKSWAGEN TRANSPORTER 6.1 FGN L1H1 2.0 TDI 90 BVM5 BUSINESS\u0022, \u0022Price\u0022: {\u0022AmountSmallestUnit\u0022: 2320000, \u0022CurrencyCode\u0022: \u0022EUR\u0022}, \u0022Make\u0022: \u0022VOLKSWAGEN\u0022, \u0022Model\u0022: \u0022TRANSPORTER 6.1 FGN L1H1 2.0 TDI 90 BVM5 BUSINESS\u0022, \u0022Transmission\u0022: \u0022automatic\u0022, \u0022Engine\u0022: \u00226.1L\u0022, \u0022FuelType\u0022: \u0022Diesel\u0022, \u0022Odometer\u0022: {\u0022Value\u0022: null, \u0022Unit\u0022: 1}, \u0022RegistrationDate\u0022: \u00222022-10-19\u0022, \u0022LinkToWebOffer\u0022: \u0022https://vpauto.fr/vehicule/38898bcc55/volkswagen-transporter-61-fgn-l1h1-20-tdi-90-bvm5-business\u0022, \u0022ExpirationDate\u0022: null, \u0022Location\u0022: \u002269 - LYON\u0022, \u0022OriginCountryCode\u0022: \u0022FR\u0022, \u0022Trim\u0022: \u0022TRANSPORTER 6.1 FGN L1H1 2.0 TDI 90 BVM5 BUSINESS\u0022, \u0022Year\u0022: 2022, \u0022Listing\u0022: \u0022auction\u0022, \u0022Category\u0022: null, \u0022SeatsNumber\u0022: 3, \u0022DoorsNumber\u0022: null, \u0022CO2EmissionValue\u0022: 184, \u0022EmissionStandard\u0022: \u0022EURO 6\u0022, \u0022CarExpertReportSourceUrl\u0022: null, \u0022IsVatIncluded\u0022: false, \u0022IsVatDeductible\u0022: false, \u0022Id\u0022: \u0022de4287a9-3b18-56c9-ba55-ed0a2d1beb2a\u0022}"}
| Response Headers: {'Content-Type': 'application/json', 'Date': 'Mon, 23 Mar 2026 09:07:29 GMT', 'Request-Context': 'appId=cid-v1:1a14ebe8-38cd-4629-ab2d-40684250fa5b', 'Server': 'Kestrel', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'Transfer-Encoding': 'chunked'}
2026-03-23 09:07:29 [crawlers.pipelines.post_to_api] ERROR: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
Traceback (most recent call last):
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:07:29 [scrapy.core.scraper] ERROR: Error processing {'auction_title': '',
'c_o_2_emission_value': 184,
'car_expert_report_source_url': None,
'category': None,
'color': 'White',
'currency': 'EUR',
'doors_number': None,
'emission_standard': 'EURO 6',
'engine': '6.1L',
'expiration_date': None,
'fuel_type': 'Diesel',
'id': 'de4287a9-3b18-56c9-ba55-ed0a2d1beb2a',
'is_damaged': False,
'is_operable': True,
'is_vat_deductible': False,
'is_vat_included': False,
'link_to_web_offer': 'https://vpauto.fr/vehicule/38898bcc55/volkswagen-transporter-61-fgn-l1h1-20-tdi-90-bvm5-business',
'listing': 'auction',
'location': '69 - LYON',
'make': 'VOLKSWAGEN',
'model': 'TRANSPORTER 6.1 FGN L1H1 2.0 TDI 90 BVM5 BUSINESS',
'odometer': None,
'odometer_reading_unit': 'km',
'origin_country_code': 'FR',
'original_photo_count': 0,
'price': 23200,
'price_includes_vat': True,
'registration_date': '2022-10-19',
'seats_number': 3,
'seller_name': None,
'title': 'VOLKSWAGEN TRANSPORTER 6.1 FGN L1H1 2.0 TDI 90 BVM5 BUSINESS',
'transmission': 'automatic',
'trim': 'TRANSPORTER 6.1 FGN L1H1 2.0 TDI 90 BVM5 BUSINESS',
'year': 2022}
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/twisted/internet/defer.py", line 1078, in _runCallbacks
current.result = callback( # type: ignore[misc]
File "/usr/local/lib/python3.11/dist-packages/scrapy/utils/defer.py", line 340, in f
return deferred_from_coro(coro_f(*coro_args, **coro_kwargs))
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 114, in process_item
raise e
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:07:30 [crawlers.pipelines.post_to_api] ERROR: vpauto.fr, item_id 62307524-1d68-5f52-b14a-92457dc5235d: Failed to post item to https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
| Status Code: 400
| Response Content: {"error":"Command deserialization failed. Check field types \u2014 a null value may have been sent for a non-nullable field.","path":"/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing","requestBody":"{\u0022Color\u0022: \u0022Unknown\u0022, \u0022OriginalPhotoCount\u0022: 0, \u0022SellerName\u0022: null, \u0022PriceIncludesVat\u0022: true, \u0022Title\u0022: \u0022PEUGEOT 2008 PureTech 130 S\u0026S EAT8 Active Pack\u0022, \u0022Price\u0022: {\u0022AmountSmallestUnit\u0022: 2320000, \u0022CurrencyCode\u0022: \u0022EUR\u0022}, \u0022Make\u0022: \u0022PEUGEOT\u0022, \u0022Model\u0022: \u00222008 PureTech 130 S\u0026S EAT8 Active Pack\u0022, \u0022Transmission\u0022: \u0022automatic\u0022, \u0022Engine\u0022: \u0022\u0022, \u0022FuelType\u0022: \u0022Petrol\u0022, \u0022Odometer\u0022: {\u0022Value\u0022: null, \u0022Unit\u0022: 1}, \u0022RegistrationDate\u0022: \u00222023-05-30\u0022, \u0022LinkToWebOffer\u0022: \u0022https://vpauto.fr/vehicule/efabdab1/peugeot-2008-puretech-130-ss-eat8-active-pack\u0022, \u0022ExpirationDate\u0022: null, \u0022Location\u0022: \u002244 - NANTES\u0022, \u0022OriginCountryCode\u0022: \u0022FR\u0022, \u0022Trim\u0022: \u00222008 PureTech 130 S\u0026S EAT8 Active Pack\u0022, \u0022Year\u0022: 2023, \u0022Listing\u0022: \u0022auction\u0022, \u0022Category\u0022: null, \u0022SeatsNumber\u0022: 5, \u0022DoorsNumber\u0022: 5, \u0022CO2EmissionValue\u0022: 133, \u0022EmissionStandard\u0022: \u0022EURO 6\u0022, \u0022CarExpertReportSourceUrl\u0022: null, \u0022IsVatIncluded\u0022: true, \u0022IsVatDeductible\u0022: true, \u0022Id\u0022: \u002262307524-1d68-5f52-b14a-92457dc5235d\u0022}"}
| Response Headers: {'Content-Type': 'application/json', 'Date': 'Mon, 23 Mar 2026 09:07:29 GMT', 'Request-Context': 'appId=cid-v1:1a14ebe8-38cd-4629-ab2d-40684250fa5b', 'Server': 'Kestrel', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'Transfer-Encoding': 'chunked'}
2026-03-23 09:07:30 [crawlers.pipelines.post_to_api] ERROR: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
Traceback (most recent call last):
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:07:30 [scrapy.core.scraper] ERROR: Error processing {'auction_title': '',
'c_o_2_emission_value': 133,
'car_expert_report_source_url': None,
'category': None,
'color': 'Unknown',
'currency': 'EUR',
'doors_number': 5,
'emission_standard': 'EURO 6',
'engine': '',
'expiration_date': None,
'fuel_type': 'Petrol',
'id': '62307524-1d68-5f52-b14a-92457dc5235d',
'is_damaged': False,
'is_operable': True,
'is_vat_deductible': True,
'is_vat_included': True,
'link_to_web_offer': 'https://vpauto.fr/vehicule/efabdab1/peugeot-2008-puretech-130-ss-eat8-active-pack',
'listing': 'auction',
'location': '44 - NANTES',
'make': 'PEUGEOT',
'model': '2008 PureTech 130 S&S EAT8 Active Pack',
'odometer': None,
'odometer_reading_unit': 'km',
'origin_country_code': 'FR',
'original_photo_count': 0,
'price': 23200,
'price_includes_vat': True,
'registration_date': '2023-05-30',
'seats_number': 5,
'seller_name': None,
'title': 'PEUGEOT 2008 PureTech 130 S&S EAT8 Active Pack',
'transmission': 'automatic',
'trim': '2008 PureTech 130 S&S EAT8 Active Pack',
'year': 2023}
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/twisted/internet/defer.py", line 1078, in _runCallbacks
current.result = callback( # type: ignore[misc]
File "/usr/local/lib/python3.11/dist-packages/scrapy/utils/defer.py", line 340, in f
return deferred_from_coro(coro_f(*coro_args, **coro_kwargs))
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 114, in process_item
raise e
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:07:31 [crawlers.pipelines.post_to_api] ERROR: vpauto.fr, item_id a746294c-a956-5002-b134-4b32de911bfd: Failed to post item to https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
| Status Code: 400
| Response Content: {"error":"Command deserialization failed. Check field types \u2014 a null value may have been sent for a non-nullable field.","path":"/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing","requestBody":"{\u0022Color\u0022: \u0022Unknown\u0022, \u0022OriginalPhotoCount\u0022: 0, \u0022SellerName\u0022: null, \u0022PriceIncludesVat\u0022: true, \u0022Title\u0022: \u0022TOYOTA PROACE\u0022, \u0022Price\u0022: {\u0022AmountSmallestUnit\u0022: 2320000, \u0022CurrencyCode\u0022: \u0022EUR\u0022}, \u0022Make\u0022: \u0022TOYOTA\u0022, \u0022Model\u0022: \u0022PROACE\u0022, \u0022Transmission\u0022: \u0022automatic\u0022, \u0022Engine\u0022: \u0022\u0022, \u0022FuelType\u0022: \u0022Diesel\u0022, \u0022Odometer\u0022: {\u0022Value\u0022: null, \u0022Unit\u0022: 1}, \u0022RegistrationDate\u0022: \u00222023-01-20\u0022, \u0022LinkToWebOffer\u0022: \u0022https://vpauto.fr/vehicule/af5fe366b1/toyota-proace\u0022, \u0022ExpirationDate\u0022: null, \u0022Location\u0022: \u002276 - ROUEN\u0022, \u0022OriginCountryCode\u0022: \u0022FR\u0022, \u0022Trim\u0022: \u0022PROACE\u0022, \u0022Year\u0022: 2023, \u0022Listing\u0022: \u0022auction\u0022, \u0022Category\u0022: null, \u0022SeatsNumber\u0022: 3, \u0022DoorsNumber\u0022: null, \u0022CO2EmissionValue\u0022: 196, \u0022EmissionStandard\u0022: null, \u0022CarExpertReportSourceUrl\u0022: null, \u0022IsVatIncluded\u0022: true, \u0022IsVatDeductible\u0022: true, \u0022Id\u0022: \u0022a746294c-a956-5002-b134-4b32de911bfd\u0022}"}
| Response Headers: {'Content-Type': 'application/json', 'Date': 'Mon, 23 Mar 2026 09:07:31 GMT', 'Request-Context': 'appId=cid-v1:1a14ebe8-38cd-4629-ab2d-40684250fa5b', 'Server': 'Kestrel', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'Transfer-Encoding': 'chunked'}
2026-03-23 09:07:31 [crawlers.pipelines.post_to_api] ERROR: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
Traceback (most recent call last):
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:07:31 [scrapy.core.scraper] ERROR: Error processing {'auction_title': '',
'c_o_2_emission_value': 196,
'car_expert_report_source_url': None,
'category': None,
'color': 'Unknown',
'currency': 'EUR',
'doors_number': None,
'emission_standard': None,
'engine': '',
'expiration_date': None,
'fuel_type': 'Diesel',
'id': 'a746294c-a956-5002-b134-4b32de911bfd',
'is_damaged': False,
'is_operable': True,
'is_vat_deductible': True,
'is_vat_included': True,
'link_to_web_offer': 'https://vpauto.fr/vehicule/af5fe366b1/toyota-proace',
'listing': 'auction',
'location': '76 - ROUEN',
'make': 'TOYOTA',
'model': 'PROACE',
'odometer': None,
'odometer_reading_unit': 'km',
'origin_country_code': 'FR',
'original_photo_count': 0,
'price': 23200,
'price_includes_vat': True,
'registration_date': '2023-01-20',
'seats_number': 3,
'seller_name': None,
'title': 'TOYOTA PROACE',
'transmission': 'automatic',
'trim': 'PROACE',
'year': 2023}
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/twisted/internet/defer.py", line 1078, in _runCallbacks
current.result = callback( # type: ignore[misc]
File "/usr/local/lib/python3.11/dist-packages/scrapy/utils/defer.py", line 340, in f
return deferred_from_coro(coro_f(*coro_args, **coro_kwargs))
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 114, in process_item
raise e
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:07:32 [crawlers.pipelines.post_to_api] ERROR: vpauto.fr, item_id fea4a771-78d9-5ca8-9357-cd5ea87fd4bd: Failed to post item to https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
| Status Code: 400
| Response Content: {"error":"Command deserialization failed. Check field types \u2014 a null value may have been sent for a non-nullable field.","path":"/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing","requestBody":"{\u0022Color\u0022: \u0022Black\u0022, \u0022OriginalPhotoCount\u0022: 0, \u0022SellerName\u0022: null, \u0022PriceIncludesVat\u0022: true, \u0022Title\u0022: \u0022CITROEN C3 BlueHDi 100 S\u0026S BVM6 Feel\u0022, \u0022Price\u0022: {\u0022AmountSmallestUnit\u0022: 2320000, \u0022CurrencyCode\u0022: \u0022EUR\u0022}, \u0022Make\u0022: \u0022CITROEN\u0022, \u0022Model\u0022: \u0022C3 BlueHDi 100 S\u0026S BVM6 Feel\u0022, \u0022Transmission\u0022: \u0022manual\u0022, \u0022Engine\u0022: \u0022\u0022, \u0022FuelType\u0022: \u0022Diesel\u0022, \u0022Odometer\u0022: {\u0022Value\u0022: null, \u0022Unit\u0022: 1}, \u0022RegistrationDate\u0022: \u00222022-03-18\u0022, \u0022LinkToWebOffer\u0022: \u0022https://vpauto.fr/vehicule/8e5ed4cfbf/citroen-c3-bluehdi-100-ss-bvm6-feel\u0022, \u0022ExpirationDate\u0022: null, \u0022Location\u0022: \u002276 - ROUEN\u0022, \u0022OriginCountryCode\u0022: \u0022FR\u0022, \u0022Trim\u0022: \u0022C3 BlueHDi 100 S\u0026S BVM6 Feel\u0022, \u0022Year\u0022: 2022, \u0022Listing\u0022: \u0022auction\u0022, \u0022Category\u0022: null, \u0022SeatsNumber\u0022: 5, \u0022DoorsNumber\u0022: 5, \u0022CO2EmissionValue\u0022: 111, \u0022EmissionStandard\u0022: null, \u0022CarExpertReportSourceUrl\u0022: null, \u0022IsVatIncluded\u0022: true, \u0022IsVatDeductible\u0022: true, \u0022Id\u0022: \u0022fea4a771-78d9-5ca8-9357-cd5ea87fd4bd\u0022}"}
| Response Headers: {'Content-Type': 'application/json', 'Date': 'Mon, 23 Mar 2026 09:07:32 GMT', 'Request-Context': 'appId=cid-v1:1a14ebe8-38cd-4629-ab2d-40684250fa5b', 'Server': 'Kestrel', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'Transfer-Encoding': 'chunked'}
2026-03-23 09:07:32 [crawlers.pipelines.post_to_api] ERROR: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
Traceback (most recent call last):
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:07:32 [scrapy.core.scraper] ERROR: Error processing {'auction_title': '',
'c_o_2_emission_value': 111,
'car_expert_report_source_url': None,
'category': None,
'color': 'Black',
'currency': 'EUR',
'doors_number': 5,
'emission_standard': None,
'engine': '',
'expiration_date': None,
'fuel_type': 'Diesel',
'id': 'fea4a771-78d9-5ca8-9357-cd5ea87fd4bd',
'is_damaged': False,
'is_operable': True,
'is_vat_deductible': True,
'is_vat_included': True,
'link_to_web_offer': 'https://vpauto.fr/vehicule/8e5ed4cfbf/citroen-c3-bluehdi-100-ss-bvm6-feel',
'listing': 'auction',
'location': '76 - ROUEN',
'make': 'CITROEN',
'model': 'C3 BlueHDi 100 S&S BVM6 Feel',
'odometer': None,
'odometer_reading_unit': 'km',
'origin_country_code': 'FR',
'original_photo_count': 0,
'price': 23200,
'price_includes_vat': True,
'registration_date': '2022-03-18',
'seats_number': 5,
'seller_name': None,
'title': 'CITROEN C3 BlueHDi 100 S&S BVM6 Feel',
'transmission': 'manual',
'trim': 'C3 BlueHDi 100 S&S BVM6 Feel',
'year': 2022}
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/twisted/internet/defer.py", line 1078, in _runCallbacks
current.result = callback( # type: ignore[misc]
File "/usr/local/lib/python3.11/dist-packages/scrapy/utils/defer.py", line 340, in f
return deferred_from_coro(coro_f(*coro_args, **coro_kwargs))
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 114, in process_item
raise e
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:07:34 [crawlers.pipelines.post_to_api] ERROR: vpauto.fr, item_id 2e08ae46-2469-5ff5-9123-69265d1ec7e3: Failed to post item to https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
| Status Code: 400
| Response Content: {"error":"Command deserialization failed. Check field types \u2014 a null value may have been sent for a non-nullable field.","path":"/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing","requestBody":"{\u0022Color\u0022: \u0022Unknown\u0022, \u0022OriginalPhotoCount\u0022: 0, \u0022SellerName\u0022: null, \u0022PriceIncludesVat\u0022: true, \u0022Title\u0022: \u0022VOLKSWAGEN TIGUAN\u0022, \u0022Price\u0022: {\u0022AmountSmallestUnit\u0022: 2320000, \u0022CurrencyCode\u0022: \u0022EUR\u0022}, \u0022Make\u0022: \u0022VOLKSWAGEN\u0022, \u0022Model\u0022: \u0022TIGUAN\u0022, \u0022Transmission\u0022: \u0022automatic\u0022, \u0022Engine\u0022: \u0022\u0022, \u0022FuelType\u0022: \u0022Petrol\u0022, \u0022Odometer\u0022: {\u0022Value\u0022: null, \u0022Unit\u0022: 1}, \u0022RegistrationDate\u0022: \u00222023-06-21\u0022, \u0022LinkToWebOffer\u0022: \u0022https://vpauto.fr/vehicule/dbf2e3d555/volkswagen-tiguan\u0022, \u0022ExpirationDate\u0022: null, \u0022Location\u0022: \u002269 - LYON\u0022, \u0022OriginCountryCode\u0022: \u0022FR\u0022, \u0022Trim\u0022: \u0022TIGUAN\u0022, \u0022Year\u0022: 2023, \u0022Listing\u0022: \u0022auction\u0022, \u0022Category\u0022: null, \u0022SeatsNumber\u0022: 5, \u0022DoorsNumber\u0022: 5, \u0022CO2EmissionValue\u0022: 160, \u0022EmissionStandard\u0022: null, \u0022CarExpertReportSourceUrl\u0022: null, \u0022IsVatIncluded\u0022: false, \u0022IsVatDeductible\u0022: false, \u0022Id\u0022: \u00222e08ae46-2469-5ff5-9123-69265d1ec7e3\u0022}"}
| Response Headers: {'Content-Type': 'application/json', 'Date': 'Mon, 23 Mar 2026 09:07:34 GMT', 'Request-Context': 'appId=cid-v1:1a14ebe8-38cd-4629-ab2d-40684250fa5b', 'Server': 'Kestrel', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'Transfer-Encoding': 'chunked'}
2026-03-23 09:07:34 [crawlers.pipelines.post_to_api] ERROR: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
Traceback (most recent call last):
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:07:34 [scrapy.core.scraper] ERROR: Error processing {'auction_title': '',
'c_o_2_emission_value': 160,
'car_expert_report_source_url': None,
'category': None,
'color': 'Unknown',
'currency': 'EUR',
'doors_number': 5,
'emission_standard': None,
'engine': '',
'expiration_date': None,
'fuel_type': 'Petrol',
'id': '2e08ae46-2469-5ff5-9123-69265d1ec7e3',
'is_damaged': False,
'is_operable': True,
'is_vat_deductible': False,
'is_vat_included': False,
'link_to_web_offer': 'https://vpauto.fr/vehicule/dbf2e3d555/volkswagen-tiguan',
'listing': 'auction',
'location': '69 - LYON',
'make': 'VOLKSWAGEN',
'model': 'TIGUAN',
'odometer': None,
'odometer_reading_unit': 'km',
'origin_country_code': 'FR',
'original_photo_count': 0,
'price': 23200,
'price_includes_vat': True,
'registration_date': '2023-06-21',
'seats_number': 5,
'seller_name': None,
'title': 'VOLKSWAGEN TIGUAN',
'transmission': 'automatic',
'trim': 'TIGUAN',
'year': 2023}
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/twisted/internet/defer.py", line 1078, in _runCallbacks
current.result = callback( # type: ignore[misc]
File "/usr/local/lib/python3.11/dist-packages/scrapy/utils/defer.py", line 340, in f
return deferred_from_coro(coro_f(*coro_args, **coro_kwargs))
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 114, in process_item
raise e
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:07:38 [crawlers.pipelines.post_to_api] ERROR: vpauto.fr, item_id b4363da5-ddae-532d-a897-4ba5ebd70349: Failed to post item to https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
| Status Code: 400
| Response Content: {"error":"Command deserialization failed. Check field types \u2014 a null value may have been sent for a non-nullable field.","path":"/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing","requestBody":"{\u0022Color\u0022: \u0022Unknown\u0022, \u0022OriginalPhotoCount\u0022: 0, \u0022SellerName\u0022: null, \u0022PriceIncludesVat\u0022: true, \u0022Title\u0022: \u0022CITROEN JUMPY FGN M BLUEHDI 120 S\u0026S BVM6\u0022, \u0022Price\u0022: {\u0022AmountSmallestUnit\u0022: 2320000, \u0022CurrencyCode\u0022: \u0022EUR\u0022}, \u0022Make\u0022: \u0022CITROEN\u0022, \u0022Model\u0022: \u0022JUMPY FGN M BLUEHDI 120 S\u0026S BVM6\u0022, \u0022Transmission\u0022: \u0022manual\u0022, \u0022Engine\u0022: \u0022\u0022, \u0022FuelType\u0022: \u0022Diesel\u0022, \u0022Odometer\u0022: {\u0022Value\u0022: null, \u0022Unit\u0022: 1}, \u0022RegistrationDate\u0022: \u00222023-06-08\u0022, \u0022LinkToWebOffer\u0022: \u0022https://vpauto.fr/vehicule/d587d6b0f8/citroen-jumpy-fgn-m-bluehdi-120-ss-bvm6\u0022, \u0022ExpirationDate\u0022: null, \u0022Location\u0022: \u002256 - LORIENT\u0022, \u0022OriginCountryCode\u0022: \u0022FR\u0022, \u0022Trim\u0022: \u0022JUMPY FGN M BLUEHDI 120 S\u0026S BVM6\u0022, \u0022Year\u0022: 2023, \u0022Listing\u0022: \u0022auction\u0022, \u0022Category\u0022: null, \u0022SeatsNumber\u0022: 3, \u0022DoorsNumber\u0022: null, \u0022CO2EmissionValue\u0022: 175, \u0022EmissionStandard\u0022: null, \u0022CarExpertReportSourceUrl\u0022: null, \u0022IsVatIncluded\u0022: false, \u0022IsVatDeductible\u0022: false, \u0022Id\u0022: \u0022b4363da5-ddae-532d-a897-4ba5ebd70349\u0022}"}
| Response Headers: {'Content-Type': 'application/json', 'Date': 'Mon, 23 Mar 2026 09:07:37 GMT', 'Request-Context': 'appId=cid-v1:1a14ebe8-38cd-4629-ab2d-40684250fa5b', 'Server': 'Kestrel', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'Transfer-Encoding': 'chunked'}
2026-03-23 09:07:38 [crawlers.pipelines.post_to_api] ERROR: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
Traceback (most recent call last):
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:07:38 [scrapy.core.scraper] ERROR: Error processing {'auction_title': '',
'c_o_2_emission_value': 175,
'car_expert_report_source_url': None,
'category': None,
'color': 'Unknown',
'currency': 'EUR',
'doors_number': None,
'emission_standard': None,
'engine': '',
'expiration_date': None,
'fuel_type': 'Diesel',
'id': 'b4363da5-ddae-532d-a897-4ba5ebd70349',
'is_damaged': False,
'is_operable': True,
'is_vat_deductible': False,
'is_vat_included': False,
'link_to_web_offer': 'https://vpauto.fr/vehicule/d587d6b0f8/citroen-jumpy-fgn-m-bluehdi-120-ss-bvm6',
'listing': 'auction',
'location': '56 - LORIENT',
'make': 'CITROEN',
'model': 'JUMPY FGN M BLUEHDI 120 S&S BVM6',
'odometer': None,
'odometer_reading_unit': 'km',
'origin_country_code': 'FR',
'original_photo_count': 0,
'price': 23200,
'price_includes_vat': True,
'registration_date': '2023-06-08',
'seats_number': 3,
'seller_name': None,
'title': 'CITROEN JUMPY FGN M BLUEHDI 120 S&S BVM6',
'transmission': 'manual',
'trim': 'JUMPY FGN M BLUEHDI 120 S&S BVM6',
'year': 2023}
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/twisted/internet/defer.py", line 1078, in _runCallbacks
current.result = callback( # type: ignore[misc]
File "/usr/local/lib/python3.11/dist-packages/scrapy/utils/defer.py", line 340, in f
return deferred_from_coro(coro_f(*coro_args, **coro_kwargs))
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 114, in process_item
raise e
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:07:39 [crawlers.pipelines.post_to_api] ERROR: vpauto.fr, item_id c4962de7-151a-583c-9bbb-19949b989bde: Failed to post item to https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
| Status Code: 400
| Response Content: {"error":"Command deserialization failed. Check field types \u2014 a null value may have been sent for a non-nullable field.","path":"/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing","requestBody":"{\u0022Color\u0022: \u0022Unknown\u0022, \u0022OriginalPhotoCount\u0022: 0, \u0022SellerName\u0022: null, \u0022PriceIncludesVat\u0022: true, \u0022Title\u0022: \u0022ABARTH 500e BEV 42KWH PACKAB04P0GM\u0022, \u0022Price\u0022: {\u0022AmountSmallestUnit\u0022: 2320000, \u0022CurrencyCode\u0022: \u0022EUR\u0022}, \u0022Make\u0022: \u0022ABARTH\u0022, \u0022Model\u0022: \u0022500e BEV 42KWH PACKAB04P0GM\u0022, \u0022Transmission\u0022: \u0022automatic\u0022, \u0022Engine\u0022: \u0022\u0022, \u0022FuelType\u0022: \u0022Electric\u0022, \u0022Odometer\u0022: {\u0022Value\u0022: null, \u0022Unit\u0022: 1}, \u0022RegistrationDate\u0022: \u00222023-11-06\u0022, \u0022LinkToWebOffer\u0022: \u0022https://vpauto.fr/vehicule/ad60db0db1/abarth-500e-bev-42kwh-packab04p0gm\u0022, \u0022ExpirationDate\u0022: null, \u0022Location\u0022: \u002244 - NANTES\u0022, \u0022OriginCountryCode\u0022: \u0022FR\u0022, \u0022Trim\u0022: \u0022500e BEV 42KWH PACKAB04P0GM\u0022, \u0022Year\u0022: 2023, \u0022Listing\u0022: \u0022auction\u0022, \u0022Category\u0022: null, \u0022SeatsNumber\u0022: 4, \u0022DoorsNumber\u0022: 3, \u0022CO2EmissionValue\u0022: null, \u0022EmissionStandard\u0022: null, \u0022CarExpertReportSourceUrl\u0022: null, \u0022IsVatIncluded\u0022: false, \u0022IsVatDeductible\u0022: false, \u0022Id\u0022: \u0022c4962de7-151a-583c-9bbb-19949b989bde\u0022}"}
| Response Headers: {'Content-Type': 'application/json', 'Date': 'Mon, 23 Mar 2026 09:07:39 GMT', 'Request-Context': 'appId=cid-v1:1a14ebe8-38cd-4629-ab2d-40684250fa5b', 'Server': 'Kestrel', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'Transfer-Encoding': 'chunked'}
2026-03-23 09:07:39 [crawlers.pipelines.post_to_api] ERROR: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
Traceback (most recent call last):
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:07:39 [scrapy.core.scraper] ERROR: Error processing {'auction_title': '',
'c_o_2_emission_value': None,
'car_expert_report_source_url': None,
'category': None,
'color': 'Unknown',
'currency': 'EUR',
'doors_number': 3,
'emission_standard': None,
'engine': '',
'expiration_date': None,
'fuel_type': 'Electric',
'id': 'c4962de7-151a-583c-9bbb-19949b989bde',
'is_damaged': False,
'is_operable': True,
'is_vat_deductible': False,
'is_vat_included': False,
'link_to_web_offer': 'https://vpauto.fr/vehicule/ad60db0db1/abarth-500e-bev-42kwh-packab04p0gm',
'listing': 'auction',
'location': '44 - NANTES',
'make': 'ABARTH',
'model': '500e BEV 42KWH PACKAB04P0GM',
'odometer': None,
'odometer_reading_unit': 'km',
'origin_country_code': 'FR',
'original_photo_count': 0,
'price': 23200,
'price_includes_vat': True,
'registration_date': '2023-11-06',
'seats_number': 4,
'seller_name': None,
'title': 'ABARTH 500e BEV 42KWH PACKAB04P0GM',
'transmission': 'automatic',
'trim': '500e BEV 42KWH PACKAB04P0GM',
'year': 2023}
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/twisted/internet/defer.py", line 1078, in _runCallbacks
current.result = callback( # type: ignore[misc]
File "/usr/local/lib/python3.11/dist-packages/scrapy/utils/defer.py", line 340, in f
return deferred_from_coro(coro_f(*coro_args, **coro_kwargs))
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 114, in process_item
raise e
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:07:40 [crawlers.pipelines.post_to_api] ERROR: vpauto.fr, item_id 59ba38a2-297c-529a-95c8-11f6d57429dd: Failed to post item to https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
| Status Code: 400
| Response Content: {"error":"Command deserialization failed. Check field types \u2014 a null value may have been sent for a non-nullable field.","path":"/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing","requestBody":"{\u0022Color\u0022: \u0022Unknown\u0022, \u0022OriginalPhotoCount\u0022: 0, \u0022SellerName\u0022: null, \u0022PriceIncludesVat\u0022: true, \u0022Title\u0022: \u0022PEUGEOT 208 PureTech 100 S\u0026S BVM6 Style\u0022, \u0022Price\u0022: {\u0022AmountSmallestUnit\u0022: 2320000, \u0022CurrencyCode\u0022: \u0022EUR\u0022}, \u0022Make\u0022: \u0022PEUGEOT\u0022, \u0022Model\u0022: \u0022208 PureTech 100 S\u0026S BVM6 Style\u0022, \u0022Transmission\u0022: \u0022manual\u0022, \u0022Engine\u0022: \u0022\u0022, \u0022FuelType\u0022: \u0022Petrol\u0022, \u0022Odometer\u0022: {\u0022Value\u0022: null, \u0022Unit\u0022: 1}, \u0022RegistrationDate\u0022: \u00222023-03-22\u0022, \u0022LinkToWebOffer\u0022: \u0022https://vpauto.fr/vehicule/a4b4d3ddb1/peugeot-208-puretech-100-ss-bvm6-style\u0022, \u0022ExpirationDate\u0022: null, \u0022Location\u0022: \u002244 - NANTES\u0022, \u0022OriginCountryCode\u0022: \u0022FR\u0022, \u0022Trim\u0022: \u0022208 PureTech 100 S\u0026S BVM6 Style\u0022, \u0022Year\u0022: 2023, \u0022Listing\u0022: \u0022auction\u0022, \u0022Category\u0022: null, \u0022SeatsNumber\u0022: 5, \u0022DoorsNumber\u0022: 5, \u0022CO2EmissionValue\u0022: 114, \u0022EmissionStandard\u0022: null, \u0022CarExpertReportSourceUrl\u0022: null, \u0022IsVatIncluded\u0022: true, \u0022IsVatDeductible\u0022: true, \u0022Id\u0022: \u002259ba38a2-297c-529a-95c8-11f6d57429dd\u0022}"}
| Response Headers: {'Content-Type': 'application/json', 'Date': 'Mon, 23 Mar 2026 09:07:40 GMT', 'Request-Context': 'appId=cid-v1:1a14ebe8-38cd-4629-ab2d-40684250fa5b', 'Server': 'Kestrel', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'Transfer-Encoding': 'chunked'}
2026-03-23 09:07:40 [crawlers.pipelines.post_to_api] ERROR: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
Traceback (most recent call last):
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:07:40 [scrapy.core.scraper] ERROR: Error processing {'auction_title': '',
'c_o_2_emission_value': 114,
'car_expert_report_source_url': None,
'category': None,
'color': 'Unknown',
'currency': 'EUR',
'doors_number': 5,
'emission_standard': None,
'engine': '',
'expiration_date': None,
'fuel_type': 'Petrol',
'id': '59ba38a2-297c-529a-95c8-11f6d57429dd',
'is_damaged': False,
'is_operable': True,
'is_vat_deductible': True,
'is_vat_included': True,
'link_to_web_offer': 'https://vpauto.fr/vehicule/a4b4d3ddb1/peugeot-208-puretech-100-ss-bvm6-style',
'listing': 'auction',
'location': '44 - NANTES',
'make': 'PEUGEOT',
'model': '208 PureTech 100 S&S BVM6 Style',
'odometer': None,
'odometer_reading_unit': 'km',
'origin_country_code': 'FR',
'original_photo_count': 0,
'price': 23200,
'price_includes_vat': True,
'registration_date': '2023-03-22',
'seats_number': 5,
'seller_name': None,
'title': 'PEUGEOT 208 PureTech 100 S&S BVM6 Style',
'transmission': 'manual',
'trim': '208 PureTech 100 S&S BVM6 Style',
'year': 2023}
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/twisted/internet/defer.py", line 1078, in _runCallbacks
current.result = callback( # type: ignore[misc]
File "/usr/local/lib/python3.11/dist-packages/scrapy/utils/defer.py", line 340, in f
return deferred_from_coro(coro_f(*coro_args, **coro_kwargs))
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 114, in process_item
raise e
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:07:40 [crawlers.pipelines.post_to_api] ERROR: vpauto.fr, item_id 63f2663f-e26f-5abc-86e7-e6dedac20fda: Failed to post item to https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
| Status Code: 400
| Response Content: {"error":"Command deserialization failed. Check field types \u2014 a null value may have been sent for a non-nullable field.","path":"/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing","requestBody":"{\u0022Color\u0022: \u0022Unknown\u0022, \u0022OriginalPhotoCount\u0022: 0, \u0022SellerName\u0022: null, \u0022PriceIncludesVat\u0022: true, \u0022Title\u0022: \u0022VOLKSWAGEN Tiguan\u0022, \u0022Price\u0022: {\u0022AmountSmallestUnit\u0022: 2320000, \u0022CurrencyCode\u0022: \u0022EUR\u0022}, \u0022Make\u0022: \u0022VOLKSWAGEN\u0022, \u0022Model\u0022: \u0022Tiguan\u0022, \u0022Transmission\u0022: \u0022automatic\u0022, \u0022Engine\u0022: \u0022\u0022, \u0022FuelType\u0022: \u0022Diesel\u0022, \u0022Odometer\u0022: {\u0022Value\u0022: null, \u0022Unit\u0022: 1}, \u0022RegistrationDate\u0022: \u00222023-06-30\u0022, \u0022LinkToWebOffer\u0022: \u0022https://vpauto.fr/vehicule/a0293ff0aa/volkswagen-tiguan\u0022, \u0022ExpirationDate\u0022: null, \u0022Location\u0022: \u002259 - LILLE\u0022, \u0022OriginCountryCode\u0022: \u0022FR\u0022, \u0022Trim\u0022: \u0022Tiguan\u0022, \u0022Year\u0022: 2023, \u0022Listing\u0022: \u0022auction\u0022, \u0022Category\u0022: null, \u0022SeatsNumber\u0022: 5, \u0022DoorsNumber\u0022: 5, \u0022CO2EmissionValue\u0022: 151, \u0022EmissionStandard\u0022: null, \u0022CarExpertReportSourceUrl\u0022: null, \u0022IsVatIncluded\u0022: false, \u0022IsVatDeductible\u0022: false, \u0022Id\u0022: \u002263f2663f-e26f-5abc-86e7-e6dedac20fda\u0022}"}
| Response Headers: {'Content-Type': 'application/json', 'Date': 'Mon, 23 Mar 2026 09:07:40 GMT', 'Request-Context': 'appId=cid-v1:1a14ebe8-38cd-4629-ab2d-40684250fa5b', 'Server': 'Kestrel', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'Transfer-Encoding': 'chunked'}
2026-03-23 09:07:40 [crawlers.pipelines.post_to_api] ERROR: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
Traceback (most recent call last):
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:07:40 [scrapy.core.scraper] ERROR: Error processing {'auction_title': '',
'c_o_2_emission_value': 151,
'car_expert_report_source_url': None,
'category': None,
'color': 'Unknown',
'currency': 'EUR',
'doors_number': 5,
'emission_standard': None,
'engine': '',
'expiration_date': None,
'fuel_type': 'Diesel',
'id': '63f2663f-e26f-5abc-86e7-e6dedac20fda',
'is_damaged': False,
'is_operable': True,
'is_vat_deductible': False,
'is_vat_included': False,
'link_to_web_offer': 'https://vpauto.fr/vehicule/a0293ff0aa/volkswagen-tiguan',
'listing': 'auction',
'location': '59 - LILLE',
'make': 'VOLKSWAGEN',
'model': 'Tiguan',
'odometer': None,
'odometer_reading_unit': 'km',
'origin_country_code': 'FR',
'original_photo_count': 0,
'price': 23200,
'price_includes_vat': True,
'registration_date': '2023-06-30',
'seats_number': 5,
'seller_name': None,
'title': 'VOLKSWAGEN Tiguan',
'transmission': 'automatic',
'trim': 'Tiguan',
'year': 2023}
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/twisted/internet/defer.py", line 1078, in _runCallbacks
current.result = callback( # type: ignore[misc]
File "/usr/local/lib/python3.11/dist-packages/scrapy/utils/defer.py", line 340, in f
return deferred_from_coro(coro_f(*coro_args, **coro_kwargs))
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 114, in process_item
raise e
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:07:41 [crawlers.pipelines.post_to_api] ERROR: vpauto.fr, item_id 8a8e0fdb-a8ee-5fd2-80d0-dca93ad91fcd: Failed to post item to https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
| Status Code: 400
| Response Content: {"error":"Command deserialization failed. Check field types \u2014 a null value may have been sent for a non-nullable field.","path":"/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing","requestBody":"{\u0022Color\u0022: \u0022Unknown\u0022, \u0022OriginalPhotoCount\u0022: 0, \u0022SellerName\u0022: null, \u0022PriceIncludesVat\u0022: true, \u0022Title\u0022: \u0022VOLKSWAGEN GOLF\u0022, \u0022Price\u0022: {\u0022AmountSmallestUnit\u0022: 2320000, \u0022CurrencyCode\u0022: \u0022EUR\u0022}, \u0022Make\u0022: \u0022VOLKSWAGEN\u0022, \u0022Model\u0022: \u0022GOLF\u0022, \u0022Transmission\u0022: \u0022automatic\u0022, \u0022Engine\u0022: \u0022\u0022, \u0022FuelType\u0022: \u0022Petrol\u0022, \u0022Odometer\u0022: {\u0022Value\u0022: null, \u0022Unit\u0022: 1}, \u0022RegistrationDate\u0022: \u00222023-12-22\u0022, \u0022LinkToWebOffer\u0022: \u0022https://vpauto.fr/vehicule/935fda4e55/volkswagen-golf\u0022, \u0022ExpirationDate\u0022: null, \u0022Location\u0022: \u002269 - LYON\u0022, \u0022OriginCountryCode\u0022: \u0022FR\u0022, \u0022Trim\u0022: \u0022GOLF\u0022, \u0022Year\u0022: 2023, \u0022Listing\u0022: \u0022auction\u0022, \u0022Category\u0022: null, \u0022SeatsNumber\u0022: 5, \u0022DoorsNumber\u0022: 5, \u0022CO2EmissionValue\u0022: 172, \u0022EmissionStandard\u0022: null, \u0022CarExpertReportSourceUrl\u0022: null, \u0022IsVatIncluded\u0022: false, \u0022IsVatDeductible\u0022: false, \u0022Id\u0022: \u00228a8e0fdb-a8ee-5fd2-80d0-dca93ad91fcd\u0022}"}
| Response Headers: {'Content-Type': 'application/json', 'Date': 'Mon, 23 Mar 2026 09:07:40 GMT', 'Request-Context': 'appId=cid-v1:1a14ebe8-38cd-4629-ab2d-40684250fa5b', 'Server': 'Kestrel', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'Transfer-Encoding': 'chunked'}
2026-03-23 09:07:41 [crawlers.pipelines.post_to_api] ERROR: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
Traceback (most recent call last):
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:07:41 [scrapy.core.scraper] ERROR: Error processing {'auction_title': '',
'c_o_2_emission_value': 172,
'car_expert_report_source_url': None,
'category': None,
'color': 'Unknown',
'currency': 'EUR',
'doors_number': 5,
'emission_standard': None,
'engine': '',
'expiration_date': None,
'fuel_type': 'Petrol',
'id': '8a8e0fdb-a8ee-5fd2-80d0-dca93ad91fcd',
'is_damaged': False,
'is_operable': True,
'is_vat_deductible': False,
'is_vat_included': False,
'link_to_web_offer': 'https://vpauto.fr/vehicule/935fda4e55/volkswagen-golf',
'listing': 'auction',
'location': '69 - LYON',
'make': 'VOLKSWAGEN',
'model': 'GOLF',
'odometer': None,
'odometer_reading_unit': 'km',
'origin_country_code': 'FR',
'original_photo_count': 0,
'price': 23200,
'price_includes_vat': True,
'registration_date': '2023-12-22',
'seats_number': 5,
'seller_name': None,
'title': 'VOLKSWAGEN GOLF',
'transmission': 'automatic',
'trim': 'GOLF',
'year': 2023}
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/twisted/internet/defer.py", line 1078, in _runCallbacks
current.result = callback( # type: ignore[misc]
File "/usr/local/lib/python3.11/dist-packages/scrapy/utils/defer.py", line 340, in f
return deferred_from_coro(coro_f(*coro_args, **coro_kwargs))
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 114, in process_item
raise e
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:07:41 [crawlers.pipelines.post_to_api] ERROR: vpauto.fr, item_id 00850d2c-6a5f-52cd-80fb-711e1b21e3cd: Failed to post item to https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
| Status Code: 400
| Response Content: {"error":"Command deserialization failed. Check field types \u2014 a null value may have been sent for a non-nullable field.","path":"/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing","requestBody":"{\u0022Color\u0022: \u0022GRIS KRISTALL\u0022, \u0022OriginalPhotoCount\u0022: 0, \u0022SellerName\u0022: null, \u0022PriceIncludesVat\u0022: true, \u0022Title\u0022: \u0022OPEL Corsa 1.2 Turbo 100 ch BVA8 Elegance Business\u0022, \u0022Price\u0022: {\u0022AmountSmallestUnit\u0022: 2320000, \u0022CurrencyCode\u0022: \u0022EUR\u0022}, \u0022Make\u0022: \u0022OPEL\u0022, \u0022Model\u0022: \u0022Corsa 1.2 Turbo 100 ch BVA8 Elegance Business\u0022, \u0022Transmission\u0022: \u0022automatic\u0022, \u0022Engine\u0022: \u00221.2L\u0022, \u0022FuelType\u0022: \u0022Petrol\u0022, \u0022Odometer\u0022: {\u0022Value\u0022: null, \u0022Unit\u0022: 1}, \u0022RegistrationDate\u0022: \u00222023-04-27\u0022, \u0022LinkToWebOffer\u0022: \u0022https://vpauto.fr/vehicule/69cab985f8/opel-corsa-12-turbo-100-ch-bva8-elegance-business\u0022, \u0022ExpirationDate\u0022: null, \u0022Location\u0022: \u002256 - LORIENT\u0022, \u0022OriginCountryCode\u0022: \u0022FR\u0022, \u0022Trim\u0022: \u0022Corsa 1.2 Turbo 100 ch BVA8 Elegance Business\u0022, \u0022Year\u0022: 2023, \u0022Listing\u0022: \u0022auction\u0022, \u0022Category\u0022: null, \u0022SeatsNumber\u0022: 5, \u0022DoorsNumber\u0022: 5, \u0022CO2EmissionValue\u0022: 122, \u0022EmissionStandard\u0022: null, \u0022CarExpertReportSourceUrl\u0022: null, \u0022IsVatIncluded\u0022: true, \u0022IsVatDeductible\u0022: true, \u0022Id\u0022: \u002200850d2c-6a5f-52cd-80fb-711e1b21e3cd\u0022}"}
| Response Headers: {'Content-Type': 'application/json', 'Date': 'Mon, 23 Mar 2026 09:07:41 GMT', 'Request-Context': 'appId=cid-v1:1a14ebe8-38cd-4629-ab2d-40684250fa5b', 'Server': 'Kestrel', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'Transfer-Encoding': 'chunked'}
2026-03-23 09:07:41 [crawlers.pipelines.post_to_api] ERROR: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
Traceback (most recent call last):
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:07:41 [scrapy.core.scraper] ERROR: Error processing {'auction_title': '',
'c_o_2_emission_value': 122,
'car_expert_report_source_url': None,
'category': None,
'color': 'GRIS KRISTALL',
'currency': 'EUR',
'doors_number': 5,
'emission_standard': None,
'engine': '1.2L',
'expiration_date': None,
'fuel_type': 'Petrol',
'id': '00850d2c-6a5f-52cd-80fb-711e1b21e3cd',
'is_damaged': False,
'is_operable': True,
'is_vat_deductible': True,
'is_vat_included': True,
'link_to_web_offer': 'https://vpauto.fr/vehicule/69cab985f8/opel-corsa-12-turbo-100-ch-bva8-elegance-business',
'listing': 'auction',
'location': '56 - LORIENT',
'make': 'OPEL',
'model': 'Corsa 1.2 Turbo 100 ch BVA8 Elegance Business',
'odometer': None,
'odometer_reading_unit': 'km',
'origin_country_code': 'FR',
'original_photo_count': 0,
'price': 23200,
'price_includes_vat': True,
'registration_date': '2023-04-27',
'seats_number': 5,
'seller_name': None,
'title': 'OPEL Corsa 1.2 Turbo 100 ch BVA8 Elegance Business',
'transmission': 'automatic',
'trim': 'Corsa 1.2 Turbo 100 ch BVA8 Elegance Business',
'year': 2023}
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/twisted/internet/defer.py", line 1078, in _runCallbacks
current.result = callback( # type: ignore[misc]
File "/usr/local/lib/python3.11/dist-packages/scrapy/utils/defer.py", line 340, in f
return deferred_from_coro(coro_f(*coro_args, **coro_kwargs))
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 114, in process_item
raise e
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:07:42 [crawlers.pipelines.post_to_api] ERROR: vpauto.fr, item_id d10e3454-6735-5bb3-ba9d-77e6c36c764c: Failed to post item to https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
| Status Code: 400
| Response Content: {"error":"Command deserialization failed. Check field types \u2014 a null value may have been sent for a non-nullable field.","path":"/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing","requestBody":"{\u0022Color\u0022: \u0022GRAPHITE GRAY\u0022, \u0022OriginalPhotoCount\u0022: 0, \u0022SellerName\u0022: null, \u0022PriceIncludesVat\u0022: true, \u0022Title\u0022: \u0022SKODA Fabia 1.0 TSI 110 ch DSG7 Ambition\u0022, \u0022Price\u0022: {\u0022AmountSmallestUnit\u0022: 2320000, \u0022CurrencyCode\u0022: \u0022EUR\u0022}, \u0022Make\u0022: \u0022SKODA\u0022, \u0022Model\u0022: \u0022Fabia 1.0 TSI 110 ch DSG7 Ambition\u0022, \u0022Transmission\u0022: \u0022automatic\u0022, \u0022Engine\u0022: \u00221.0L\u0022, \u0022FuelType\u0022: \u0022Petrol\u0022, \u0022Odometer\u0022: {\u0022Value\u0022: null, \u0022Unit\u0022: 1}, \u0022RegistrationDate\u0022: \u00222023-02-13\u0022, \u0022LinkToWebOffer\u0022: \u0022https://vpauto.fr/vehicule/6edf9fa19e/skoda-fabia-10-tsi-110-ch-dsg7-ambition\u0022, \u0022ExpirationDate\u0022: null, \u0022Location\u0022: \u002294 - PARIS\u0022, \u0022OriginCountryCode\u0022: \u0022FR\u0022, \u0022Trim\u0022: \u0022Fabia 1.0 TSI 110 ch DSG7 Ambition\u0022, \u0022Year\u0022: 2023, \u0022Listing\u0022: \u0022auction\u0022, \u0022Category\u0022: null, \u0022SeatsNumber\u0022: 5, \u0022DoorsNumber\u0022: 5, \u0022CO2EmissionValue\u0022: 126, \u0022EmissionStandard\u0022: null, \u0022CarExpertReportSourceUrl\u0022: null, \u0022IsVatIncluded\u0022: true, \u0022IsVatDeductible\u0022: true, \u0022Id\u0022: \u0022d10e3454-6735-5bb3-ba9d-77e6c36c764c\u0022}"}
| Response Headers: {'Content-Type': 'application/json', 'Date': 'Mon, 23 Mar 2026 09:07:41 GMT', 'Request-Context': 'appId=cid-v1:1a14ebe8-38cd-4629-ab2d-40684250fa5b', 'Server': 'Kestrel', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'Transfer-Encoding': 'chunked'}
2026-03-23 09:07:42 [crawlers.pipelines.post_to_api] ERROR: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
Traceback (most recent call last):
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:07:42 [scrapy.core.scraper] ERROR: Error processing {'auction_title': '',
'c_o_2_emission_value': 126,
'car_expert_report_source_url': None,
'category': None,
'color': 'GRAPHITE GRAY',
'currency': 'EUR',
'doors_number': 5,
'emission_standard': None,
'engine': '1.0L',
'expiration_date': None,
'fuel_type': 'Petrol',
'id': 'd10e3454-6735-5bb3-ba9d-77e6c36c764c',
'is_damaged': False,
'is_operable': True,
'is_vat_deductible': True,
'is_vat_included': True,
'link_to_web_offer': 'https://vpauto.fr/vehicule/6edf9fa19e/skoda-fabia-10-tsi-110-ch-dsg7-ambition',
'listing': 'auction',
'location': '94 - PARIS',
'make': 'SKODA',
'model': 'Fabia 1.0 TSI 110 ch DSG7 Ambition',
'odometer': None,
'odometer_reading_unit': 'km',
'origin_country_code': 'FR',
'original_photo_count': 0,
'price': 23200,
'price_includes_vat': True,
'registration_date': '2023-02-13',
'seats_number': 5,
'seller_name': None,
'title': 'SKODA Fabia 1.0 TSI 110 ch DSG7 Ambition',
'transmission': 'automatic',
'trim': 'Fabia 1.0 TSI 110 ch DSG7 Ambition',
'year': 2023}
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/twisted/internet/defer.py", line 1078, in _runCallbacks
current.result = callback( # type: ignore[misc]
File "/usr/local/lib/python3.11/dist-packages/scrapy/utils/defer.py", line 340, in f
return deferred_from_coro(coro_f(*coro_args, **coro_kwargs))
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 114, in process_item
raise e
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:07:42 [crawlers.pipelines.post_to_api] ERROR: vpauto.fr, item_id 60913912-3d80-517b-9f29-a0be7c34ec43: Failed to post item to https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
| Status Code: 400
| Response Content: {"error":"Command deserialization failed. Check field types \u2014 a null value may have been sent for a non-nullable field.","path":"/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing","requestBody":"{\u0022Color\u0022: \u0022Unknown\u0022, \u0022OriginalPhotoCount\u0022: 0, \u0022SellerName\u0022: null, \u0022PriceIncludesVat\u0022: true, \u0022Title\u0022: \u0022DACIA Sandero SCe 65 Essential\u0022, \u0022Price\u0022: {\u0022AmountSmallestUnit\u0022: 2320000, \u0022CurrencyCode\u0022: \u0022EUR\u0022}, \u0022Make\u0022: \u0022DACIA\u0022, \u0022Model\u0022: \u0022Sandero SCe 65 Essential\u0022, \u0022Transmission\u0022: \u0022manual\u0022, \u0022Engine\u0022: \u0022\u0022, \u0022FuelType\u0022: \u0022Petrol\u0022, \u0022Odometer\u0022: {\u0022Value\u0022: null, \u0022Unit\u0022: 1}, \u0022RegistrationDate\u0022: \u00222023-07-03\u0022, \u0022LinkToWebOffer\u0022: \u0022https://vpauto.fr/vehicule/5e42aaf6b1/dacia-sandero-sce-65-essential\u0022, \u0022ExpirationDate\u0022: null, \u0022Location\u0022: \u002276 - ROUEN\u0022, \u0022OriginCountryCode\u0022: \u0022FR\u0022, \u0022Trim\u0022: \u0022Sandero SCe 65 Essential\u0022, \u0022Year\u0022: 2023, \u0022Listing\u0022: \u0022auction\u0022, \u0022Category\u0022: null, \u0022SeatsNumber\u0022: 5, \u0022DoorsNumber\u0022: 5, \u0022CO2EmissionValue\u0022: 120, \u0022EmissionStandard\u0022: \u0022EURO 6\u0022, \u0022CarExpertReportSourceUrl\u0022: null, \u0022IsVatIncluded\u0022: true, \u0022IsVatDeductible\u0022: true, \u0022Id\u0022: \u002260913912-3d80-517b-9f29-a0be7c34ec43\u0022}"}
| Response Headers: {'Content-Type': 'application/json', 'Date': 'Mon, 23 Mar 2026 09:07:42 GMT', 'Request-Context': 'appId=cid-v1:1a14ebe8-38cd-4629-ab2d-40684250fa5b', 'Server': 'Kestrel', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'Transfer-Encoding': 'chunked'}
2026-03-23 09:07:42 [crawlers.pipelines.post_to_api] ERROR: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
Traceback (most recent call last):
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:07:42 [scrapy.core.scraper] ERROR: Error processing {'auction_title': '',
'c_o_2_emission_value': 120,
'car_expert_report_source_url': None,
'category': None,
'color': 'Unknown',
'currency': 'EUR',
'doors_number': 5,
'emission_standard': 'EURO 6',
'engine': '',
'expiration_date': None,
'fuel_type': 'Petrol',
'id': '60913912-3d80-517b-9f29-a0be7c34ec43',
'is_damaged': False,
'is_operable': True,
'is_vat_deductible': True,
'is_vat_included': True,
'link_to_web_offer': 'https://vpauto.fr/vehicule/5e42aaf6b1/dacia-sandero-sce-65-essential',
'listing': 'auction',
'location': '76 - ROUEN',
'make': 'DACIA',
'model': 'Sandero SCe 65 Essential',
'odometer': None,
'odometer_reading_unit': 'km',
'origin_country_code': 'FR',
'original_photo_count': 0,
'price': 23200,
'price_includes_vat': True,
'registration_date': '2023-07-03',
'seats_number': 5,
'seller_name': None,
'title': 'DACIA Sandero SCe 65 Essential',
'transmission': 'manual',
'trim': 'Sandero SCe 65 Essential',
'year': 2023}
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/twisted/internet/defer.py", line 1078, in _runCallbacks
current.result = callback( # type: ignore[misc]
File "/usr/local/lib/python3.11/dist-packages/scrapy/utils/defer.py", line 340, in f
return deferred_from_coro(coro_f(*coro_args, **coro_kwargs))
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 114, in process_item
raise e
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:07:45 [crawlers.pipelines.post_to_api] ERROR: vpauto.fr, item_id eb4cbbfc-4d35-5662-8fcb-0565d9727182: Failed to post item to https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
| Status Code: 400
| Response Content: {"error":"Command deserialization failed. Check field types \u2014 a null value may have been sent for a non-nullable field.","path":"/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing","requestBody":"{\u0022Color\u0022: \u0022Unknown\u0022, \u0022OriginalPhotoCount\u0022: 0, \u0022SellerName\u0022: null, \u0022PriceIncludesVat\u0022: true, \u0022Title\u0022: \u0022PEUGEOT 308 SW PureTech 130ch S\u0026S EAT8 Active Pack\u0022, \u0022Price\u0022: {\u0022AmountSmallestUnit\u0022: 2320000, \u0022CurrencyCode\u0022: \u0022EUR\u0022}, \u0022Make\u0022: \u0022PEUGEOT\u0022, \u0022Model\u0022: \u0022308 SW PureTech 130ch S\u0026S EAT8 Active Pack\u0022, \u0022Transmission\u0022: \u0022automatic\u0022, \u0022Engine\u0022: \u0022\u0022, \u0022FuelType\u0022: \u0022Petrol\u0022, \u0022Odometer\u0022: {\u0022Value\u0022: null, \u0022Unit\u0022: 1}, \u0022RegistrationDate\u0022: \u00222023-11-24\u0022, \u0022LinkToWebOffer\u0022: \u0022https://vpauto.fr/vehicule/551e4e38f8/peugeot-308-sw-puretech-130ch-ss-eat8-active-pack\u0022, \u0022ExpirationDate\u0022: null, \u0022Location\u0022: \u002256 - LORIENT\u0022, \u0022OriginCountryCode\u0022: \u0022FR\u0022, \u0022Trim\u0022: \u0022308 SW PureTech 130ch S\u0026S EAT8 Active Pack\u0022, \u0022Year\u0022: 2023, \u0022Listing\u0022: \u0022auction\u0022, \u0022Category\u0022: null, \u0022SeatsNumber\u0022: 5, \u0022DoorsNumber\u0022: 5, \u0022CO2EmissionValue\u0022: 130, \u0022EmissionStandard\u0022: null, \u0022CarExpertReportSourceUrl\u0022: null, \u0022IsVatIncluded\u0022: false, \u0022IsVatDeductible\u0022: false, \u0022Id\u0022: \u0022eb4cbbfc-4d35-5662-8fcb-0565d9727182\u0022}"}
| Response Headers: {'Content-Type': 'application/json', 'Date': 'Mon, 23 Mar 2026 09:07:44 GMT', 'Request-Context': 'appId=cid-v1:1a14ebe8-38cd-4629-ab2d-40684250fa5b', 'Server': 'Kestrel', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'Transfer-Encoding': 'chunked'}
2026-03-23 09:07:45 [crawlers.pipelines.post_to_api] ERROR: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
Traceback (most recent call last):
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:07:45 [scrapy.core.scraper] ERROR: Error processing {'auction_title': '',
'c_o_2_emission_value': 130,
'car_expert_report_source_url': None,
'category': None,
'color': 'Unknown',
'currency': 'EUR',
'doors_number': 5,
'emission_standard': None,
'engine': '',
'expiration_date': None,
'fuel_type': 'Petrol',
'id': 'eb4cbbfc-4d35-5662-8fcb-0565d9727182',
'is_damaged': False,
'is_operable': True,
'is_vat_deductible': False,
'is_vat_included': False,
'link_to_web_offer': 'https://vpauto.fr/vehicule/551e4e38f8/peugeot-308-sw-puretech-130ch-ss-eat8-active-pack',
'listing': 'auction',
'location': '56 - LORIENT',
'make': 'PEUGEOT',
'model': '308 SW PureTech 130ch S&S EAT8 Active Pack',
'odometer': None,
'odometer_reading_unit': 'km',
'origin_country_code': 'FR',
'original_photo_count': 0,
'price': 23200,
'price_includes_vat': True,
'registration_date': '2023-11-24',
'seats_number': 5,
'seller_name': None,
'title': 'PEUGEOT 308 SW PureTech 130ch S&S EAT8 Active Pack',
'transmission': 'automatic',
'trim': '308 SW PureTech 130ch S&S EAT8 Active Pack',
'year': 2023}
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/twisted/internet/defer.py", line 1078, in _runCallbacks
current.result = callback( # type: ignore[misc]
File "/usr/local/lib/python3.11/dist-packages/scrapy/utils/defer.py", line 340, in f
return deferred_from_coro(coro_f(*coro_args, **coro_kwargs))
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 114, in process_item
raise e
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:07:46 [crawlers.pipelines.post_to_api] ERROR: vpauto.fr, item_id fa96a19d-af72-547d-a519-f1ac2b054799: Failed to post item to https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
| Status Code: 400
| Response Content: {"error":"Command deserialization failed. Check field types \u2014 a null value may have been sent for a non-nullable field.","path":"/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing","requestBody":"{\u0022Color\u0022: \u0022Unknown\u0022, \u0022OriginalPhotoCount\u0022: 0, \u0022SellerName\u0022: null, \u0022PriceIncludesVat\u0022: true, \u0022Title\u0022: \u0022RENAULT Clio TCe 90 Techno\u0022, \u0022Price\u0022: {\u0022AmountSmallestUnit\u0022: 2320000, \u0022CurrencyCode\u0022: \u0022EUR\u0022}, \u0022Make\u0022: \u0022RENAULT\u0022, \u0022Model\u0022: \u0022Clio TCe 90 Techno\u0022, \u0022Transmission\u0022: \u0022automatic\u0022, \u0022Engine\u0022: \u0022\u0022, \u0022FuelType\u0022: \u0022Petrol\u0022, \u0022Odometer\u0022: {\u0022Value\u0022: null, \u0022Unit\u0022: 1}, \u0022RegistrationDate\u0022: \u00222023-12-20\u0022, \u0022LinkToWebOffer\u0022: \u0022https://vpauto.fr/vehicule/540ff0c55/renault-clio-tce-90-techno\u0022, \u0022ExpirationDate\u0022: null, \u0022Location\u0022: \u002269 - LYON\u0022, \u0022OriginCountryCode\u0022: \u0022FR\u0022, \u0022Trim\u0022: \u0022Clio TCe 90 Techno\u0022, \u0022Year\u0022: 2023, \u0022Listing\u0022: \u0022auction\u0022, \u0022Category\u0022: null, \u0022SeatsNumber\u0022: 5, \u0022DoorsNumber\u0022: 5, \u0022CO2EmissionValue\u0022: 118, \u0022EmissionStandard\u0022: null, \u0022CarExpertReportSourceUrl\u0022: null, \u0022IsVatIncluded\u0022: true, \u0022IsVatDeductible\u0022: true, \u0022Id\u0022: \u0022fa96a19d-af72-547d-a519-f1ac2b054799\u0022}"}
| Response Headers: {'Content-Type': 'application/json', 'Date': 'Mon, 23 Mar 2026 09:07:45 GMT', 'Request-Context': 'appId=cid-v1:1a14ebe8-38cd-4629-ab2d-40684250fa5b', 'Server': 'Kestrel', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'Transfer-Encoding': 'chunked'}
2026-03-23 09:07:46 [crawlers.pipelines.post_to_api] ERROR: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
Traceback (most recent call last):
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:07:46 [scrapy.core.scraper] ERROR: Error processing {'auction_title': '',
'c_o_2_emission_value': 118,
'car_expert_report_source_url': None,
'category': None,
'color': 'Unknown',
'currency': 'EUR',
'doors_number': 5,
'emission_standard': None,
'engine': '',
'expiration_date': None,
'fuel_type': 'Petrol',
'id': 'fa96a19d-af72-547d-a519-f1ac2b054799',
'is_damaged': False,
'is_operable': True,
'is_vat_deductible': True,
'is_vat_included': True,
'link_to_web_offer': 'https://vpauto.fr/vehicule/540ff0c55/renault-clio-tce-90-techno',
'listing': 'auction',
'location': '69 - LYON',
'make': 'RENAULT',
'model': 'Clio TCe 90 Techno',
'odometer': None,
'odometer_reading_unit': 'km',
'origin_country_code': 'FR',
'original_photo_count': 0,
'price': 23200,
'price_includes_vat': True,
'registration_date': '2023-12-20',
'seats_number': 5,
'seller_name': None,
'title': 'RENAULT Clio TCe 90 Techno',
'transmission': 'automatic',
'trim': 'Clio TCe 90 Techno',
'year': 2023}
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/twisted/internet/defer.py", line 1078, in _runCallbacks
current.result = callback( # type: ignore[misc]
File "/usr/local/lib/python3.11/dist-packages/scrapy/utils/defer.py", line 340, in f
return deferred_from_coro(coro_f(*coro_args, **coro_kwargs))
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 114, in process_item
raise e
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:07:49 [crawlers.pipelines.post_to_api] ERROR: vpauto.fr, item_id 52fa6c60-5d1d-5a63-8a1c-12ba5228d9ef: Failed to post item to https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
| Status Code: 400
| Response Content: {"error":"Command deserialization failed. Check field types \u2014 a null value may have been sent for a non-nullable field.","path":"/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing","requestBody":"{\u0022Color\u0022: \u0022Unknown\u0022, \u0022OriginalPhotoCount\u0022: 0, \u0022SellerName\u0022: null, \u0022PriceIncludesVat\u0022: true, \u0022Title\u0022: \u0022RENAULT Megane E-Tech EV60 220 ch super charge Techno\u0022, \u0022Price\u0022: {\u0022AmountSmallestUnit\u0022: 2320000, \u0022CurrencyCode\u0022: \u0022EUR\u0022}, \u0022Make\u0022: \u0022RENAULT\u0022, \u0022Model\u0022: \u0022Megane E-Tech EV60 220 ch super charge Techno\u0022, \u0022Transmission\u0022: \u0022automatic\u0022, \u0022Engine\u0022: \u0022\u0022, \u0022FuelType\u0022: \u0022Electric\u0022, \u0022Odometer\u0022: {\u0022Value\u0022: null, \u0022Unit\u0022: 1}, \u0022RegistrationDate\u0022: \u00222024-02-14\u0022, \u0022LinkToWebOffer\u0022: \u0022https://vpauto.fr/vehicule/8a3261afb1/renault-megane-e-tech-ev60-220-ch-super-charge-techno\u0022, \u0022ExpirationDate\u0022: null, \u0022Location\u0022: \u002244 - NANTES\u0022, \u0022OriginCountryCode\u0022: \u0022FR\u0022, \u0022Trim\u0022: \u0022Megane E-Tech EV60 220 ch super charge Techno\u0022, \u0022Year\u0022: 2024, \u0022Listing\u0022: \u0022auction\u0022, \u0022Category\u0022: null, \u0022SeatsNumber\u0022: 5, \u0022DoorsNumber\u0022: 5, \u0022CO2EmissionValue\u0022: null, \u0022EmissionStandard\u0022: null, \u0022CarExpertReportSourceUrl\u0022: null, \u0022IsVatIncluded\u0022: true, \u0022IsVatDeductible\u0022: true, \u0022Id\u0022: \u002252fa6c60-5d1d-5a63-8a1c-12ba5228d9ef\u0022}"}
| Response Headers: {'Content-Type': 'application/json', 'Date': 'Mon, 23 Mar 2026 09:07:48 GMT', 'Request-Context': 'appId=cid-v1:1a14ebe8-38cd-4629-ab2d-40684250fa5b', 'Server': 'Kestrel', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'Transfer-Encoding': 'chunked'}
2026-03-23 09:07:49 [crawlers.pipelines.post_to_api] ERROR: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
Traceback (most recent call last):
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:07:49 [scrapy.core.scraper] ERROR: Error processing {'auction_title': '',
'c_o_2_emission_value': None,
'car_expert_report_source_url': None,
'category': None,
'color': 'Unknown',
'currency': 'EUR',
'doors_number': 5,
'emission_standard': None,
'engine': '',
'expiration_date': None,
'fuel_type': 'Electric',
'id': '52fa6c60-5d1d-5a63-8a1c-12ba5228d9ef',
'is_damaged': False,
'is_operable': True,
'is_vat_deductible': True,
'is_vat_included': True,
'link_to_web_offer': 'https://vpauto.fr/vehicule/8a3261afb1/renault-megane-e-tech-ev60-220-ch-super-charge-techno',
'listing': 'auction',
'location': '44 - NANTES',
'make': 'RENAULT',
'model': 'Megane E-Tech EV60 220 ch super charge Techno',
'odometer': None,
'odometer_reading_unit': 'km',
'origin_country_code': 'FR',
'original_photo_count': 0,
'price': 23200,
'price_includes_vat': True,
'registration_date': '2024-02-14',
'seats_number': 5,
'seller_name': None,
'title': 'RENAULT Megane E-Tech EV60 220 ch super charge Techno',
'transmission': 'automatic',
'trim': 'Megane E-Tech EV60 220 ch super charge Techno',
'year': 2024}
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/twisted/internet/defer.py", line 1078, in _runCallbacks
current.result = callback( # type: ignore[misc]
File "/usr/local/lib/python3.11/dist-packages/scrapy/utils/defer.py", line 340, in f
return deferred_from_coro(coro_f(*coro_args, **coro_kwargs))
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 114, in process_item
raise e
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:07:51 [crawlers.pipelines.post_to_api] ERROR: vpauto.fr, item_id f011ff8d-e59e-5e09-a61a-be1a652e69da: Failed to post item to https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
| Status Code: 400
| Response Content: {"error":"Command deserialization failed. Check field types \u2014 a null value may have been sent for a non-nullable field.","path":"/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing","requestBody":"{\u0022Color\u0022: \u0022Unknown\u0022, \u0022OriginalPhotoCount\u0022: 0, \u0022SellerName\u0022: null, \u0022PriceIncludesVat\u0022: true, \u0022Title\u0022: \u0022SEAT Arona\u0022, \u0022Price\u0022: {\u0022AmountSmallestUnit\u0022: 770000, \u0022CurrencyCode\u0022: \u0022EUR\u0022}, \u0022Make\u0022: \u0022SEAT\u0022, \u0022Model\u0022: \u0022Arona\u0022, \u0022Transmission\u0022: \u0022automatic\u0022, \u0022Engine\u0022: \u0022\u0022, \u0022FuelType\u0022: \u0022Petrol\u0022, \u0022Odometer\u0022: {\u0022Value\u0022: null, \u0022Unit\u0022: 1}, \u0022RegistrationDate\u0022: \u00222022-12-15\u0022, \u0022LinkToWebOffer\u0022: \u0022https://vpauto.fr/vehicule/44586a84ec/seat-arona\u0022, \u0022ExpirationDate\u0022: null, \u0022Location\u0022: \u002213 - MARSEILLE\u0022, \u0022OriginCountryCode\u0022: \u0022FR\u0022, \u0022Trim\u0022: \u0022Arona\u0022, \u0022Year\u0022: 2022, \u0022Listing\u0022: \u0022auction\u0022, \u0022Category\u0022: null, \u0022SeatsNumber\u0022: 5, \u0022DoorsNumber\u0022: 5, \u0022CO2EmissionValue\u0022: 121, \u0022EmissionStandard\u0022: null, \u0022CarExpertReportSourceUrl\u0022: null, \u0022IsVatIncluded\u0022: false, \u0022IsVatDeductible\u0022: false, \u0022Id\u0022: \u0022f011ff8d-e59e-5e09-a61a-be1a652e69da\u0022}"}
| Response Headers: {'Content-Type': 'application/json', 'Date': 'Mon, 23 Mar 2026 09:07:50 GMT', 'Request-Context': 'appId=cid-v1:1a14ebe8-38cd-4629-ab2d-40684250fa5b', 'Server': 'Kestrel', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'Transfer-Encoding': 'chunked'}
2026-03-23 09:07:51 [crawlers.pipelines.post_to_api] ERROR: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
Traceback (most recent call last):
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:07:51 [scrapy.core.scraper] ERROR: Error processing {'auction_title': '',
'c_o_2_emission_value': 121,
'car_expert_report_source_url': None,
'category': None,
'color': 'Unknown',
'currency': 'EUR',
'doors_number': 5,
'emission_standard': None,
'engine': '',
'expiration_date': None,
'fuel_type': 'Petrol',
'id': 'f011ff8d-e59e-5e09-a61a-be1a652e69da',
'is_damaged': False,
'is_operable': True,
'is_vat_deductible': False,
'is_vat_included': False,
'link_to_web_offer': 'https://vpauto.fr/vehicule/44586a84ec/seat-arona',
'listing': 'auction',
'location': '13 - MARSEILLE',
'make': 'SEAT',
'model': 'Arona',
'odometer': None,
'odometer_reading_unit': 'km',
'origin_country_code': 'FR',
'original_photo_count': 0,
'price': 7700,
'price_includes_vat': True,
'registration_date': '2022-12-15',
'seats_number': 5,
'seller_name': None,
'title': 'SEAT Arona',
'transmission': 'automatic',
'trim': 'Arona',
'year': 2022}
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/twisted/internet/defer.py", line 1078, in _runCallbacks
current.result = callback( # type: ignore[misc]
File "/usr/local/lib/python3.11/dist-packages/scrapy/utils/defer.py", line 340, in f
return deferred_from_coro(coro_f(*coro_args, **coro_kwargs))
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 114, in process_item
raise e
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:07:51 [crawlers.pipelines.post_to_api] ERROR: vpauto.fr, item_id 565c7fc1-9edc-581f-bd9e-6d1d1448e8c3: Failed to post item to https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
| Status Code: 400
| Response Content: {"error":"Command deserialization failed. Check field types \u2014 a null value may have been sent for a non-nullable field.","path":"/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing","requestBody":"{\u0022Color\u0022: \u0022Unknown\u0022, \u0022OriginalPhotoCount\u0022: 0, \u0022SellerName\u0022: null, \u0022PriceIncludesVat\u0022: true, \u0022Title\u0022: \u0022CITROEN Jumper Tole 35 L2H2 BlueHDi 14\u0022, \u0022Price\u0022: {\u0022AmountSmallestUnit\u0022: 770000, \u0022CurrencyCode\u0022: \u0022EUR\u0022}, \u0022Make\u0022: \u0022CITROEN\u0022, \u0022Model\u0022: \u0022Jumper Tole 35 L2H2 BlueHDi 14\u0022, \u0022Transmission\u0022: \u0022automatic\u0022, \u0022Engine\u0022: \u0022\u0022, \u0022FuelType\u0022: \u0022Diesel\u0022, \u0022Odometer\u0022: {\u0022Value\u0022: null, \u0022Unit\u0022: 1}, \u0022RegistrationDate\u0022: \u00222022-05-30\u0022, \u0022LinkToWebOffer\u0022: \u0022https://vpauto.fr/vehicule/3b356c6fbf/citroen-jumper-tole-35-l2h2-bluehdi-14\u0022, \u0022ExpirationDate\u0022: null, \u0022Location\u0022: \u002276 - ROUEN\u0022, \u0022OriginCountryCode\u0022: \u0022FR\u0022, \u0022Trim\u0022: \u0022Jumper Tole 35 L2H2 BlueHDi 14\u0022, \u0022Year\u0022: 2022, \u0022Listing\u0022: \u0022auction\u0022, \u0022Category\u0022: null, \u0022SeatsNumber\u0022: 3, \u0022DoorsNumber\u0022: null, \u0022CO2EmissionValue\u0022: 238, \u0022EmissionStandard\u0022: null, \u0022CarExpertReportSourceUrl\u0022: null, \u0022IsVatIncluded\u0022: true, \u0022IsVatDeductible\u0022: true, \u0022Id\u0022: \u0022565c7fc1-9edc-581f-bd9e-6d1d1448e8c3\u0022}"}
| Response Headers: {'Content-Type': 'application/json', 'Date': 'Mon, 23 Mar 2026 09:07:51 GMT', 'Request-Context': 'appId=cid-v1:1a14ebe8-38cd-4629-ab2d-40684250fa5b', 'Server': 'Kestrel', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'Transfer-Encoding': 'chunked'}
2026-03-23 09:07:51 [crawlers.pipelines.post_to_api] ERROR: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
Traceback (most recent call last):
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:07:51 [scrapy.core.scraper] ERROR: Error processing {'auction_title': '',
'c_o_2_emission_value': 238,
'car_expert_report_source_url': None,
'category': None,
'color': 'Unknown',
'currency': 'EUR',
'doors_number': None,
'emission_standard': None,
'engine': '',
'expiration_date': None,
'fuel_type': 'Diesel',
'id': '565c7fc1-9edc-581f-bd9e-6d1d1448e8c3',
'is_damaged': False,
'is_operable': True,
'is_vat_deductible': True,
'is_vat_included': True,
'link_to_web_offer': 'https://vpauto.fr/vehicule/3b356c6fbf/citroen-jumper-tole-35-l2h2-bluehdi-14',
'listing': 'auction',
'location': '76 - ROUEN',
'make': 'CITROEN',
'model': 'Jumper Tole 35 L2H2 BlueHDi 14',
'odometer': None,
'odometer_reading_unit': 'km',
'origin_country_code': 'FR',
'original_photo_count': 0,
'price': 7700,
'price_includes_vat': True,
'registration_date': '2022-05-30',
'seats_number': 3,
'seller_name': None,
'title': 'CITROEN Jumper Tole 35 L2H2 BlueHDi 14',
'transmission': 'automatic',
'trim': 'Jumper Tole 35 L2H2 BlueHDi 14',
'year': 2022}
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/twisted/internet/defer.py", line 1078, in _runCallbacks
current.result = callback( # type: ignore[misc]
File "/usr/local/lib/python3.11/dist-packages/scrapy/utils/defer.py", line 340, in f
return deferred_from_coro(coro_f(*coro_args, **coro_kwargs))
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 114, in process_item
raise e
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:07:53 [crawlers.pipelines.post_to_api] ERROR: vpauto.fr, item_id 590e5e14-10ee-578b-b4b6-37ad0bbda706: Failed to post item to https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
| Status Code: 400
| Response Content: {"error":"Command deserialization failed. Check field types \u2014 a null value may have been sent for a non-nullable field.","path":"/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing","requestBody":"{\u0022Color\u0022: \u0022Unknown\u0022, \u0022OriginalPhotoCount\u0022: 0, \u0022SellerName\u0022: null, \u0022PriceIncludesVat\u0022: true, \u0022Title\u0022: \u0022VOLKSWAGEN VOLKSWAGEN TRANSPORTER\u0022, \u0022Price\u0022: {\u0022AmountSmallestUnit\u0022: 770000, \u0022CurrencyCode\u0022: \u0022EUR\u0022}, \u0022Make\u0022: \u0022VOLKSWAGEN\u0022, \u0022Model\u0022: \u0022TRANSPORTER\u0022, \u0022Transmission\u0022: \u0022automatic\u0022, \u0022Engine\u0022: \u0022\u0022, \u0022FuelType\u0022: \u0022Diesel\u0022, \u0022Odometer\u0022: {\u0022Value\u0022: null, \u0022Unit\u0022: 1}, \u0022RegistrationDate\u0022: \u00222022-06-23\u0022, \u0022LinkToWebOffer\u0022: \u0022https://vpauto.fr/vehicule/94f1777955/volkswagen-volkswagen-transporter\u0022, \u0022ExpirationDate\u0022: null, \u0022Location\u0022: \u002269 - LYON\u0022, \u0022OriginCountryCode\u0022: \u0022FR\u0022, \u0022Trim\u0022: \u0022TRANSPORTER\u0022, \u0022Year\u0022: 2022, \u0022Listing\u0022: \u0022auction\u0022, \u0022Category\u0022: null, \u0022SeatsNumber\u0022: 3, \u0022DoorsNumber\u0022: null, \u0022CO2EmissionValue\u0022: 184, \u0022EmissionStandard\u0022: null, \u0022CarExpertReportSourceUrl\u0022: null, \u0022IsVatIncluded\u0022: false, \u0022IsVatDeductible\u0022: false, \u0022Id\u0022: \u0022590e5e14-10ee-578b-b4b6-37ad0bbda706\u0022}"}
| Response Headers: {'Content-Type': 'application/json', 'Date': 'Mon, 23 Mar 2026 09:07:52 GMT', 'Request-Context': 'appId=cid-v1:1a14ebe8-38cd-4629-ab2d-40684250fa5b', 'Server': 'Kestrel', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'Transfer-Encoding': 'chunked'}
2026-03-23 09:07:53 [crawlers.pipelines.post_to_api] ERROR: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
Traceback (most recent call last):
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:07:53 [scrapy.core.scraper] ERROR: Error processing {'auction_title': '',
'c_o_2_emission_value': 184,
'car_expert_report_source_url': None,
'category': None,
'color': 'Unknown',
'currency': 'EUR',
'doors_number': None,
'emission_standard': None,
'engine': '',
'expiration_date': None,
'fuel_type': 'Diesel',
'id': '590e5e14-10ee-578b-b4b6-37ad0bbda706',
'is_damaged': False,
'is_operable': True,
'is_vat_deductible': False,
'is_vat_included': False,
'link_to_web_offer': 'https://vpauto.fr/vehicule/94f1777955/volkswagen-volkswagen-transporter',
'listing': 'auction',
'location': '69 - LYON',
'make': 'VOLKSWAGEN',
'model': 'TRANSPORTER',
'odometer': None,
'odometer_reading_unit': 'km',
'origin_country_code': 'FR',
'original_photo_count': 0,
'price': 7700,
'price_includes_vat': True,
'registration_date': '2022-06-23',
'seats_number': 3,
'seller_name': None,
'title': 'VOLKSWAGEN VOLKSWAGEN TRANSPORTER',
'transmission': 'automatic',
'trim': 'TRANSPORTER',
'year': 2022}
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/twisted/internet/defer.py", line 1078, in _runCallbacks
current.result = callback( # type: ignore[misc]
File "/usr/local/lib/python3.11/dist-packages/scrapy/utils/defer.py", line 340, in f
return deferred_from_coro(coro_f(*coro_args, **coro_kwargs))
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 114, in process_item
raise e
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:07:54 [crawlers.pipelines.post_to_api] ERROR: vpauto.fr, item_id aa8ef41c-d4e4-56a1-b1f0-e84e83fe0454: Failed to post item to https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
| Status Code: 400
| Response Content: {"error":"Command deserialization failed. Check field types \u2014 a null value may have been sent for a non-nullable field.","path":"/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing","requestBody":"{\u0022Color\u0022: \u0022Unknown\u0022, \u0022OriginalPhotoCount\u0022: 0, \u0022SellerName\u0022: null, \u0022PriceIncludesVat\u0022: true, \u0022Title\u0022: \u0022AUDI Q3\u0022, \u0022Price\u0022: {\u0022AmountSmallestUnit\u0022: 770000, \u0022CurrencyCode\u0022: \u0022EUR\u0022}, \u0022Make\u0022: \u0022AUDI\u0022, \u0022Model\u0022: \u0022Q3\u0022, \u0022Transmission\u0022: \u0022automatic\u0022, \u0022Engine\u0022: \u0022\u0022, \u0022FuelType\u0022: \u0022ESS \u002B ELEC HR\u0022, \u0022Odometer\u0022: {\u0022Value\u0022: null, \u0022Unit\u0022: 1}, \u0022RegistrationDate\u0022: \u00222022-08-09\u0022, \u0022LinkToWebOffer\u0022: \u0022https://vpauto.fr/vehicule/2e5ca77455/audi-q3\u0022, \u0022ExpirationDate\u0022: null, \u0022Location\u0022: \u002269 - LYON\u0022, \u0022OriginCountryCode\u0022: \u0022FR\u0022, \u0022Trim\u0022: \u0022Q3\u0022, \u0022Year\u0022: 2022, \u0022Listing\u0022: \u0022auction\u0022, \u0022Category\u0022: null, \u0022SeatsNumber\u0022: 5, \u0022DoorsNumber\u0022: 5, \u0022CO2EmissionValue\u0022: 45, \u0022EmissionStandard\u0022: null, \u0022CarExpertReportSourceUrl\u0022: null, \u0022IsVatIncluded\u0022: false, \u0022IsVatDeductible\u0022: false, \u0022Id\u0022: \u0022aa8ef41c-d4e4-56a1-b1f0-e84e83fe0454\u0022}"}
| Response Headers: {'Content-Type': 'application/json', 'Date': 'Mon, 23 Mar 2026 09:07:53 GMT', 'Request-Context': 'appId=cid-v1:1a14ebe8-38cd-4629-ab2d-40684250fa5b', 'Server': 'Kestrel', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'Transfer-Encoding': 'chunked'}
2026-03-23 09:07:54 [crawlers.pipelines.post_to_api] ERROR: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
Traceback (most recent call last):
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:07:54 [scrapy.core.scraper] ERROR: Error processing {'auction_title': '',
'c_o_2_emission_value': 45,
'car_expert_report_source_url': None,
'category': None,
'color': 'Unknown',
'currency': 'EUR',
'doors_number': 5,
'emission_standard': None,
'engine': '',
'expiration_date': None,
'fuel_type': 'ESS + ELEC HR',
'id': 'aa8ef41c-d4e4-56a1-b1f0-e84e83fe0454',
'is_damaged': False,
'is_operable': True,
'is_vat_deductible': False,
'is_vat_included': False,
'link_to_web_offer': 'https://vpauto.fr/vehicule/2e5ca77455/audi-q3',
'listing': 'auction',
'location': '69 - LYON',
'make': 'AUDI',
'model': 'Q3',
'odometer': None,
'odometer_reading_unit': 'km',
'origin_country_code': 'FR',
'original_photo_count': 0,
'price': 7700,
'price_includes_vat': True,
'registration_date': '2022-08-09',
'seats_number': 5,
'seller_name': None,
'title': 'AUDI Q3',
'transmission': 'automatic',
'trim': 'Q3',
'year': 2022}
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/twisted/internet/defer.py", line 1078, in _runCallbacks
current.result = callback( # type: ignore[misc]
File "/usr/local/lib/python3.11/dist-packages/scrapy/utils/defer.py", line 340, in f
return deferred_from_coro(coro_f(*coro_args, **coro_kwargs))
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 114, in process_item
raise e
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:07:54 [crawlers.pipelines.post_to_api] ERROR: vpauto.fr, item_id a835178c-2df4-5967-be09-4a445b21e4e1: Failed to post item to https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
| Status Code: 400
| Response Content: {"error":"Command deserialization failed. Check field types \u2014 a null value may have been sent for a non-nullable field.","path":"/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing","requestBody":"{\u0022Color\u0022: \u0022Unknown\u0022, \u0022OriginalPhotoCount\u0022: 0, \u0022SellerName\u0022: null, \u0022PriceIncludesVat\u0022: true, \u0022Title\u0022: \u0022KIA NIRO LOUNGE\u0022, \u0022Price\u0022: {\u0022AmountSmallestUnit\u0022: 770000, \u0022CurrencyCode\u0022: \u0022EUR\u0022}, \u0022Make\u0022: \u0022KIA\u0022, \u0022Model\u0022: \u0022NIRO LOUNGE\u0022, \u0022Transmission\u0022: \u0022automatic\u0022, \u0022Engine\u0022: \u0022\u0022, \u0022FuelType\u0022: \u0022ESS \u002B ELEC HR\u0022, \u0022Odometer\u0022: {\u0022Value\u0022: null, \u0022Unit\u0022: 1}, \u0022RegistrationDate\u0022: \u00222022-06-13\u0022, \u0022LinkToWebOffer\u0022: \u0022https://vpauto.fr/vehicule/61e63a16bf/kia-niro-lounge\u0022, \u0022ExpirationDate\u0022: null, \u0022Location\u0022: \u002276 - ROUEN\u0022, \u0022OriginCountryCode\u0022: \u0022FR\u0022, \u0022Trim\u0022: \u0022NIRO LOUNGE\u0022, \u0022Year\u0022: 2022, \u0022Listing\u0022: \u0022auction\u0022, \u0022Category\u0022: null, \u0022SeatsNumber\u0022: 5, \u0022DoorsNumber\u0022: 5, \u0022CO2EmissionValue\u0022: 31, \u0022EmissionStandard\u0022: null, \u0022CarExpertReportSourceUrl\u0022: null, \u0022IsVatIncluded\u0022: true, \u0022IsVatDeductible\u0022: true, \u0022Id\u0022: \u0022a835178c-2df4-5967-be09-4a445b21e4e1\u0022}"}
| Response Headers: {'Content-Type': 'application/json', 'Date': 'Mon, 23 Mar 2026 09:07:53 GMT', 'Request-Context': 'appId=cid-v1:1a14ebe8-38cd-4629-ab2d-40684250fa5b', 'Server': 'Kestrel', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'Transfer-Encoding': 'chunked'}
2026-03-23 09:07:54 [crawlers.pipelines.post_to_api] ERROR: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
Traceback (most recent call last):
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:07:54 [scrapy.core.scraper] ERROR: Error processing {'auction_title': '',
'c_o_2_emission_value': 31,
'car_expert_report_source_url': None,
'category': None,
'color': 'Unknown',
'currency': 'EUR',
'doors_number': 5,
'emission_standard': None,
'engine': '',
'expiration_date': None,
'fuel_type': 'ESS + ELEC HR',
'id': 'a835178c-2df4-5967-be09-4a445b21e4e1',
'is_damaged': False,
'is_operable': True,
'is_vat_deductible': True,
'is_vat_included': True,
'link_to_web_offer': 'https://vpauto.fr/vehicule/61e63a16bf/kia-niro-lounge',
'listing': 'auction',
'location': '76 - ROUEN',
'make': 'KIA',
'model': 'NIRO LOUNGE',
'odometer': None,
'odometer_reading_unit': 'km',
'origin_country_code': 'FR',
'original_photo_count': 0,
'price': 7700,
'price_includes_vat': True,
'registration_date': '2022-06-13',
'seats_number': 5,
'seller_name': None,
'title': 'KIA NIRO LOUNGE',
'transmission': 'automatic',
'trim': 'NIRO LOUNGE',
'year': 2022}
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/twisted/internet/defer.py", line 1078, in _runCallbacks
current.result = callback( # type: ignore[misc]
File "/usr/local/lib/python3.11/dist-packages/scrapy/utils/defer.py", line 340, in f
return deferred_from_coro(coro_f(*coro_args, **coro_kwargs))
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 114, in process_item
raise e
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:07:55 [crawlers.pipelines.post_to_api] ERROR: vpauto.fr, item_id 84c4b6c2-d744-56f6-9e6d-6594484ac964: Failed to post item to https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
| Status Code: 400
| Response Content: {"error":"Command deserialization failed. Check field types \u2014 a null value may have been sent for a non-nullable field.","path":"/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing","requestBody":"{\u0022Color\u0022: \u0022Unknown\u0022, \u0022OriginalPhotoCount\u0022: 0, \u0022SellerName\u0022: null, \u0022PriceIncludesVat\u0022: true, \u0022Title\u0022: \u0022VOLKSWAGEN Polo 1.0 TSI 95 S\u0026S DSG7 Style\u0022, \u0022Price\u0022: {\u0022AmountSmallestUnit\u0022: 770000, \u0022CurrencyCode\u0022: \u0022EUR\u0022}, \u0022Make\u0022: \u0022VOLKSWAGEN\u0022, \u0022Model\u0022: \u0022Polo 1.0 TSI 95 S\u0026S DSG7 Style\u0022, \u0022Transmission\u0022: \u0022automatic\u0022, \u0022Engine\u0022: \u00221.0L\u0022, \u0022FuelType\u0022: \u0022Petrol\u0022, \u0022Odometer\u0022: {\u0022Value\u0022: null, \u0022Unit\u0022: 1}, \u0022RegistrationDate\u0022: \u00222022-07-07\u0022, \u0022LinkToWebOffer\u0022: \u0022https://vpauto.fr/vehicule/83721a1ef8/volkswagen-polo-10-tsi-95-ss-dsg7-style\u0022, \u0022ExpirationDate\u0022: null, \u0022Location\u0022: \u002256 - LORIENT\u0022, \u0022OriginCountryCode\u0022: \u0022FR\u0022, \u0022Trim\u0022: \u0022Polo 1.0 TSI 95 S\u0026S DSG7 Style\u0022, \u0022Year\u0022: 2022, \u0022Listing\u0022: \u0022auction\u0022, \u0022Category\u0022: null, \u0022SeatsNumber\u0022: 5, \u0022DoorsNumber\u0022: 5, \u0022CO2EmissionValue\u0022: 127, \u0022EmissionStandard\u0022: \u0022EURO 6\u0022, \u0022CarExpertReportSourceUrl\u0022: null, \u0022IsVatIncluded\u0022: true, \u0022IsVatDeductible\u0022: true, \u0022Id\u0022: \u002284c4b6c2-d744-56f6-9e6d-6594484ac964\u0022}"}
| Response Headers: {'Content-Type': 'application/json', 'Date': 'Mon, 23 Mar 2026 09:07:55 GMT', 'Request-Context': 'appId=cid-v1:1a14ebe8-38cd-4629-ab2d-40684250fa5b', 'Server': 'Kestrel', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'Transfer-Encoding': 'chunked'}
2026-03-23 09:07:55 [crawlers.pipelines.post_to_api] ERROR: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
Traceback (most recent call last):
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:07:55 [scrapy.core.scraper] ERROR: Error processing {'auction_title': '',
'c_o_2_emission_value': 127,
'car_expert_report_source_url': None,
'category': None,
'color': 'Unknown',
'currency': 'EUR',
'doors_number': 5,
'emission_standard': 'EURO 6',
'engine': '1.0L',
'expiration_date': None,
'fuel_type': 'Petrol',
'id': '84c4b6c2-d744-56f6-9e6d-6594484ac964',
'is_damaged': False,
'is_operable': True,
'is_vat_deductible': True,
'is_vat_included': True,
'link_to_web_offer': 'https://vpauto.fr/vehicule/83721a1ef8/volkswagen-polo-10-tsi-95-ss-dsg7-style',
'listing': 'auction',
'location': '56 - LORIENT',
'make': 'VOLKSWAGEN',
'model': 'Polo 1.0 TSI 95 S&S DSG7 Style',
'odometer': None,
'odometer_reading_unit': 'km',
'origin_country_code': 'FR',
'original_photo_count': 0,
'price': 7700,
'price_includes_vat': True,
'registration_date': '2022-07-07',
'seats_number': 5,
'seller_name': None,
'title': 'VOLKSWAGEN Polo 1.0 TSI 95 S&S DSG7 Style',
'transmission': 'automatic',
'trim': 'Polo 1.0 TSI 95 S&S DSG7 Style',
'year': 2022}
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/twisted/internet/defer.py", line 1078, in _runCallbacks
current.result = callback( # type: ignore[misc]
File "/usr/local/lib/python3.11/dist-packages/scrapy/utils/defer.py", line 340, in f
return deferred_from_coro(coro_f(*coro_args, **coro_kwargs))
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 114, in process_item
raise e
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:07:56 [crawlers.pipelines.post_to_api] ERROR: vpauto.fr, item_id b8cef52a-c3c9-522f-9d2b-13bf3a4ba934: Failed to post item to https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
| Status Code: 400
| Response Content: {"error":"Command deserialization failed. Check field types \u2014 a null value may have been sent for a non-nullable field.","path":"/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing","requestBody":"{\u0022Color\u0022: \u0022Unknown\u0022, \u0022OriginalPhotoCount\u0022: 0, \u0022SellerName\u0022: null, \u0022PriceIncludesVat\u0022: true, \u0022Title\u0022: \u0022PEUGEOT 3008 Puretech 130ch S\u0026S BVM6 Allure Pack\u0022, \u0022Price\u0022: {\u0022AmountSmallestUnit\u0022: 770000, \u0022CurrencyCode\u0022: \u0022EUR\u0022}, \u0022Make\u0022: \u0022PEUGEOT\u0022, \u0022Model\u0022: \u00223008 Puretech 130ch S\u0026S BVM6 Allure Pack\u0022, \u0022Transmission\u0022: \u0022manual\u0022, \u0022Engine\u0022: \u0022\u0022, \u0022FuelType\u0022: \u0022Petrol\u0022, \u0022Odometer\u0022: {\u0022Value\u0022: null, \u0022Unit\u0022: 1}, \u0022RegistrationDate\u0022: \u00222022-04-15\u0022, \u0022LinkToWebOffer\u0022: \u0022https://vpauto.fr/vehicule/e5e69685b1/peugeot-3008-puretech-130ch-ss-bvm6-allure-pack\u0022, \u0022ExpirationDate\u0022: null, \u0022Location\u0022: \u002244 - NANTES\u0022, \u0022OriginCountryCode\u0022: \u0022FR\u0022, \u0022Trim\u0022: \u00223008 Puretech 130ch S\u0026S BVM6 Allure Pack\u0022, \u0022Year\u0022: 2022, \u0022Listing\u0022: \u0022auction\u0022, \u0022Category\u0022: null, \u0022SeatsNumber\u0022: 5, \u0022DoorsNumber\u0022: 5, \u0022CO2EmissionValue\u0022: 140, \u0022EmissionStandard\u0022: \u0022EURO 6\u0022, \u0022CarExpertReportSourceUrl\u0022: null, \u0022IsVatIncluded\u0022: true, \u0022IsVatDeductible\u0022: true, \u0022Id\u0022: \u0022b8cef52a-c3c9-522f-9d2b-13bf3a4ba934\u0022}"}
| Response Headers: {'Content-Type': 'application/json', 'Date': 'Mon, 23 Mar 2026 09:07:55 GMT', 'Request-Context': 'appId=cid-v1:1a14ebe8-38cd-4629-ab2d-40684250fa5b', 'Server': 'Kestrel', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'Transfer-Encoding': 'chunked'}
2026-03-23 09:07:56 [crawlers.pipelines.post_to_api] ERROR: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
Traceback (most recent call last):
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:07:56 [scrapy.core.scraper] ERROR: Error processing {'auction_title': '',
'c_o_2_emission_value': 140,
'car_expert_report_source_url': None,
'category': None,
'color': 'Unknown',
'currency': 'EUR',
'doors_number': 5,
'emission_standard': 'EURO 6',
'engine': '',
'expiration_date': None,
'fuel_type': 'Petrol',
'id': 'b8cef52a-c3c9-522f-9d2b-13bf3a4ba934',
'is_damaged': False,
'is_operable': True,
'is_vat_deductible': True,
'is_vat_included': True,
'link_to_web_offer': 'https://vpauto.fr/vehicule/e5e69685b1/peugeot-3008-puretech-130ch-ss-bvm6-allure-pack',
'listing': 'auction',
'location': '44 - NANTES',
'make': 'PEUGEOT',
'model': '3008 Puretech 130ch S&S BVM6 Allure Pack',
'odometer': None,
'odometer_reading_unit': 'km',
'origin_country_code': 'FR',
'original_photo_count': 0,
'price': 7700,
'price_includes_vat': True,
'registration_date': '2022-04-15',
'seats_number': 5,
'seller_name': None,
'title': 'PEUGEOT 3008 Puretech 130ch S&S BVM6 Allure Pack',
'transmission': 'manual',
'trim': '3008 Puretech 130ch S&S BVM6 Allure Pack',
'year': 2022}
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/twisted/internet/defer.py", line 1078, in _runCallbacks
current.result = callback( # type: ignore[misc]
File "/usr/local/lib/python3.11/dist-packages/scrapy/utils/defer.py", line 340, in f
return deferred_from_coro(coro_f(*coro_args, **coro_kwargs))
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 114, in process_item
raise e
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:07:56 [crawlers.pipelines.post_to_api] ERROR: vpauto.fr, item_id dfa05353-3280-5209-91ba-e3aad0bc6349: Failed to post item to https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
| Status Code: 400
| Response Content: {"error":"Command deserialization failed. Check field types \u2014 a null value may have been sent for a non-nullable field.","path":"/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing","requestBody":"{\u0022Color\u0022: \u0022Unknown\u0022, \u0022OriginalPhotoCount\u0022: 0, \u0022SellerName\u0022: null, \u0022PriceIncludesVat\u0022: true, \u0022Title\u0022: \u0022SEAT ARONA\u0022, \u0022Price\u0022: {\u0022AmountSmallestUnit\u0022: 770000, \u0022CurrencyCode\u0022: \u0022EUR\u0022}, \u0022Make\u0022: \u0022SEAT\u0022, \u0022Model\u0022: \u0022ARONA\u0022, \u0022Transmission\u0022: \u0022automatic\u0022, \u0022Engine\u0022: \u0022\u0022, \u0022FuelType\u0022: \u0022Petrol\u0022, \u0022Odometer\u0022: {\u0022Value\u0022: null, \u0022Unit\u0022: 1}, \u0022RegistrationDate\u0022: \u00222022-08-12\u0022, \u0022LinkToWebOffer\u0022: \u0022https://vpauto.fr/vehicule/cf8045a6b1/seat-arona\u0022, \u0022ExpirationDate\u0022: null, \u0022Location\u0022: \u002233 - BORDEAUX\u0022, \u0022OriginCountryCode\u0022: \u0022FR\u0022, \u0022Trim\u0022: \u0022ARONA\u0022, \u0022Year\u0022: 2022, \u0022Listing\u0022: \u0022auction\u0022, \u0022Category\u0022: null, \u0022SeatsNumber\u0022: 5, \u0022DoorsNumber\u0022: 5, \u0022CO2EmissionValue\u0022: 135, \u0022EmissionStandard\u0022: null, \u0022CarExpertReportSourceUrl\u0022: null, \u0022IsVatIncluded\u0022: false, \u0022IsVatDeductible\u0022: false, \u0022Id\u0022: \u0022dfa05353-3280-5209-91ba-e3aad0bc6349\u0022}"}
| Response Headers: {'Content-Type': 'application/json', 'Date': 'Mon, 23 Mar 2026 09:07:56 GMT', 'Request-Context': 'appId=cid-v1:1a14ebe8-38cd-4629-ab2d-40684250fa5b', 'Server': 'Kestrel', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'Transfer-Encoding': 'chunked'}
2026-03-23 09:07:56 [crawlers.pipelines.post_to_api] ERROR: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
Traceback (most recent call last):
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:07:56 [scrapy.core.scraper] ERROR: Error processing {'auction_title': '',
'c_o_2_emission_value': 135,
'car_expert_report_source_url': None,
'category': None,
'color': 'Unknown',
'currency': 'EUR',
'doors_number': 5,
'emission_standard': None,
'engine': '',
'expiration_date': None,
'fuel_type': 'Petrol',
'id': 'dfa05353-3280-5209-91ba-e3aad0bc6349',
'is_damaged': False,
'is_operable': True,
'is_vat_deductible': False,
'is_vat_included': False,
'link_to_web_offer': 'https://vpauto.fr/vehicule/cf8045a6b1/seat-arona',
'listing': 'auction',
'location': '33 - BORDEAUX',
'make': 'SEAT',
'model': 'ARONA',
'odometer': None,
'odometer_reading_unit': 'km',
'origin_country_code': 'FR',
'original_photo_count': 0,
'price': 7700,
'price_includes_vat': True,
'registration_date': '2022-08-12',
'seats_number': 5,
'seller_name': None,
'title': 'SEAT ARONA',
'transmission': 'automatic',
'trim': 'ARONA',
'year': 2022}
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/twisted/internet/defer.py", line 1078, in _runCallbacks
current.result = callback( # type: ignore[misc]
File "/usr/local/lib/python3.11/dist-packages/scrapy/utils/defer.py", line 340, in f
return deferred_from_coro(coro_f(*coro_args, **coro_kwargs))
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 114, in process_item
raise e
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:07:56 [crawlers.pipelines.post_to_api] ERROR: vpauto.fr, item_id e5f5bc8a-b243-5d3f-9b8c-76b077b678f8: Failed to post item to https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
| Status Code: 400
| Response Content: {"error":"Command deserialization failed. Check field types \u2014 a null value may have been sent for a non-nullable field.","path":"/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing","requestBody":"{\u0022Color\u0022: \u0022Unknown\u0022, \u0022OriginalPhotoCount\u0022: 0, \u0022SellerName\u0022: null, \u0022PriceIncludesVat\u0022: true, \u0022Title\u0022: \u0022MAZDA Mazda 3 2.0 e-SKYACTG MHyb 122 2022\u0022, \u0022Price\u0022: {\u0022AmountSmallestUnit\u0022: 770000, \u0022CurrencyCode\u0022: \u0022EUR\u0022}, \u0022Make\u0022: \u0022MAZDA\u0022, \u0022Model\u0022: \u0022Mazda 3 2.0 e-SKYACTG MHyb 122 2022\u0022, \u0022Transmission\u0022: \u0022automatic\u0022, \u0022Engine\u0022: \u00222.0L\u0022, \u0022FuelType\u0022: \u0022Hybrid\u0022, \u0022Odometer\u0022: {\u0022Value\u0022: null, \u0022Unit\u0022: 1}, \u0022RegistrationDate\u0022: \u00222022-04-29\u0022, \u0022LinkToWebOffer\u0022: \u0022https://vpauto.fr/vehicule/eaa973ecf8/mazda-mazda-3-20-e-skyactg-mhyb-122-2022\u0022, \u0022ExpirationDate\u0022: null, \u0022Location\u0022: \u002256 - LORIENT\u0022, \u0022OriginCountryCode\u0022: \u0022FR\u0022, \u0022Trim\u0022: \u0022Mazda 3 2.0 e-SKYACTG MHyb 122 2022\u0022, \u0022Year\u0022: 2022, \u0022Listing\u0022: \u0022auction\u0022, \u0022Category\u0022: null, \u0022SeatsNumber\u0022: 5, \u0022DoorsNumber\u0022: 5, \u0022CO2EmissionValue\u0022: 124, \u0022EmissionStandard\u0022: null, \u0022CarExpertReportSourceUrl\u0022: null, \u0022IsVatIncluded\u0022: true, \u0022IsVatDeductible\u0022: true, \u0022Id\u0022: \u0022e5f5bc8a-b243-5d3f-9b8c-76b077b678f8\u0022}"}
| Response Headers: {'Content-Type': 'application/json', 'Date': 'Mon, 23 Mar 2026 09:07:56 GMT', 'Request-Context': 'appId=cid-v1:1a14ebe8-38cd-4629-ab2d-40684250fa5b', 'Server': 'Kestrel', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'Transfer-Encoding': 'chunked'}
2026-03-23 09:07:56 [crawlers.pipelines.post_to_api] ERROR: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
Traceback (most recent call last):
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:07:56 [scrapy.core.scraper] ERROR: Error processing {'auction_title': '',
'c_o_2_emission_value': 124,
'car_expert_report_source_url': None,
'category': None,
'color': 'Unknown',
'currency': 'EUR',
'doors_number': 5,
'emission_standard': None,
'engine': '2.0L',
'expiration_date': None,
'fuel_type': 'Hybrid',
'id': 'e5f5bc8a-b243-5d3f-9b8c-76b077b678f8',
'is_damaged': False,
'is_operable': True,
'is_vat_deductible': True,
'is_vat_included': True,
'link_to_web_offer': 'https://vpauto.fr/vehicule/eaa973ecf8/mazda-mazda-3-20-e-skyactg-mhyb-122-2022',
'listing': 'auction',
'location': '56 - LORIENT',
'make': 'MAZDA',
'model': 'Mazda 3 2.0 e-SKYACTG MHyb 122 2022',
'odometer': None,
'odometer_reading_unit': 'km',
'origin_country_code': 'FR',
'original_photo_count': 0,
'price': 7700,
'price_includes_vat': True,
'registration_date': '2022-04-29',
'seats_number': 5,
'seller_name': None,
'title': 'MAZDA Mazda 3 2.0 e-SKYACTG MHyb 122 2022',
'transmission': 'automatic',
'trim': 'Mazda 3 2.0 e-SKYACTG MHyb 122 2022',
'year': 2022}
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/twisted/internet/defer.py", line 1078, in _runCallbacks
current.result = callback( # type: ignore[misc]
File "/usr/local/lib/python3.11/dist-packages/scrapy/utils/defer.py", line 340, in f
return deferred_from_coro(coro_f(*coro_args, **coro_kwargs))
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 114, in process_item
raise e
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:07:57 [crawlers.pipelines.post_to_api] ERROR: vpauto.fr, item_id 3e746c09-7545-5a77-a3a3-cfe30e1d7caa: Failed to post item to https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
| Status Code: 400
| Response Content: {"error":"Command deserialization failed. Check field types \u2014 a null value may have been sent for a non-nullable field.","path":"/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing","requestBody":"{\u0022Color\u0022: \u0022Unknown\u0022, \u0022OriginalPhotoCount\u0022: 0, \u0022SellerName\u0022: null, \u0022PriceIncludesVat\u0022: true, \u0022Title\u0022: \u0022RENAULT CLIO E-TECH ENGINEERED FULL HYBRID\u0022, \u0022Price\u0022: {\u0022AmountSmallestUnit\u0022: 770000, \u0022CurrencyCode\u0022: \u0022EUR\u0022}, \u0022Make\u0022: \u0022RENAULT\u0022, \u0022Model\u0022: \u0022CLIO E-TECH ENGINEERED FULL HYBRID\u0022, \u0022Transmission\u0022: \u0022automatic\u0022, \u0022Engine\u0022: \u0022\u0022, \u0022FuelType\u0022: \u0022Hybrid\u0022, \u0022Odometer\u0022: {\u0022Value\u0022: null, \u0022Unit\u0022: 1}, \u0022RegistrationDate\u0022: \u00222022-10-28\u0022, \u0022LinkToWebOffer\u0022: \u0022https://vpauto.fr/vehicule/cc8d8fe05a/renault-clio-e-tech-engineered-full-hybrid\u0022, \u0022ExpirationDate\u0022: null, \u0022Location\u0022: \u002233 - BORDEAUX\u0022, \u0022OriginCountryCode\u0022: \u0022FR\u0022, \u0022Trim\u0022: \u0022CLIO E-TECH ENGINEERED FULL HYBRID\u0022, \u0022Year\u0022: 2022, \u0022Listing\u0022: \u0022auction\u0022, \u0022Category\u0022: null, \u0022SeatsNumber\u0022: 5, \u0022DoorsNumber\u0022: 5, \u0022CO2EmissionValue\u0022: 96, \u0022EmissionStandard\u0022: \u0022EURO 6\u0022, \u0022CarExpertReportSourceUrl\u0022: null, \u0022IsVatIncluded\u0022: true, \u0022IsVatDeductible\u0022: true, \u0022Id\u0022: \u00223e746c09-7545-5a77-a3a3-cfe30e1d7caa\u0022}"}
| Response Headers: {'Content-Type': 'application/json', 'Date': 'Mon, 23 Mar 2026 09:07:57 GMT', 'Request-Context': 'appId=cid-v1:1a14ebe8-38cd-4629-ab2d-40684250fa5b', 'Server': 'Kestrel', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'Transfer-Encoding': 'chunked'}
2026-03-23 09:07:57 [crawlers.pipelines.post_to_api] ERROR: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
Traceback (most recent call last):
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:07:57 [scrapy.core.scraper] ERROR: Error processing {'auction_title': '',
'c_o_2_emission_value': 96,
'car_expert_report_source_url': None,
'category': None,
'color': 'Unknown',
'currency': 'EUR',
'doors_number': 5,
'emission_standard': 'EURO 6',
'engine': '',
'expiration_date': None,
'fuel_type': 'Hybrid',
'id': '3e746c09-7545-5a77-a3a3-cfe30e1d7caa',
'is_damaged': False,
'is_operable': True,
'is_vat_deductible': True,
'is_vat_included': True,
'link_to_web_offer': 'https://vpauto.fr/vehicule/cc8d8fe05a/renault-clio-e-tech-engineered-full-hybrid',
'listing': 'auction',
'location': '33 - BORDEAUX',
'make': 'RENAULT',
'model': 'CLIO E-TECH ENGINEERED FULL HYBRID',
'odometer': None,
'odometer_reading_unit': 'km',
'origin_country_code': 'FR',
'original_photo_count': 0,
'price': 7700,
'price_includes_vat': True,
'registration_date': '2022-10-28',
'seats_number': 5,
'seller_name': None,
'title': 'RENAULT CLIO E-TECH ENGINEERED FULL HYBRID',
'transmission': 'automatic',
'trim': 'CLIO E-TECH ENGINEERED FULL HYBRID',
'year': 2022}
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/twisted/internet/defer.py", line 1078, in _runCallbacks
current.result = callback( # type: ignore[misc]
File "/usr/local/lib/python3.11/dist-packages/scrapy/utils/defer.py", line 340, in f
return deferred_from_coro(coro_f(*coro_args, **coro_kwargs))
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 114, in process_item
raise e
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:08:05 [crawlers.pipelines.post_to_api] ERROR: vpauto.fr, item_id 73615750-0274-521a-9627-bba15414d9e0: Failed to post item to https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
| Status Code: 400
| Response Content: {"error":"Command deserialization failed. Check field types \u2014 a null value may have been sent for a non-nullable field.","path":"/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing","requestBody":"{\u0022Color\u0022: \u0022Unknown\u0022, \u0022OriginalPhotoCount\u0022: 0, \u0022SellerName\u0022: null, \u0022PriceIncludesVat\u0022: true, \u0022Title\u0022: \u0022RENAULT MASTER FOURGON FG TR GCF F3300 L2H2 ENERGY DC\u0022, \u0022Price\u0022: {\u0022AmountSmallestUnit\u0022: 770000, \u0022CurrencyCode\u0022: \u0022EUR\u0022}, \u0022Make\u0022: \u0022RENAULT\u0022, \u0022Model\u0022: \u0022MASTER FOURGON FG TR GCF F3300 L2H2 ENERGY DC\u0022, \u0022Transmission\u0022: \u0022automatic\u0022, \u0022Engine\u0022: \u0022\u0022, \u0022FuelType\u0022: \u0022Diesel\u0022, \u0022Odometer\u0022: {\u0022Value\u0022: null, \u0022Unit\u0022: 1}, \u0022RegistrationDate\u0022: \u00222021-11-17\u0022, \u0022LinkToWebOffer\u0022: \u0022https://vpauto.fr/vehicule/2574d9a0f8/renault-master-fourgon-fg-tr-gcf-f3300-l2h2-energy-dc\u0022, \u0022ExpirationDate\u0022: null, \u0022Location\u0022: \u002256 - LORIENT\u0022, \u0022OriginCountryCode\u0022: \u0022FR\u0022, \u0022Trim\u0022: \u0022MASTER FOURGON FG TR GCF F3300 L2H2 ENERGY DC\u0022, \u0022Year\u0022: 2021, \u0022Listing\u0022: \u0022auction\u0022, \u0022Category\u0022: null, \u0022SeatsNumber\u0022: 3, \u0022DoorsNumber\u0022: null, \u0022CO2EmissionValue\u0022: 249, \u0022EmissionStandard\u0022: null, \u0022CarExpertReportSourceUrl\u0022: null, \u0022IsVatIncluded\u0022: true, \u0022IsVatDeductible\u0022: true, \u0022Id\u0022: \u002273615750-0274-521a-9627-bba15414d9e0\u0022}"}
| Response Headers: {'Content-Type': 'application/json', 'Date': 'Mon, 23 Mar 2026 09:08:04 GMT', 'Request-Context': 'appId=cid-v1:1a14ebe8-38cd-4629-ab2d-40684250fa5b', 'Server': 'Kestrel', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'Transfer-Encoding': 'chunked'}
2026-03-23 09:08:05 [crawlers.pipelines.post_to_api] ERROR: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
Traceback (most recent call last):
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:08:05 [scrapy.core.scraper] ERROR: Error processing {'auction_title': '',
'c_o_2_emission_value': 249,
'car_expert_report_source_url': None,
'category': None,
'color': 'Unknown',
'currency': 'EUR',
'doors_number': None,
'emission_standard': None,
'engine': '',
'expiration_date': None,
'fuel_type': 'Diesel',
'id': '73615750-0274-521a-9627-bba15414d9e0',
'is_damaged': False,
'is_operable': True,
'is_vat_deductible': True,
'is_vat_included': True,
'link_to_web_offer': 'https://vpauto.fr/vehicule/2574d9a0f8/renault-master-fourgon-fg-tr-gcf-f3300-l2h2-energy-dc',
'listing': 'auction',
'location': '56 - LORIENT',
'make': 'RENAULT',
'model': 'MASTER FOURGON FG TR GCF F3300 L2H2 ENERGY DC',
'odometer': None,
'odometer_reading_unit': 'km',
'origin_country_code': 'FR',
'original_photo_count': 0,
'price': 7700,
'price_includes_vat': True,
'registration_date': '2021-11-17',
'seats_number': 3,
'seller_name': None,
'title': 'RENAULT MASTER FOURGON FG TR GCF F3300 L2H2 ENERGY DC',
'transmission': 'automatic',
'trim': 'MASTER FOURGON FG TR GCF F3300 L2H2 ENERGY DC',
'year': 2021}
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/twisted/internet/defer.py", line 1078, in _runCallbacks
current.result = callback( # type: ignore[misc]
File "/usr/local/lib/python3.11/dist-packages/scrapy/utils/defer.py", line 340, in f
return deferred_from_coro(coro_f(*coro_args, **coro_kwargs))
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 114, in process_item
raise e
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:08:06 [crawlers.pipelines.post_to_api] ERROR: vpauto.fr, item_id decde3e9-9b80-5324-a0fa-190074008a6e: Failed to post item to https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
| Status Code: 400
| Response Content: {"error":"Command deserialization failed. Check field types \u2014 a null value may have been sent for a non-nullable field.","path":"/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing","requestBody":"{\u0022Color\u0022: \u0022Unknown\u0022, \u0022OriginalPhotoCount\u0022: 0, \u0022SellerName\u0022: null, \u0022PriceIncludesVat\u0022: true, \u0022Title\u0022: \u0022PEUGEOT 208 PureTech 100 S\u0026S EAT8 Allure\u0022, \u0022Price\u0022: {\u0022AmountSmallestUnit\u0022: 770000, \u0022CurrencyCode\u0022: \u0022EUR\u0022}, \u0022Make\u0022: \u0022PEUGEOT\u0022, \u0022Model\u0022: \u0022208 PureTech 100 S\u0026S EAT8 Allure\u0022, \u0022Transmission\u0022: \u0022automatic\u0022, \u0022Engine\u0022: \u0022\u0022, \u0022FuelType\u0022: \u0022Petrol\u0022, \u0022Odometer\u0022: {\u0022Value\u0022: null, \u0022Unit\u0022: 1}, \u0022RegistrationDate\u0022: \u00222021-03-25\u0022, \u0022LinkToWebOffer\u0022: \u0022https://vpauto.fr/vehicule/103a6f9af8/peugeot-208-puretech-100-ss-eat8-allure\u0022, \u0022ExpirationDate\u0022: null, \u0022Location\u0022: \u002256 - LORIENT\u0022, \u0022OriginCountryCode\u0022: \u0022FR\u0022, \u0022Trim\u0022: \u0022208 PureTech 100 S\u0026S EAT8 Allure\u0022, \u0022Year\u0022: 2021, \u0022Listing\u0022: \u0022auction\u0022, \u0022Category\u0022: null, \u0022SeatsNumber\u0022: 5, \u0022DoorsNumber\u0022: 5, \u0022CO2EmissionValue\u0022: 123, \u0022EmissionStandard\u0022: \u0022EURO 6\u0022, \u0022CarExpertReportSourceUrl\u0022: null, \u0022IsVatIncluded\u0022: false, \u0022IsVatDeductible\u0022: false, \u0022Id\u0022: \u0022decde3e9-9b80-5324-a0fa-190074008a6e\u0022}"}
| Response Headers: {'Content-Type': 'application/json', 'Date': 'Mon, 23 Mar 2026 09:08:05 GMT', 'Request-Context': 'appId=cid-v1:1a14ebe8-38cd-4629-ab2d-40684250fa5b', 'Server': 'Kestrel', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'Transfer-Encoding': 'chunked'}
2026-03-23 09:08:06 [crawlers.pipelines.post_to_api] ERROR: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
Traceback (most recent call last):
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:08:06 [scrapy.core.scraper] ERROR: Error processing {'auction_title': '',
'c_o_2_emission_value': 123,
'car_expert_report_source_url': None,
'category': None,
'color': 'Unknown',
'currency': 'EUR',
'doors_number': 5,
'emission_standard': 'EURO 6',
'engine': '',
'expiration_date': None,
'fuel_type': 'Petrol',
'id': 'decde3e9-9b80-5324-a0fa-190074008a6e',
'is_damaged': False,
'is_operable': True,
'is_vat_deductible': False,
'is_vat_included': False,
'link_to_web_offer': 'https://vpauto.fr/vehicule/103a6f9af8/peugeot-208-puretech-100-ss-eat8-allure',
'listing': 'auction',
'location': '56 - LORIENT',
'make': 'PEUGEOT',
'model': '208 PureTech 100 S&S EAT8 Allure',
'odometer': None,
'odometer_reading_unit': 'km',
'origin_country_code': 'FR',
'original_photo_count': 0,
'price': 7700,
'price_includes_vat': True,
'registration_date': '2021-03-25',
'seats_number': 5,
'seller_name': None,
'title': 'PEUGEOT 208 PureTech 100 S&S EAT8 Allure',
'transmission': 'automatic',
'trim': '208 PureTech 100 S&S EAT8 Allure',
'year': 2021}
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/twisted/internet/defer.py", line 1078, in _runCallbacks
current.result = callback( # type: ignore[misc]
File "/usr/local/lib/python3.11/dist-packages/scrapy/utils/defer.py", line 340, in f
return deferred_from_coro(coro_f(*coro_args, **coro_kwargs))
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 114, in process_item
raise e
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:08:07 [crawlers.pipelines.post_to_api] ERROR: vpauto.fr, item_id 324e1f7e-ab9b-5282-9920-221b42554266: Failed to post item to https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
| Status Code: 400
| Response Content: {"error":"Command deserialization failed. Check field types \u2014 a null value may have been sent for a non-nullable field.","path":"/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing","requestBody":"{\u0022Color\u0022: \u0022Unknown\u0022, \u0022OriginalPhotoCount\u0022: 0, \u0022SellerName\u0022: null, \u0022PriceIncludesVat\u0022: true, \u0022Title\u0022: \u0022HYUNDAI I10 INITIA\u0022, \u0022Price\u0022: {\u0022AmountSmallestUnit\u0022: 770000, \u0022CurrencyCode\u0022: \u0022EUR\u0022}, \u0022Make\u0022: \u0022HYUNDAI\u0022, \u0022Model\u0022: \u0022I10 INITIA\u0022, \u0022Transmission\u0022: \u0022automatic\u0022, \u0022Engine\u0022: \u0022\u0022, \u0022FuelType\u0022: \u0022Petrol\u0022, \u0022Odometer\u0022: {\u0022Value\u0022: null, \u0022Unit\u0022: 1}, \u0022RegistrationDate\u0022: \u00222021-06-11\u0022, \u0022LinkToWebOffer\u0022: \u0022https://vpauto.fr/vehicule/99fbd96dbf/hyundai-i10-initia\u0022, \u0022ExpirationDate\u0022: null, \u0022Location\u0022: \u002276 - ROUEN\u0022, \u0022OriginCountryCode\u0022: \u0022FR\u0022, \u0022Trim\u0022: \u0022I10 INITIA\u0022, \u0022Year\u0022: 2021, \u0022Listing\u0022: \u0022auction\u0022, \u0022Category\u0022: null, \u0022SeatsNumber\u0022: 4, \u0022DoorsNumber\u0022: 5, \u0022CO2EmissionValue\u0022: 109, \u0022EmissionStandard\u0022: null, \u0022CarExpertReportSourceUrl\u0022: null, \u0022IsVatIncluded\u0022: false, \u0022IsVatDeductible\u0022: false, \u0022Id\u0022: \u0022324e1f7e-ab9b-5282-9920-221b42554266\u0022}"}
| Response Headers: {'Content-Type': 'application/json', 'Date': 'Mon, 23 Mar 2026 09:08:06 GMT', 'Request-Context': 'appId=cid-v1:1a14ebe8-38cd-4629-ab2d-40684250fa5b', 'Server': 'Kestrel', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'Transfer-Encoding': 'chunked'}
2026-03-23 09:08:07 [crawlers.pipelines.post_to_api] ERROR: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
Traceback (most recent call last):
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:08:07 [scrapy.core.scraper] ERROR: Error processing {'auction_title': '',
'c_o_2_emission_value': 109,
'car_expert_report_source_url': None,
'category': None,
'color': 'Unknown',
'currency': 'EUR',
'doors_number': 5,
'emission_standard': None,
'engine': '',
'expiration_date': None,
'fuel_type': 'Petrol',
'id': '324e1f7e-ab9b-5282-9920-221b42554266',
'is_damaged': False,
'is_operable': True,
'is_vat_deductible': False,
'is_vat_included': False,
'link_to_web_offer': 'https://vpauto.fr/vehicule/99fbd96dbf/hyundai-i10-initia',
'listing': 'auction',
'location': '76 - ROUEN',
'make': 'HYUNDAI',
'model': 'I10 INITIA',
'odometer': None,
'odometer_reading_unit': 'km',
'origin_country_code': 'FR',
'original_photo_count': 0,
'price': 7700,
'price_includes_vat': True,
'registration_date': '2021-06-11',
'seats_number': 4,
'seller_name': None,
'title': 'HYUNDAI I10 INITIA',
'transmission': 'automatic',
'trim': 'I10 INITIA',
'year': 2021}
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/twisted/internet/defer.py", line 1078, in _runCallbacks
current.result = callback( # type: ignore[misc]
File "/usr/local/lib/python3.11/dist-packages/scrapy/utils/defer.py", line 340, in f
return deferred_from_coro(coro_f(*coro_args, **coro_kwargs))
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 114, in process_item
raise e
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:08:07 [crawlers.pipelines.post_to_api] ERROR: vpauto.fr, item_id d89e587b-23a5-5b58-9daa-b0bc8e54f4f6: Failed to post item to https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
| Status Code: 400
| Response Content: {"error":"Command deserialization failed. Check field types \u2014 a null value may have been sent for a non-nullable field.","path":"/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing","requestBody":"{\u0022Color\u0022: \u0022Unknown\u0022, \u0022OriginalPhotoCount\u0022: 0, \u0022SellerName\u0022: null, \u0022PriceIncludesVat\u0022: true, \u0022Title\u0022: \u0022JEEP Compass 1.3 PHEV T4 190 ch AT6 4xe eAWD\u0022, \u0022Price\u0022: {\u0022AmountSmallestUnit\u0022: 770000, \u0022CurrencyCode\u0022: \u0022EUR\u0022}, \u0022Make\u0022: \u0022JEEP\u0022, \u0022Model\u0022: \u0022Compass 1.3 PHEV T4 190 ch AT6 4xe eAWD\u0022, \u0022Transmission\u0022: \u0022automatic\u0022, \u0022Engine\u0022: \u00221.3L\u0022, \u0022FuelType\u0022: \u0022ESS \u002B ELEC HR\u0022, \u0022Odometer\u0022: {\u0022Value\u0022: null, \u0022Unit\u0022: 1}, \u0022RegistrationDate\u0022: \u00222021-12-30\u0022, \u0022LinkToWebOffer\u0022: \u0022https://vpauto.fr/vehicule/86b1344ef8/jeep-compass-13-phev-t4-190-ch-at6-4xe-eawd\u0022, \u0022ExpirationDate\u0022: null, \u0022Location\u0022: \u002256 - LORIENT\u0022, \u0022OriginCountryCode\u0022: \u0022FR\u0022, \u0022Trim\u0022: \u0022Compass 1.3 PHEV T4 190 ch AT6 4xe eAWD\u0022, \u0022Year\u0022: 2021, \u0022Listing\u0022: \u0022auction\u0022, \u0022Category\u0022: null, \u0022SeatsNumber\u0022: 5, \u0022DoorsNumber\u0022: 5, \u0022CO2EmissionValue\u0022: 45, \u0022EmissionStandard\u0022: null, \u0022CarExpertReportSourceUrl\u0022: null, \u0022IsVatIncluded\u0022: true, \u0022IsVatDeductible\u0022: true, \u0022Id\u0022: \u0022d89e587b-23a5-5b58-9daa-b0bc8e54f4f6\u0022}"}
| Response Headers: {'Content-Type': 'application/json', 'Date': 'Mon, 23 Mar 2026 09:08:07 GMT', 'Request-Context': 'appId=cid-v1:1a14ebe8-38cd-4629-ab2d-40684250fa5b', 'Server': 'Kestrel', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'Transfer-Encoding': 'chunked'}
2026-03-23 09:08:07 [crawlers.pipelines.post_to_api] ERROR: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
Traceback (most recent call last):
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:08:07 [scrapy.core.scraper] ERROR: Error processing {'auction_title': '',
'c_o_2_emission_value': 45,
'car_expert_report_source_url': None,
'category': None,
'color': 'Unknown',
'currency': 'EUR',
'doors_number': 5,
'emission_standard': None,
'engine': '1.3L',
'expiration_date': None,
'fuel_type': 'ESS + ELEC HR',
'id': 'd89e587b-23a5-5b58-9daa-b0bc8e54f4f6',
'is_damaged': False,
'is_operable': True,
'is_vat_deductible': True,
'is_vat_included': True,
'link_to_web_offer': 'https://vpauto.fr/vehicule/86b1344ef8/jeep-compass-13-phev-t4-190-ch-at6-4xe-eawd',
'listing': 'auction',
'location': '56 - LORIENT',
'make': 'JEEP',
'model': 'Compass 1.3 PHEV T4 190 ch AT6 4xe eAWD',
'odometer': None,
'odometer_reading_unit': 'km',
'origin_country_code': 'FR',
'original_photo_count': 0,
'price': 7700,
'price_includes_vat': True,
'registration_date': '2021-12-30',
'seats_number': 5,
'seller_name': None,
'title': 'JEEP Compass 1.3 PHEV T4 190 ch AT6 4xe eAWD',
'transmission': 'automatic',
'trim': 'Compass 1.3 PHEV T4 190 ch AT6 4xe eAWD',
'year': 2021}
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/twisted/internet/defer.py", line 1078, in _runCallbacks
current.result = callback( # type: ignore[misc]
File "/usr/local/lib/python3.11/dist-packages/scrapy/utils/defer.py", line 340, in f
return deferred_from_coro(coro_f(*coro_args, **coro_kwargs))
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 114, in process_item
raise e
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:08:08 [crawlers.pipelines.post_to_api] ERROR: vpauto.fr, item_id f9988f68-7907-536b-81a3-c24fdd1332c7: Failed to post item to https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
| Status Code: 400
| Response Content: {"error":"Command deserialization failed. Check field types \u2014 a null value may have been sent for a non-nullable field.","path":"/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing","requestBody":"{\u0022Color\u0022: \u0022Unknown\u0022, \u0022OriginalPhotoCount\u0022: 0, \u0022SellerName\u0022: null, \u0022PriceIncludesVat\u0022: true, \u0022Title\u0022: \u0022RENAULT Grand Scenic TCe 140 FAP\u0022, \u0022Price\u0022: {\u0022AmountSmallestUnit\u0022: 770000, \u0022CurrencyCode\u0022: \u0022EUR\u0022}, \u0022Make\u0022: \u0022RENAULT\u0022, \u0022Model\u0022: \u0022Grand Scenic TCe 140 FAP\u0022, \u0022Transmission\u0022: \u0022automatic\u0022, \u0022Engine\u0022: \u0022\u0022, \u0022FuelType\u0022: \u0022Petrol\u0022, \u0022Odometer\u0022: {\u0022Value\u0022: null, \u0022Unit\u0022: 1}, \u0022RegistrationDate\u0022: \u00222021-05-17\u0022, \u0022LinkToWebOffer\u0022: \u0022https://vpauto.fr/vehicule/7d528af3bf/renault-grand-scenic-tce-140-fap\u0022, \u0022ExpirationDate\u0022: null, \u0022Location\u0022: \u002276 - ROUEN\u0022, \u0022OriginCountryCode\u0022: \u0022FR\u0022, \u0022Trim\u0022: \u0022Grand Scenic TCe 140 FAP\u0022, \u0022Year\u0022: 2021, \u0022Listing\u0022: \u0022auction\u0022, \u0022Category\u0022: null, \u0022SeatsNumber\u0022: 7, \u0022DoorsNumber\u0022: 5, \u0022CO2EmissionValue\u0022: 149, \u0022EmissionStandard\u0022: null, \u0022CarExpertReportSourceUrl\u0022: null, \u0022IsVatIncluded\u0022: true, \u0022IsVatDeductible\u0022: true, \u0022Id\u0022: \u0022f9988f68-7907-536b-81a3-c24fdd1332c7\u0022}"}
| Response Headers: {'Content-Type': 'application/json', 'Date': 'Mon, 23 Mar 2026 09:08:07 GMT', 'Request-Context': 'appId=cid-v1:1a14ebe8-38cd-4629-ab2d-40684250fa5b', 'Server': 'Kestrel', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'Transfer-Encoding': 'chunked'}
2026-03-23 09:08:08 [crawlers.pipelines.post_to_api] ERROR: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
Traceback (most recent call last):
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:08:08 [scrapy.core.scraper] ERROR: Error processing {'auction_title': '',
'c_o_2_emission_value': 149,
'car_expert_report_source_url': None,
'category': None,
'color': 'Unknown',
'currency': 'EUR',
'doors_number': 5,
'emission_standard': None,
'engine': '',
'expiration_date': None,
'fuel_type': 'Petrol',
'id': 'f9988f68-7907-536b-81a3-c24fdd1332c7',
'is_damaged': False,
'is_operable': True,
'is_vat_deductible': True,
'is_vat_included': True,
'link_to_web_offer': 'https://vpauto.fr/vehicule/7d528af3bf/renault-grand-scenic-tce-140-fap',
'listing': 'auction',
'location': '76 - ROUEN',
'make': 'RENAULT',
'model': 'Grand Scenic TCe 140 FAP',
'odometer': None,
'odometer_reading_unit': 'km',
'origin_country_code': 'FR',
'original_photo_count': 0,
'price': 7700,
'price_includes_vat': True,
'registration_date': '2021-05-17',
'seats_number': 7,
'seller_name': None,
'title': 'RENAULT Grand Scenic TCe 140 FAP',
'transmission': 'automatic',
'trim': 'Grand Scenic TCe 140 FAP',
'year': 2021}
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/twisted/internet/defer.py", line 1078, in _runCallbacks
current.result = callback( # type: ignore[misc]
File "/usr/local/lib/python3.11/dist-packages/scrapy/utils/defer.py", line 340, in f
return deferred_from_coro(coro_f(*coro_args, **coro_kwargs))
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 114, in process_item
raise e
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:08:09 [crawlers.pipelines.post_to_api] ERROR: vpauto.fr, item_id 148d1e4e-0100-53bb-b17e-2b5be0f6fbab: Failed to post item to https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
| Status Code: 400
| Response Content: {"error":"Command deserialization failed. Check field types \u2014 a null value may have been sent for a non-nullable field.","path":"/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing","requestBody":"{\u0022Color\u0022: \u0022Unknown\u0022, \u0022OriginalPhotoCount\u0022: 0, \u0022SellerName\u0022: null, \u0022PriceIncludesVat\u0022: true, \u0022Title\u0022: \u0022NISSAN Navara 2.3 dCi 160 King-Cab NConnecta\u0022, \u0022Price\u0022: {\u0022AmountSmallestUnit\u0022: 770000, \u0022CurrencyCode\u0022: \u0022EUR\u0022}, \u0022Make\u0022: \u0022NISSAN\u0022, \u0022Model\u0022: \u0022Navara 2.3 dCi 160 King-Cab NConnecta\u0022, \u0022Transmission\u0022: \u0022automatic\u0022, \u0022Engine\u0022: \u00222.3L\u0022, \u0022FuelType\u0022: \u0022Diesel\u0022, \u0022Odometer\u0022: {\u0022Value\u0022: null, \u0022Unit\u0022: 1}, \u0022RegistrationDate\u0022: \u00222021-06-18\u0022, \u0022LinkToWebOffer\u0022: \u0022https://vpauto.fr/vehicule/f1dadffa5a/nissan-navara-23-dci-160-king-cab-nconnecta\u0022, \u0022ExpirationDate\u0022: null, \u0022Location\u0022: \u002233 - BORDEAUX\u0022, \u0022OriginCountryCode\u0022: \u0022FR\u0022, \u0022Trim\u0022: \u0022Navara 2.3 dCi 160 King-Cab NConnecta\u0022, \u0022Year\u0022: 2021, \u0022Listing\u0022: \u0022auction\u0022, \u0022Category\u0022: null, \u0022SeatsNumber\u0022: 4, \u0022DoorsNumber\u0022: 4, \u0022CO2EmissionValue\u0022: 229, \u0022EmissionStandard\u0022: null, \u0022CarExpertReportSourceUrl\u0022: null, \u0022IsVatIncluded\u0022: true, \u0022IsVatDeductible\u0022: true, \u0022Id\u0022: \u0022148d1e4e-0100-53bb-b17e-2b5be0f6fbab\u0022}"}
| Response Headers: {'Content-Type': 'application/json', 'Date': 'Mon, 23 Mar 2026 09:08:08 GMT', 'Request-Context': 'appId=cid-v1:1a14ebe8-38cd-4629-ab2d-40684250fa5b', 'Server': 'Kestrel', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'Transfer-Encoding': 'chunked'}
2026-03-23 09:08:09 [crawlers.pipelines.post_to_api] ERROR: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
Traceback (most recent call last):
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:08:09 [scrapy.core.scraper] ERROR: Error processing {'auction_title': '',
'c_o_2_emission_value': 229,
'car_expert_report_source_url': None,
'category': None,
'color': 'Unknown',
'currency': 'EUR',
'doors_number': 4,
'emission_standard': None,
'engine': '2.3L',
'expiration_date': None,
'fuel_type': 'Diesel',
'id': '148d1e4e-0100-53bb-b17e-2b5be0f6fbab',
'is_damaged': False,
'is_operable': True,
'is_vat_deductible': True,
'is_vat_included': True,
'link_to_web_offer': 'https://vpauto.fr/vehicule/f1dadffa5a/nissan-navara-23-dci-160-king-cab-nconnecta',
'listing': 'auction',
'location': '33 - BORDEAUX',
'make': 'NISSAN',
'model': 'Navara 2.3 dCi 160 King-Cab NConnecta',
'odometer': None,
'odometer_reading_unit': 'km',
'origin_country_code': 'FR',
'original_photo_count': 0,
'price': 7700,
'price_includes_vat': True,
'registration_date': '2021-06-18',
'seats_number': 4,
'seller_name': None,
'title': 'NISSAN Navara 2.3 dCi 160 King-Cab NConnecta',
'transmission': 'automatic',
'trim': 'Navara 2.3 dCi 160 King-Cab NConnecta',
'year': 2021}
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/twisted/internet/defer.py", line 1078, in _runCallbacks
current.result = callback( # type: ignore[misc]
File "/usr/local/lib/python3.11/dist-packages/scrapy/utils/defer.py", line 340, in f
return deferred_from_coro(coro_f(*coro_args, **coro_kwargs))
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 114, in process_item
raise e
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:08:09 [crawlers.pipelines.post_to_api] ERROR: vpauto.fr, item_id 54473219-7aea-5664-8850-7b8f6b1b39b5: Failed to post item to https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
| Status Code: 400
| Response Content: {"error":"Command deserialization failed. Check field types \u2014 a null value may have been sent for a non-nullable field.","path":"/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing","requestBody":"{\u0022Color\u0022: \u0022Unknown\u0022, \u0022OriginalPhotoCount\u0022: 0, \u0022SellerName\u0022: null, \u0022PriceIncludesVat\u0022: true, \u0022Title\u0022: \u0022AUDI e-tron S e-quattro Sport 503 ch Extended\u0022, \u0022Price\u0022: {\u0022AmountSmallestUnit\u0022: 770000, \u0022CurrencyCode\u0022: \u0022EUR\u0022}, \u0022Make\u0022: \u0022AUDI\u0022, \u0022Model\u0022: \u0022e-tron S e-quattro Sport 503 ch Extended\u0022, \u0022Transmission\u0022: \u0022automatic\u0022, \u0022Engine\u0022: \u0022\u0022, \u0022FuelType\u0022: \u0022Electric\u0022, \u0022Odometer\u0022: {\u0022Value\u0022: null, \u0022Unit\u0022: 1}, \u0022RegistrationDate\u0022: \u00222021-09-29\u0022, \u0022LinkToWebOffer\u0022: \u0022https://vpauto.fr/vehicule/7b463c13f8/audi-e-tron-s-e-quattro-sport-503-ch-extended\u0022, \u0022ExpirationDate\u0022: null, \u0022Location\u0022: \u002256 - LORIENT\u0022, \u0022OriginCountryCode\u0022: \u0022FR\u0022, \u0022Trim\u0022: \u0022e-tron S e-quattro Sport 503 ch Extended\u0022, \u0022Year\u0022: 2021, \u0022Listing\u0022: \u0022auction\u0022, \u0022Category\u0022: null, \u0022SeatsNumber\u0022: 5, \u0022DoorsNumber\u0022: 5, \u0022CO2EmissionValue\u0022: null, \u0022EmissionStandard\u0022: null, \u0022CarExpertReportSourceUrl\u0022: null, \u0022IsVatIncluded\u0022: false, \u0022IsVatDeductible\u0022: false, \u0022Id\u0022: \u002254473219-7aea-5664-8850-7b8f6b1b39b5\u0022}"}
| Response Headers: {'Content-Type': 'application/json', 'Date': 'Mon, 23 Mar 2026 09:08:08 GMT', 'Request-Context': 'appId=cid-v1:1a14ebe8-38cd-4629-ab2d-40684250fa5b', 'Server': 'Kestrel', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'Transfer-Encoding': 'chunked'}
2026-03-23 09:08:09 [crawlers.pipelines.post_to_api] ERROR: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
Traceback (most recent call last):
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:08:09 [scrapy.core.scraper] ERROR: Error processing {'auction_title': '',
'c_o_2_emission_value': None,
'car_expert_report_source_url': None,
'category': None,
'color': 'Unknown',
'currency': 'EUR',
'doors_number': 5,
'emission_standard': None,
'engine': '',
'expiration_date': None,
'fuel_type': 'Electric',
'id': '54473219-7aea-5664-8850-7b8f6b1b39b5',
'is_damaged': False,
'is_operable': True,
'is_vat_deductible': False,
'is_vat_included': False,
'link_to_web_offer': 'https://vpauto.fr/vehicule/7b463c13f8/audi-e-tron-s-e-quattro-sport-503-ch-extended',
'listing': 'auction',
'location': '56 - LORIENT',
'make': 'AUDI',
'model': 'e-tron S e-quattro Sport 503 ch Extended',
'odometer': None,
'odometer_reading_unit': 'km',
'origin_country_code': 'FR',
'original_photo_count': 0,
'price': 7700,
'price_includes_vat': True,
'registration_date': '2021-09-29',
'seats_number': 5,
'seller_name': None,
'title': 'AUDI e-tron S e-quattro Sport 503 ch Extended',
'transmission': 'automatic',
'trim': 'e-tron S e-quattro Sport 503 ch Extended',
'year': 2021}
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/twisted/internet/defer.py", line 1078, in _runCallbacks
current.result = callback( # type: ignore[misc]
File "/usr/local/lib/python3.11/dist-packages/scrapy/utils/defer.py", line 340, in f
return deferred_from_coro(coro_f(*coro_args, **coro_kwargs))
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 114, in process_item
raise e
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:08:11 [vpauto.fr] ERROR: Error parsing ad details: replace() argument 1 must be str, not None
Traceback (most recent call last):
File "/usr/src/app/crawlers/spiders/vpauto.py", line 129, in _after_details_page_opened
model = self._extract_model(response, ad_make)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/app/crawlers/spiders/vpauto.py", line 203, in _extract_model
return response.css(".vehicle-detail h1::text").get().replace(ad_make, "")
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: replace() argument 1 must be str, not None
2026-03-23 09:08:11 [vpauto.fr] ERROR: An error occurred:
Traceback (most recent call last):
File "/usr/src/app/crawlers/spiders/vpauto.py", line 129, in _after_details_page_opened
model = self._extract_model(response, ad_make)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/app/crawlers/spiders/vpauto.py", line 203, in _extract_model
return response.css(".vehicle-detail h1::text").get().replace(ad_make, "")
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: replace() argument 1 must be str, not None
2026-03-23 09:08:12 [crawlers.pipelines.post_to_api] ERROR: vpauto.fr, item_id 947bf831-d12d-5d64-b1c0-3d7220eeedf8: Failed to post item to https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
| Status Code: 400
| Response Content: {"error":"Command deserialization failed. Check field types \u2014 a null value may have been sent for a non-nullable field.","path":"/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing","requestBody":"{\u0022Color\u0022: \u0022Unknown\u0022, \u0022OriginalPhotoCount\u0022: 0, \u0022SellerName\u0022: null, \u0022PriceIncludesVat\u0022: true, \u0022Title\u0022: \u0022PEUGEOT 3008 Hybrid 180 e-EAT8 Allure Pack\u0022, \u0022Price\u0022: {\u0022AmountSmallestUnit\u0022: 770000, \u0022CurrencyCode\u0022: \u0022EUR\u0022}, \u0022Make\u0022: \u0022PEUGEOT\u0022, \u0022Model\u0022: \u00223008 Hybrid 180 e-EAT8 Allure Pack\u0022, \u0022Transmission\u0022: \u0022automatic\u0022, \u0022Engine\u0022: \u0022\u0022, \u0022FuelType\u0022: \u0022ESS \u002B ELEC HR\u0022, \u0022Odometer\u0022: {\u0022Value\u0022: null, \u0022Unit\u0022: 1}, \u0022RegistrationDate\u0022: \u00222021-12-20\u0022, \u0022LinkToWebOffer\u0022: \u0022https://vpauto.fr/vehicule/e3355ad3b1/peugeot-3008-hybrid-180-e-eat8-allure-pack\u0022, \u0022ExpirationDate\u0022: null, \u0022Location\u0022: \u002244 - NANTES\u0022, \u0022OriginCountryCode\u0022: \u0022FR\u0022, \u0022Trim\u0022: \u00223008 Hybrid 180 e-EAT8 Allure Pack\u0022, \u0022Year\u0022: 2021, \u0022Listing\u0022: \u0022auction\u0022, \u0022Category\u0022: null, \u0022SeatsNumber\u0022: 5, \u0022DoorsNumber\u0022: 5, \u0022CO2EmissionValue\u0022: 31, \u0022EmissionStandard\u0022: null, \u0022CarExpertReportSourceUrl\u0022: null, \u0022IsVatIncluded\u0022: false, \u0022IsVatDeductible\u0022: false, \u0022Id\u0022: \u0022947bf831-d12d-5d64-b1c0-3d7220eeedf8\u0022}"}
| Response Headers: {'Content-Type': 'application/json', 'Date': 'Mon, 23 Mar 2026 09:08:11 GMT', 'Request-Context': 'appId=cid-v1:1a14ebe8-38cd-4629-ab2d-40684250fa5b', 'Server': 'Kestrel', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'Transfer-Encoding': 'chunked'}
2026-03-23 09:08:12 [crawlers.pipelines.post_to_api] ERROR: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
Traceback (most recent call last):
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:08:12 [scrapy.core.scraper] ERROR: Error processing {'auction_title': '',
'c_o_2_emission_value': 31,
'car_expert_report_source_url': None,
'category': None,
'color': 'Unknown',
'currency': 'EUR',
'doors_number': 5,
'emission_standard': None,
'engine': '',
'expiration_date': None,
'fuel_type': 'ESS + ELEC HR',
'id': '947bf831-d12d-5d64-b1c0-3d7220eeedf8',
'is_damaged': False,
'is_operable': True,
'is_vat_deductible': False,
'is_vat_included': False,
'link_to_web_offer': 'https://vpauto.fr/vehicule/e3355ad3b1/peugeot-3008-hybrid-180-e-eat8-allure-pack',
'listing': 'auction',
'location': '44 - NANTES',
'make': 'PEUGEOT',
'model': '3008 Hybrid 180 e-EAT8 Allure Pack',
'odometer': None,
'odometer_reading_unit': 'km',
'origin_country_code': 'FR',
'original_photo_count': 0,
'price': 7700,
'price_includes_vat': True,
'registration_date': '2021-12-20',
'seats_number': 5,
'seller_name': None,
'title': 'PEUGEOT 3008 Hybrid 180 e-EAT8 Allure Pack',
'transmission': 'automatic',
'trim': '3008 Hybrid 180 e-EAT8 Allure Pack',
'year': 2021}
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/twisted/internet/defer.py", line 1078, in _runCallbacks
current.result = callback( # type: ignore[misc]
File "/usr/local/lib/python3.11/dist-packages/scrapy/utils/defer.py", line 340, in f
return deferred_from_coro(coro_f(*coro_args, **coro_kwargs))
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 114, in process_item
raise e
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:08:13 [crawlers.pipelines.post_to_api] ERROR: vpauto.fr, item_id 0b68c279-b695-5545-a37c-e183b9c100ee: Failed to post item to https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
| Status Code: 400
| Response Content: {"error":"Command deserialization failed. Check field types \u2014 a null value may have been sent for a non-nullable field.","path":"/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing","requestBody":"{\u0022Color\u0022: \u0022Unknown\u0022, \u0022OriginalPhotoCount\u0022: 0, \u0022SellerName\u0022: null, \u0022PriceIncludesVat\u0022: true, \u0022Title\u0022: \u0022VOLKSWAGEN CADDY\u0022, \u0022Price\u0022: {\u0022AmountSmallestUnit\u0022: 770000, \u0022CurrencyCode\u0022: \u0022EUR\u0022}, \u0022Make\u0022: \u0022VOLKSWAGEN\u0022, \u0022Model\u0022: \u0022CADDY\u0022, \u0022Transmission\u0022: \u0022automatic\u0022, \u0022Engine\u0022: \u0022\u0022, \u0022FuelType\u0022: \u0022Diesel\u0022, \u0022Odometer\u0022: {\u0022Value\u0022: null, \u0022Unit\u0022: 1}, \u0022RegistrationDate\u0022: \u00222021-06-08\u0022, \u0022LinkToWebOffer\u0022: \u0022https://vpauto.fr/vehicule/a0c512a255/volkswagen-caddy\u0022, \u0022ExpirationDate\u0022: null, \u0022Location\u0022: \u002269 - LYON\u0022, \u0022OriginCountryCode\u0022: \u0022FR\u0022, \u0022Trim\u0022: \u0022CADDY\u0022, \u0022Year\u0022: 2021, \u0022Listing\u0022: \u0022auction\u0022, \u0022Category\u0022: null, \u0022SeatsNumber\u0022: 2, \u0022DoorsNumber\u0022: 5, \u0022CO2EmissionValue\u0022: 128, \u0022EmissionStandard\u0022: null, \u0022CarExpertReportSourceUrl\u0022: null, \u0022IsVatIncluded\u0022: false, \u0022IsVatDeductible\u0022: false, \u0022Id\u0022: \u00220b68c279-b695-5545-a37c-e183b9c100ee\u0022}"}
| Response Headers: {'Content-Type': 'application/json', 'Date': 'Mon, 23 Mar 2026 09:08:12 GMT', 'Request-Context': 'appId=cid-v1:1a14ebe8-38cd-4629-ab2d-40684250fa5b', 'Server': 'Kestrel', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'Transfer-Encoding': 'chunked'}
2026-03-23 09:08:13 [crawlers.pipelines.post_to_api] ERROR: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
Traceback (most recent call last):
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:08:13 [scrapy.core.scraper] ERROR: Error processing {'auction_title': '',
'c_o_2_emission_value': 128,
'car_expert_report_source_url': None,
'category': None,
'color': 'Unknown',
'currency': 'EUR',
'doors_number': 5,
'emission_standard': None,
'engine': '',
'expiration_date': None,
'fuel_type': 'Diesel',
'id': '0b68c279-b695-5545-a37c-e183b9c100ee',
'is_damaged': False,
'is_operable': True,
'is_vat_deductible': False,
'is_vat_included': False,
'link_to_web_offer': 'https://vpauto.fr/vehicule/a0c512a255/volkswagen-caddy',
'listing': 'auction',
'location': '69 - LYON',
'make': 'VOLKSWAGEN',
'model': 'CADDY',
'odometer': None,
'odometer_reading_unit': 'km',
'origin_country_code': 'FR',
'original_photo_count': 0,
'price': 7700,
'price_includes_vat': True,
'registration_date': '2021-06-08',
'seats_number': 2,
'seller_name': None,
'title': 'VOLKSWAGEN CADDY',
'transmission': 'automatic',
'trim': 'CADDY',
'year': 2021}
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/twisted/internet/defer.py", line 1078, in _runCallbacks
current.result = callback( # type: ignore[misc]
File "/usr/local/lib/python3.11/dist-packages/scrapy/utils/defer.py", line 340, in f
return deferred_from_coro(coro_f(*coro_args, **coro_kwargs))
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 114, in process_item
raise e
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:08:14 [crawlers.pipelines.post_to_api] ERROR: vpauto.fr, item_id ee8084b6-e9f9-5d19-8947-c580bc48dc5d: Failed to post item to https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
| Status Code: 400
| Response Content: {"error":"Command deserialization failed. Check field types \u2014 a null value may have been sent for a non-nullable field.","path":"/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing","requestBody":"{\u0022Color\u0022: \u0022Unknown\u0022, \u0022OriginalPhotoCount\u0022: 0, \u0022SellerName\u0022: null, \u0022PriceIncludesVat\u0022: true, \u0022Title\u0022: \u0022PEUGEOT 2008 PureTech 100 S\u0026S BVM6\u0022, \u0022Price\u0022: {\u0022AmountSmallestUnit\u0022: 770000, \u0022CurrencyCode\u0022: \u0022EUR\u0022}, \u0022Make\u0022: \u0022PEUGEOT\u0022, \u0022Model\u0022: \u00222008 PureTech 100 S\u0026S BVM6\u0022, \u0022Transmission\u0022: \u0022automatic\u0022, \u0022Engine\u0022: \u0022\u0022, \u0022FuelType\u0022: \u0022Petrol\u0022, \u0022Odometer\u0022: {\u0022Value\u0022: null, \u0022Unit\u0022: 1}, \u0022RegistrationDate\u0022: \u00222021-05-28\u0022, \u0022LinkToWebOffer\u0022: \u0022https://vpauto.fr/vehicule/b7810cdb9e/peugeot-2008-puretech-100-ss-bvm6\u0022, \u0022ExpirationDate\u0022: null, \u0022Location\u0022: \u002294 - PARIS\u0022, \u0022OriginCountryCode\u0022: \u0022FR\u0022, \u0022Trim\u0022: \u00222008 PureTech 100 S\u0026S BVM6\u0022, \u0022Year\u0022: 2021, \u0022Listing\u0022: \u0022auction\u0022, \u0022Category\u0022: null, \u0022SeatsNumber\u0022: 5, \u0022DoorsNumber\u0022: 5, \u0022CO2EmissionValue\u0022: 122, \u0022EmissionStandard\u0022: null, \u0022CarExpertReportSourceUrl\u0022: null, \u0022IsVatIncluded\u0022: true, \u0022IsVatDeductible\u0022: true, \u0022Id\u0022: \u0022ee8084b6-e9f9-5d19-8947-c580bc48dc5d\u0022}"}
| Response Headers: {'Content-Type': 'application/json', 'Date': 'Mon, 23 Mar 2026 09:08:14 GMT', 'Request-Context': 'appId=cid-v1:1a14ebe8-38cd-4629-ab2d-40684250fa5b', 'Server': 'Kestrel', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'Transfer-Encoding': 'chunked'}
2026-03-23 09:08:14 [crawlers.pipelines.post_to_api] ERROR: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
Traceback (most recent call last):
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:08:14 [scrapy.core.scraper] ERROR: Error processing {'auction_title': '',
'c_o_2_emission_value': 122,
'car_expert_report_source_url': None,
'category': None,
'color': 'Unknown',
'currency': 'EUR',
'doors_number': 5,
'emission_standard': None,
'engine': '',
'expiration_date': None,
'fuel_type': 'Petrol',
'id': 'ee8084b6-e9f9-5d19-8947-c580bc48dc5d',
'is_damaged': False,
'is_operable': True,
'is_vat_deductible': True,
'is_vat_included': True,
'link_to_web_offer': 'https://vpauto.fr/vehicule/b7810cdb9e/peugeot-2008-puretech-100-ss-bvm6',
'listing': 'auction',
'location': '94 - PARIS',
'make': 'PEUGEOT',
'model': '2008 PureTech 100 S&S BVM6',
'odometer': None,
'odometer_reading_unit': 'km',
'origin_country_code': 'FR',
'original_photo_count': 0,
'price': 7700,
'price_includes_vat': True,
'registration_date': '2021-05-28',
'seats_number': 5,
'seller_name': None,
'title': 'PEUGEOT 2008 PureTech 100 S&S BVM6',
'transmission': 'automatic',
'trim': '2008 PureTech 100 S&S BVM6',
'year': 2021}
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/twisted/internet/defer.py", line 1078, in _runCallbacks
current.result = callback( # type: ignore[misc]
File "/usr/local/lib/python3.11/dist-packages/scrapy/utils/defer.py", line 340, in f
return deferred_from_coro(coro_f(*coro_args, **coro_kwargs))
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 114, in process_item
raise e
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:08:15 [crawlers.pipelines.post_to_api] ERROR: vpauto.fr, item_id fa1b6c70-2b91-50a6-baff-136b5a8f5e3f: Failed to post item to https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
| Status Code: 400
| Response Content: {"error":"Command deserialization failed. Check field types \u2014 a null value may have been sent for a non-nullable field.","path":"/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing","requestBody":"{\u0022Color\u0022: \u0022Unknown\u0022, \u0022OriginalPhotoCount\u0022: 0, \u0022SellerName\u0022: null, \u0022PriceIncludesVat\u0022: true, \u0022Title\u0022: \u0022LAND ROVER RANGE ROVER EVOQUE 1.5 P300e R-Dynamic S AWD BVA\u0022, \u0022Price\u0022: {\u0022AmountSmallestUnit\u0022: 770000, \u0022CurrencyCode\u0022: \u0022EUR\u0022}, \u0022Make\u0022: \u0022LAND ROVER\u0022, \u0022Model\u0022: \u0022RANGE ROVER EVOQUE 1.5 P300e R-Dynamic S AWD BVA\u0022, \u0022Transmission\u0022: \u0022automatic\u0022, \u0022Engine\u0022: \u00221.5L\u0022, \u0022FuelType\u0022: \u0022ESS \u002B ELEC HR\u0022, \u0022Odometer\u0022: {\u0022Value\u0022: null, \u0022Unit\u0022: 1}, \u0022RegistrationDate\u0022: \u00222021-11-29\u0022, \u0022LinkToWebOffer\u0022: \u0022https://vpauto.fr/vehicule/c163a079f8/land-rover-range-rover-evoque-15-p300e-r-dynamic-s-awd-bva\u0022, \u0022ExpirationDate\u0022: null, \u0022Location\u0022: \u002256 - LORIENT\u0022, \u0022OriginCountryCode\u0022: \u0022FR\u0022, \u0022Trim\u0022: \u0022RANGE ROVER EVOQUE 1.5 P300e R-Dynamic S AWD BVA\u0022, \u0022Year\u0022: 2021, \u0022Listing\u0022: \u0022auction\u0022, \u0022Category\u0022: null, \u0022SeatsNumber\u0022: 5, \u0022DoorsNumber\u0022: 5, \u0022CO2EmissionValue\u0022: 44, \u0022EmissionStandard\u0022: null, \u0022CarExpertReportSourceUrl\u0022: null, \u0022IsVatIncluded\u0022: true, \u0022IsVatDeductible\u0022: true, \u0022Id\u0022: \u0022fa1b6c70-2b91-50a6-baff-136b5a8f5e3f\u0022}"}
| Response Headers: {'Content-Type': 'application/json', 'Date': 'Mon, 23 Mar 2026 09:08:14 GMT', 'Request-Context': 'appId=cid-v1:1a14ebe8-38cd-4629-ab2d-40684250fa5b', 'Server': 'Kestrel', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'Transfer-Encoding': 'chunked'}
2026-03-23 09:08:15 [crawlers.pipelines.post_to_api] ERROR: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
Traceback (most recent call last):
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:08:15 [scrapy.core.scraper] ERROR: Error processing {'auction_title': '',
'c_o_2_emission_value': 44,
'car_expert_report_source_url': None,
'category': None,
'color': 'Unknown',
'currency': 'EUR',
'doors_number': 5,
'emission_standard': None,
'engine': '1.5L',
'expiration_date': None,
'fuel_type': 'ESS + ELEC HR',
'id': 'fa1b6c70-2b91-50a6-baff-136b5a8f5e3f',
'is_damaged': False,
'is_operable': True,
'is_vat_deductible': True,
'is_vat_included': True,
'link_to_web_offer': 'https://vpauto.fr/vehicule/c163a079f8/land-rover-range-rover-evoque-15-p300e-r-dynamic-s-awd-bva',
'listing': 'auction',
'location': '56 - LORIENT',
'make': 'LAND ROVER',
'model': 'RANGE ROVER EVOQUE 1.5 P300e R-Dynamic S AWD BVA',
'odometer': None,
'odometer_reading_unit': 'km',
'origin_country_code': 'FR',
'original_photo_count': 0,
'price': 7700,
'price_includes_vat': True,
'registration_date': '2021-11-29',
'seats_number': 5,
'seller_name': None,
'title': 'LAND ROVER RANGE ROVER EVOQUE 1.5 P300e R-Dynamic S AWD BVA',
'transmission': 'automatic',
'trim': 'RANGE ROVER EVOQUE 1.5 P300e R-Dynamic S AWD BVA',
'year': 2021}
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/twisted/internet/defer.py", line 1078, in _runCallbacks
current.result = callback( # type: ignore[misc]
File "/usr/local/lib/python3.11/dist-packages/scrapy/utils/defer.py", line 340, in f
return deferred_from_coro(coro_f(*coro_args, **coro_kwargs))
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 114, in process_item
raise e
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:08:15 [crawlers.pipelines.post_to_api] ERROR: vpauto.fr, item_id dd9c2a86-68ec-5e1f-b867-ae5d22d826a3: Failed to post item to https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
| Status Code: 400
| Response Content: {"error":"Command deserialization failed. Check field types \u2014 a null value may have been sent for a non-nullable field.","path":"/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing","requestBody":"{\u0022Color\u0022: \u0022Unknown\u0022, \u0022OriginalPhotoCount\u0022: 0, \u0022SellerName\u0022: null, \u0022PriceIncludesVat\u0022: true, \u0022Title\u0022: \u0022DACIA Sandero ECO-G 100 Confort\u0022, \u0022Price\u0022: {\u0022AmountSmallestUnit\u0022: 770000, \u0022CurrencyCode\u0022: \u0022EUR\u0022}, \u0022Make\u0022: \u0022DACIA\u0022, \u0022Model\u0022: \u0022Sandero ECO-G 100 Confort\u0022, \u0022Transmission\u0022: \u0022manual\u0022, \u0022Engine\u0022: \u0022\u0022, \u0022FuelType\u0022: \u0022ESS \u002B LPG\u0022, \u0022Odometer\u0022: {\u0022Value\u0022: null, \u0022Unit\u0022: 1}, \u0022RegistrationDate\u0022: \u00222021-09-13\u0022, \u0022LinkToWebOffer\u0022: \u0022https://vpauto.fr/vehicule/49351a1cf8/dacia-sandero-eco-g-100-confort\u0022, \u0022ExpirationDate\u0022: null, \u0022Location\u0022: \u002256 - LORIENT\u0022, \u0022OriginCountryCode\u0022: \u0022FR\u0022, \u0022Trim\u0022: \u0022Sandero ECO-G 100 Confort\u0022, \u0022Year\u0022: 2021, \u0022Listing\u0022: \u0022auction\u0022, \u0022Category\u0022: null, \u0022SeatsNumber\u0022: 5, \u0022DoorsNumber\u0022: 5, \u0022CO2EmissionValue\u0022: 109, \u0022EmissionStandard\u0022: null, \u0022CarExpertReportSourceUrl\u0022: null, \u0022IsVatIncluded\u0022: false, \u0022IsVatDeductible\u0022: false, \u0022Id\u0022: \u0022dd9c2a86-68ec-5e1f-b867-ae5d22d826a3\u0022}"}
| Response Headers: {'Content-Type': 'application/json', 'Date': 'Mon, 23 Mar 2026 09:08:14 GMT', 'Request-Context': 'appId=cid-v1:1a14ebe8-38cd-4629-ab2d-40684250fa5b', 'Server': 'Kestrel', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'Transfer-Encoding': 'chunked'}
2026-03-23 09:08:15 [crawlers.pipelines.post_to_api] ERROR: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
Traceback (most recent call last):
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:08:15 [scrapy.core.scraper] ERROR: Error processing {'auction_title': '',
'c_o_2_emission_value': 109,
'car_expert_report_source_url': None,
'category': None,
'color': 'Unknown',
'currency': 'EUR',
'doors_number': 5,
'emission_standard': None,
'engine': '',
'expiration_date': None,
'fuel_type': 'ESS + LPG',
'id': 'dd9c2a86-68ec-5e1f-b867-ae5d22d826a3',
'is_damaged': False,
'is_operable': True,
'is_vat_deductible': False,
'is_vat_included': False,
'link_to_web_offer': 'https://vpauto.fr/vehicule/49351a1cf8/dacia-sandero-eco-g-100-confort',
'listing': 'auction',
'location': '56 - LORIENT',
'make': 'DACIA',
'model': 'Sandero ECO-G 100 Confort',
'odometer': None,
'odometer_reading_unit': 'km',
'origin_country_code': 'FR',
'original_photo_count': 0,
'price': 7700,
'price_includes_vat': True,
'registration_date': '2021-09-13',
'seats_number': 5,
'seller_name': None,
'title': 'DACIA Sandero ECO-G 100 Confort',
'transmission': 'manual',
'trim': 'Sandero ECO-G 100 Confort',
'year': 2021}
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/twisted/internet/defer.py", line 1078, in _runCallbacks
current.result = callback( # type: ignore[misc]
File "/usr/local/lib/python3.11/dist-packages/scrapy/utils/defer.py", line 340, in f
return deferred_from_coro(coro_f(*coro_args, **coro_kwargs))
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 114, in process_item
raise e
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:08:15 [crawlers.pipelines.post_to_api] ERROR: vpauto.fr, item_id 3300d5b9-e03d-5ecd-a8ee-dccfa7330426: Failed to post item to https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
| Status Code: 400
| Response Content: {"error":"Command deserialization failed. Check field types \u2014 a null value may have been sent for a non-nullable field.","path":"/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing","requestBody":"{\u0022Color\u0022: \u0022Unknown\u0022, \u0022OriginalPhotoCount\u0022: 0, \u0022SellerName\u0022: null, \u0022PriceIncludesVat\u0022: true, \u0022Title\u0022: \u0022SEAT Ibiza 1.0 EcoTSI 95 ch S/S BVM5\u0022, \u0022Price\u0022: {\u0022AmountSmallestUnit\u0022: 770000, \u0022CurrencyCode\u0022: \u0022EUR\u0022}, \u0022Make\u0022: \u0022SEAT\u0022, \u0022Model\u0022: \u0022Ibiza 1.0 EcoTSI 95 ch S/S BVM5\u0022, \u0022Transmission\u0022: \u0022automatic\u0022, \u0022Engine\u0022: \u00221.0L\u0022, \u0022FuelType\u0022: \u0022Petrol\u0022, \u0022Odometer\u0022: {\u0022Value\u0022: null, \u0022Unit\u0022: 1}, \u0022RegistrationDate\u0022: \u00222021-08-26\u0022, \u0022LinkToWebOffer\u0022: \u0022https://vpauto.fr/vehicule/359242beb1/seat-ibiza-10-ecotsi-95-ch-ss-bvm5\u0022, \u0022ExpirationDate\u0022: null, \u0022Location\u0022: \u002259 - LILLE\u0022, \u0022OriginCountryCode\u0022: \u0022FR\u0022, \u0022Trim\u0022: \u0022Ibiza 1.0 EcoTSI 95 ch S/S BVM5\u0022, \u0022Year\u0022: 2021, \u0022Listing\u0022: \u0022auction\u0022, \u0022Category\u0022: null, \u0022SeatsNumber\u0022: 5, \u0022DoorsNumber\u0022: 5, \u0022CO2EmissionValue\u0022: 117, \u0022EmissionStandard\u0022: null, \u0022CarExpertReportSourceUrl\u0022: null, \u0022IsVatIncluded\u0022: false, \u0022IsVatDeductible\u0022: false, \u0022Id\u0022: \u00223300d5b9-e03d-5ecd-a8ee-dccfa7330426\u0022}"}
| Response Headers: {'Content-Type': 'application/json', 'Date': 'Mon, 23 Mar 2026 09:08:15 GMT', 'Request-Context': 'appId=cid-v1:1a14ebe8-38cd-4629-ab2d-40684250fa5b', 'Server': 'Kestrel', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'Transfer-Encoding': 'chunked'}
2026-03-23 09:08:15 [crawlers.pipelines.post_to_api] ERROR: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
Traceback (most recent call last):
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:08:15 [scrapy.core.scraper] ERROR: Error processing {'auction_title': '',
'c_o_2_emission_value': 117,
'car_expert_report_source_url': None,
'category': None,
'color': 'Unknown',
'currency': 'EUR',
'doors_number': 5,
'emission_standard': None,
'engine': '1.0L',
'expiration_date': None,
'fuel_type': 'Petrol',
'id': '3300d5b9-e03d-5ecd-a8ee-dccfa7330426',
'is_damaged': False,
'is_operable': True,
'is_vat_deductible': False,
'is_vat_included': False,
'link_to_web_offer': 'https://vpauto.fr/vehicule/359242beb1/seat-ibiza-10-ecotsi-95-ch-ss-bvm5',
'listing': 'auction',
'location': '59 - LILLE',
'make': 'SEAT',
'model': 'Ibiza 1.0 EcoTSI 95 ch S/S BVM5',
'odometer': None,
'odometer_reading_unit': 'km',
'origin_country_code': 'FR',
'original_photo_count': 0,
'price': 7700,
'price_includes_vat': True,
'registration_date': '2021-08-26',
'seats_number': 5,
'seller_name': None,
'title': 'SEAT Ibiza 1.0 EcoTSI 95 ch S/S BVM5',
'transmission': 'automatic',
'trim': 'Ibiza 1.0 EcoTSI 95 ch S/S BVM5',
'year': 2021}
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/twisted/internet/defer.py", line 1078, in _runCallbacks
current.result = callback( # type: ignore[misc]
File "/usr/local/lib/python3.11/dist-packages/scrapy/utils/defer.py", line 340, in f
return deferred_from_coro(coro_f(*coro_args, **coro_kwargs))
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 114, in process_item
raise e
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:08:16 [crawlers.pipelines.post_to_api] ERROR: vpauto.fr, item_id bcceadd5-2c65-5483-ae4a-726142e56284: Failed to post item to https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
| Status Code: 400
| Response Content: {"error":"Command deserialization failed. Check field types \u2014 a null value may have been sent for a non-nullable field.","path":"/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing","requestBody":"{\u0022Color\u0022: \u0022Unknown\u0022, \u0022OriginalPhotoCount\u0022: 0, \u0022SellerName\u0022: null, \u0022PriceIncludesVat\u0022: true, \u0022Title\u0022: \u0022PEUGEOT 3008 Hybrid 180 e-EAT8 Allure Pack\u0022, \u0022Price\u0022: {\u0022AmountSmallestUnit\u0022: 770000, \u0022CurrencyCode\u0022: \u0022EUR\u0022}, \u0022Make\u0022: \u0022PEUGEOT\u0022, \u0022Model\u0022: \u00223008 Hybrid 180 e-EAT8 Allure Pack\u0022, \u0022Transmission\u0022: \u0022automatic\u0022, \u0022Engine\u0022: \u0022\u0022, \u0022FuelType\u0022: \u0022ESS \u002B ELEC HR\u0022, \u0022Odometer\u0022: {\u0022Value\u0022: null, \u0022Unit\u0022: 1}, \u0022RegistrationDate\u0022: \u00222021-03-03\u0022, \u0022LinkToWebOffer\u0022: \u0022https://vpauto.fr/vehicule/31755427f8/peugeot-3008-hybrid-180-e-eat8-allure-pack\u0022, \u0022ExpirationDate\u0022: null, \u0022Location\u0022: \u002256 - LORIENT\u0022, \u0022OriginCountryCode\u0022: \u0022FR\u0022, \u0022Trim\u0022: \u00223008 Hybrid 180 e-EAT8 Allure Pack\u0022, \u0022Year\u0022: 2021, \u0022Listing\u0022: \u0022auction\u0022, \u0022Category\u0022: null, \u0022SeatsNumber\u0022: 5, \u0022DoorsNumber\u0022: 5, \u0022CO2EmissionValue\u0022: 31, \u0022EmissionStandard\u0022: null, \u0022CarExpertReportSourceUrl\u0022: null, \u0022IsVatIncluded\u0022: false, \u0022IsVatDeductible\u0022: false, \u0022Id\u0022: \u0022bcceadd5-2c65-5483-ae4a-726142e56284\u0022}"}
| Response Headers: {'Content-Type': 'application/json', 'Date': 'Mon, 23 Mar 2026 09:08:15 GMT', 'Request-Context': 'appId=cid-v1:1a14ebe8-38cd-4629-ab2d-40684250fa5b', 'Server': 'Kestrel', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'Transfer-Encoding': 'chunked'}
2026-03-23 09:08:16 [crawlers.pipelines.post_to_api] ERROR: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
Traceback (most recent call last):
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:08:16 [scrapy.core.scraper] ERROR: Error processing {'auction_title': '',
'c_o_2_emission_value': 31,
'car_expert_report_source_url': None,
'category': None,
'color': 'Unknown',
'currency': 'EUR',
'doors_number': 5,
'emission_standard': None,
'engine': '',
'expiration_date': None,
'fuel_type': 'ESS + ELEC HR',
'id': 'bcceadd5-2c65-5483-ae4a-726142e56284',
'is_damaged': False,
'is_operable': True,
'is_vat_deductible': False,
'is_vat_included': False,
'link_to_web_offer': 'https://vpauto.fr/vehicule/31755427f8/peugeot-3008-hybrid-180-e-eat8-allure-pack',
'listing': 'auction',
'location': '56 - LORIENT',
'make': 'PEUGEOT',
'model': '3008 Hybrid 180 e-EAT8 Allure Pack',
'odometer': None,
'odometer_reading_unit': 'km',
'origin_country_code': 'FR',
'original_photo_count': 0,
'price': 7700,
'price_includes_vat': True,
'registration_date': '2021-03-03',
'seats_number': 5,
'seller_name': None,
'title': 'PEUGEOT 3008 Hybrid 180 e-EAT8 Allure Pack',
'transmission': 'automatic',
'trim': '3008 Hybrid 180 e-EAT8 Allure Pack',
'year': 2021}
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/twisted/internet/defer.py", line 1078, in _runCallbacks
current.result = callback( # type: ignore[misc]
File "/usr/local/lib/python3.11/dist-packages/scrapy/utils/defer.py", line 340, in f
return deferred_from_coro(coro_f(*coro_args, **coro_kwargs))
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 114, in process_item
raise e
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:08:23 [crawlers.pipelines.post_to_api] ERROR: vpauto.fr, item_id ce78e5d8-5365-598d-a224-3cf81f3be152: Failed to post item to https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
| Status Code: 400
| Response Content: {"error":"Command deserialization failed. Check field types \u2014 a null value may have been sent for a non-nullable field.","path":"/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing","requestBody":"{\u0022Color\u0022: \u0022Unknown\u0022, \u0022OriginalPhotoCount\u0022: 0, \u0022SellerName\u0022: null, \u0022PriceIncludesVat\u0022: true, \u0022Title\u0022: \u0022DS DS7 Crossback BlueHDi 130 EAT8\u0022, \u0022Price\u0022: {\u0022AmountSmallestUnit\u0022: 920000, \u0022CurrencyCode\u0022: \u0022EUR\u0022}, \u0022Make\u0022: \u0022DS\u0022, \u0022Model\u0022: \u00227 Crossback BlueHDi 130 EAT8\u0022, \u0022Transmission\u0022: \u0022automatic\u0022, \u0022Engine\u0022: \u0022\u0022, \u0022FuelType\u0022: \u0022Diesel\u0022, \u0022Odometer\u0022: {\u0022Value\u0022: null, \u0022Unit\u0022: 1}, \u0022RegistrationDate\u0022: \u00222020-12-18\u0022, \u0022LinkToWebOffer\u0022: \u0022https://vpauto.fr/vehicule/a1d12ffdb1/ds-ds7-crossback-bluehdi-130-eat8\u0022, \u0022ExpirationDate\u0022: null, \u0022Location\u0022: \u002244 - NANTES\u0022, \u0022OriginCountryCode\u0022: \u0022FR\u0022, \u0022Trim\u0022: \u00227 Crossback BlueHDi 130 EAT8\u0022, \u0022Year\u0022: 2020, \u0022Listing\u0022: \u0022auction\u0022, \u0022Category\u0022: null, \u0022SeatsNumber\u0022: 5, \u0022DoorsNumber\u0022: 5, \u0022CO2EmissionValue\u0022: 146, \u0022EmissionStandard\u0022: null, \u0022CarExpertReportSourceUrl\u0022: null, \u0022IsVatIncluded\u0022: true, \u0022IsVatDeductible\u0022: true, \u0022Id\u0022: \u0022ce78e5d8-5365-598d-a224-3cf81f3be152\u0022}"}
| Response Headers: {'Content-Type': 'application/json', 'Date': 'Mon, 23 Mar 2026 09:08:23 GMT', 'Request-Context': 'appId=cid-v1:1a14ebe8-38cd-4629-ab2d-40684250fa5b', 'Server': 'Kestrel', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'Transfer-Encoding': 'chunked'}
2026-03-23 09:08:23 [crawlers.pipelines.post_to_api] ERROR: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
Traceback (most recent call last):
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:08:23 [scrapy.core.scraper] ERROR: Error processing {'auction_title': '',
'c_o_2_emission_value': 146,
'car_expert_report_source_url': None,
'category': None,
'color': 'Unknown',
'currency': 'EUR',
'doors_number': 5,
'emission_standard': None,
'engine': '',
'expiration_date': None,
'fuel_type': 'Diesel',
'id': 'ce78e5d8-5365-598d-a224-3cf81f3be152',
'is_damaged': False,
'is_operable': True,
'is_vat_deductible': True,
'is_vat_included': True,
'link_to_web_offer': 'https://vpauto.fr/vehicule/a1d12ffdb1/ds-ds7-crossback-bluehdi-130-eat8',
'listing': 'auction',
'location': '44 - NANTES',
'make': 'DS',
'model': '7 Crossback BlueHDi 130 EAT8',
'odometer': None,
'odometer_reading_unit': 'km',
'origin_country_code': 'FR',
'original_photo_count': 0,
'price': 9200,
'price_includes_vat': True,
'registration_date': '2020-12-18',
'seats_number': 5,
'seller_name': None,
'title': 'DS DS7 Crossback BlueHDi 130 EAT8',
'transmission': 'automatic',
'trim': '7 Crossback BlueHDi 130 EAT8',
'year': 2020}
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/twisted/internet/defer.py", line 1078, in _runCallbacks
current.result = callback( # type: ignore[misc]
File "/usr/local/lib/python3.11/dist-packages/scrapy/utils/defer.py", line 340, in f
return deferred_from_coro(coro_f(*coro_args, **coro_kwargs))
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 114, in process_item
raise e
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:08:25 [crawlers.pipelines.post_to_api] ERROR: vpauto.fr, item_id 25c927e3-6a1c-51b9-85c9-ed39fbb06504: Failed to post item to https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
| Status Code: 400
| Response Content: {"error":"Command deserialization failed. Check field types \u2014 a null value may have been sent for a non-nullable field.","path":"/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing","requestBody":"{\u0022Color\u0022: \u0022Unknown\u0022, \u0022OriginalPhotoCount\u0022: 0, \u0022SellerName\u0022: null, \u0022PriceIncludesVat\u0022: true, \u0022Title\u0022: \u0022RENAULT Grand Scenic Blue dCi 120 EDC Intens\u0022, \u0022Price\u0022: {\u0022AmountSmallestUnit\u0022: 920000, \u0022CurrencyCode\u0022: \u0022EUR\u0022}, \u0022Make\u0022: \u0022RENAULT\u0022, \u0022Model\u0022: \u0022Grand Scenic Blue dCi 120 EDC Intens\u0022, \u0022Transmission\u0022: \u0022automatic\u0022, \u0022Engine\u0022: \u0022\u0022, \u0022FuelType\u0022: \u0022Diesel\u0022, \u0022Odometer\u0022: {\u0022Value\u0022: null, \u0022Unit\u0022: 1}, \u0022RegistrationDate\u0022: \u00222020-03-06\u0022, \u0022LinkToWebOffer\u0022: \u0022https://vpauto.fr/vehicule/72b32f17b1/renault-grand-scenic-blue-dci-120-edc-intens\u0022, \u0022ExpirationDate\u0022: null, \u0022Location\u0022: \u002276 - ROUEN\u0022, \u0022OriginCountryCode\u0022: \u0022FR\u0022, \u0022Trim\u0022: \u0022Grand Scenic Blue dCi 120 EDC Intens\u0022, \u0022Year\u0022: 2020, \u0022Listing\u0022: \u0022auction\u0022, \u0022Category\u0022: null, \u0022SeatsNumber\u0022: 7, \u0022DoorsNumber\u0022: 5, \u0022CO2EmissionValue\u0022: 159, \u0022EmissionStandard\u0022: \u0022EURO 6\u0022, \u0022CarExpertReportSourceUrl\u0022: null, \u0022IsVatIncluded\u0022: true, \u0022IsVatDeductible\u0022: true, \u0022Id\u0022: \u002225c927e3-6a1c-51b9-85c9-ed39fbb06504\u0022}"}
| Response Headers: {'Content-Type': 'application/json', 'Date': 'Mon, 23 Mar 2026 09:08:25 GMT', 'Request-Context': 'appId=cid-v1:1a14ebe8-38cd-4629-ab2d-40684250fa5b', 'Server': 'Kestrel', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'Transfer-Encoding': 'chunked'}
2026-03-23 09:08:25 [crawlers.pipelines.post_to_api] ERROR: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
Traceback (most recent call last):
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:08:25 [scrapy.core.scraper] ERROR: Error processing {'auction_title': '',
'c_o_2_emission_value': 159,
'car_expert_report_source_url': None,
'category': None,
'color': 'Unknown',
'currency': 'EUR',
'doors_number': 5,
'emission_standard': 'EURO 6',
'engine': '',
'expiration_date': None,
'fuel_type': 'Diesel',
'id': '25c927e3-6a1c-51b9-85c9-ed39fbb06504',
'is_damaged': False,
'is_operable': True,
'is_vat_deductible': True,
'is_vat_included': True,
'link_to_web_offer': 'https://vpauto.fr/vehicule/72b32f17b1/renault-grand-scenic-blue-dci-120-edc-intens',
'listing': 'auction',
'location': '76 - ROUEN',
'make': 'RENAULT',
'model': 'Grand Scenic Blue dCi 120 EDC Intens',
'odometer': None,
'odometer_reading_unit': 'km',
'origin_country_code': 'FR',
'original_photo_count': 0,
'price': 9200,
'price_includes_vat': True,
'registration_date': '2020-03-06',
'seats_number': 7,
'seller_name': None,
'title': 'RENAULT Grand Scenic Blue dCi 120 EDC Intens',
'transmission': 'automatic',
'trim': 'Grand Scenic Blue dCi 120 EDC Intens',
'year': 2020}
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/twisted/internet/defer.py", line 1078, in _runCallbacks
current.result = callback( # type: ignore[misc]
File "/usr/local/lib/python3.11/dist-packages/scrapy/utils/defer.py", line 340, in f
return deferred_from_coro(coro_f(*coro_args, **coro_kwargs))
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 114, in process_item
raise e
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:08:26 [crawlers.pipelines.post_to_api] ERROR: vpauto.fr, item_id b63ac9be-b919-5e19-884e-a8ef92e23974: Failed to post item to https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
| Status Code: 400
| Response Content: {"error":"Command deserialization failed. Check field types \u2014 a null value may have been sent for a non-nullable field.","path":"/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing","requestBody":"{\u0022Color\u0022: \u0022Unknown\u0022, \u0022OriginalPhotoCount\u0022: 0, \u0022SellerName\u0022: null, \u0022PriceIncludesVat\u0022: true, \u0022Title\u0022: \u0022PEUGEOT 208\u0022, \u0022Price\u0022: {\u0022AmountSmallestUnit\u0022: 920000, \u0022CurrencyCode\u0022: \u0022EUR\u0022}, \u0022Make\u0022: \u0022PEUGEOT\u0022, \u0022Model\u0022: \u0022208\u0022, \u0022Transmission\u0022: \u0022automatic\u0022, \u0022Engine\u0022: \u0022\u0022, \u0022FuelType\u0022: \u0022Petrol\u0022, \u0022Odometer\u0022: {\u0022Value\u0022: null, \u0022Unit\u0022: 1}, \u0022RegistrationDate\u0022: \u00222020-12-29\u0022, \u0022LinkToWebOffer\u0022: \u0022https://vpauto.fr/vehicule/b95a84379e/peugeot-208\u0022, \u0022ExpirationDate\u0022: null, \u0022Location\u0022: \u002294 - PARIS\u0022, \u0022OriginCountryCode\u0022: \u0022FR\u0022, \u0022Trim\u0022: \u0022208\u0022, \u0022Year\u0022: 2020, \u0022Listing\u0022: \u0022auction\u0022, \u0022Category\u0022: null, \u0022SeatsNumber\u0022: 5, \u0022DoorsNumber\u0022: 5, \u0022CO2EmissionValue\u0022: 120, \u0022EmissionStandard\u0022: null, \u0022CarExpertReportSourceUrl\u0022: null, \u0022IsVatIncluded\u0022: true, \u0022IsVatDeductible\u0022: true, \u0022Id\u0022: \u0022b63ac9be-b919-5e19-884e-a8ef92e23974\u0022}"}
| Response Headers: {'Content-Type': 'application/json', 'Date': 'Mon, 23 Mar 2026 09:08:25 GMT', 'Request-Context': 'appId=cid-v1:1a14ebe8-38cd-4629-ab2d-40684250fa5b', 'Server': 'Kestrel', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'Transfer-Encoding': 'chunked'}
2026-03-23 09:08:26 [crawlers.pipelines.post_to_api] ERROR: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
Traceback (most recent call last):
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:08:26 [scrapy.core.scraper] ERROR: Error processing {'auction_title': '',
'c_o_2_emission_value': 120,
'car_expert_report_source_url': None,
'category': None,
'color': 'Unknown',
'currency': 'EUR',
'doors_number': 5,
'emission_standard': None,
'engine': '',
'expiration_date': None,
'fuel_type': 'Petrol',
'id': 'b63ac9be-b919-5e19-884e-a8ef92e23974',
'is_damaged': False,
'is_operable': True,
'is_vat_deductible': True,
'is_vat_included': True,
'link_to_web_offer': 'https://vpauto.fr/vehicule/b95a84379e/peugeot-208',
'listing': 'auction',
'location': '94 - PARIS',
'make': 'PEUGEOT',
'model': '208',
'odometer': None,
'odometer_reading_unit': 'km',
'origin_country_code': 'FR',
'original_photo_count': 0,
'price': 9200,
'price_includes_vat': True,
'registration_date': '2020-12-29',
'seats_number': 5,
'seller_name': None,
'title': 'PEUGEOT 208',
'transmission': 'automatic',
'trim': '208',
'year': 2020}
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/twisted/internet/defer.py", line 1078, in _runCallbacks
current.result = callback( # type: ignore[misc]
File "/usr/local/lib/python3.11/dist-packages/scrapy/utils/defer.py", line 340, in f
return deferred_from_coro(coro_f(*coro_args, **coro_kwargs))
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 114, in process_item
raise e
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:08:29 [crawlers.pipelines.post_to_api] ERROR: vpauto.fr, item_id 4c8bbad3-74d3-5e17-a87e-306733fbb262: Failed to post item to https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
| Status Code: 400
| Response Content: {"error":"Command deserialization failed. Check field types \u2014 a null value may have been sent for a non-nullable field.","path":"/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing","requestBody":"{\u0022Color\u0022: \u0022Unknown\u0022, \u0022OriginalPhotoCount\u0022: 0, \u0022SellerName\u0022: null, \u0022PriceIncludesVat\u0022: true, \u0022Title\u0022: \u0022PEUGEOT 3008 1.5 BlueHDi 130ch S\u0026S BVM6\u0022, \u0022Price\u0022: {\u0022AmountSmallestUnit\u0022: 920000, \u0022CurrencyCode\u0022: \u0022EUR\u0022}, \u0022Make\u0022: \u0022PEUGEOT\u0022, \u0022Model\u0022: \u00223008 1.5 BlueHDi 130ch S\u0026S BVM6\u0022, \u0022Transmission\u0022: \u0022automatic\u0022, \u0022Engine\u0022: \u00221.5L\u0022, \u0022FuelType\u0022: \u0022Diesel\u0022, \u0022Odometer\u0022: {\u0022Value\u0022: null, \u0022Unit\u0022: 1}, \u0022RegistrationDate\u0022: \u00222019-07-18\u0022, \u0022LinkToWebOffer\u0022: \u0022https://vpauto.fr/vehicule/6cb29a43b1/peugeot-3008-15-bluehdi-130ch-ss-bvm6\u0022, \u0022ExpirationDate\u0022: null, \u0022Location\u0022: \u002244 - NANTES\u0022, \u0022OriginCountryCode\u0022: \u0022FR\u0022, \u0022Trim\u0022: \u00223008 1.5 BlueHDi 130ch S\u0026S BVM6\u0022, \u0022Year\u0022: 2019, \u0022Listing\u0022: \u0022auction\u0022, \u0022Category\u0022: null, \u0022SeatsNumber\u0022: 5, \u0022DoorsNumber\u0022: 5, \u0022CO2EmissionValue\u0022: 102, \u0022EmissionStandard\u0022: null, \u0022CarExpertReportSourceUrl\u0022: null, \u0022IsVatIncluded\u0022: true, \u0022IsVatDeductible\u0022: true, \u0022Id\u0022: \u00224c8bbad3-74d3-5e17-a87e-306733fbb262\u0022}"}
| Response Headers: {'Content-Type': 'application/json', 'Date': 'Mon, 23 Mar 2026 09:08:29 GMT', 'Request-Context': 'appId=cid-v1:1a14ebe8-38cd-4629-ab2d-40684250fa5b', 'Server': 'Kestrel', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'Transfer-Encoding': 'chunked'}
2026-03-23 09:08:29 [crawlers.pipelines.post_to_api] ERROR: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
Traceback (most recent call last):
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:08:29 [scrapy.core.scraper] ERROR: Error processing {'auction_title': '',
'c_o_2_emission_value': 102,
'car_expert_report_source_url': None,
'category': None,
'color': 'Unknown',
'currency': 'EUR',
'doors_number': 5,
'emission_standard': None,
'engine': '1.5L',
'expiration_date': None,
'fuel_type': 'Diesel',
'id': '4c8bbad3-74d3-5e17-a87e-306733fbb262',
'is_damaged': False,
'is_operable': True,
'is_vat_deductible': True,
'is_vat_included': True,
'link_to_web_offer': 'https://vpauto.fr/vehicule/6cb29a43b1/peugeot-3008-15-bluehdi-130ch-ss-bvm6',
'listing': 'auction',
'location': '44 - NANTES',
'make': 'PEUGEOT',
'model': '3008 1.5 BlueHDi 130ch S&S BVM6',
'odometer': None,
'odometer_reading_unit': 'km',
'origin_country_code': 'FR',
'original_photo_count': 0,
'price': 9200,
'price_includes_vat': True,
'registration_date': '2019-07-18',
'seats_number': 5,
'seller_name': None,
'title': 'PEUGEOT 3008 1.5 BlueHDi 130ch S&S BVM6',
'transmission': 'automatic',
'trim': '3008 1.5 BlueHDi 130ch S&S BVM6',
'year': 2019}
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/twisted/internet/defer.py", line 1078, in _runCallbacks
current.result = callback( # type: ignore[misc]
File "/usr/local/lib/python3.11/dist-packages/scrapy/utils/defer.py", line 340, in f
return deferred_from_coro(coro_f(*coro_args, **coro_kwargs))
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 114, in process_item
raise e
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:08:32 [crawlers.pipelines.post_to_api] ERROR: vpauto.fr, item_id 91f94f50-9256-5be7-869f-26ac30d5b56d: Failed to post item to https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
| Status Code: 400
| Response Content: {"error":"Command deserialization failed. Check field types \u2014 a null value may have been sent for a non-nullable field.","path":"/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing","requestBody":"{\u0022Color\u0022: \u0022Unknown\u0022, \u0022OriginalPhotoCount\u0022: 0, \u0022SellerName\u0022: null, \u0022PriceIncludesVat\u0022: true, \u0022Title\u0022: \u0022LEXUS UX 250h 2WD\u0022, \u0022Price\u0022: {\u0022AmountSmallestUnit\u0022: 920000, \u0022CurrencyCode\u0022: \u0022EUR\u0022}, \u0022Make\u0022: \u0022LEXUS\u0022, \u0022Model\u0022: \u0022UX 250h 2WD\u0022, \u0022Transmission\u0022: \u0022automatic\u0022, \u0022Engine\u0022: \u0022\u0022, \u0022FuelType\u0022: \u0022Hybrid\u0022, \u0022Odometer\u0022: {\u0022Value\u0022: null, \u0022Unit\u0022: 1}, \u0022RegistrationDate\u0022: \u00222019-12-26\u0022, \u0022LinkToWebOffer\u0022: \u0022https://vpauto.fr/vehicule/48d2f8a0b1/lexus-ux-250h-2wd\u0022, \u0022ExpirationDate\u0022: null, \u0022Location\u0022: \u002244 - NANTES\u0022, \u0022OriginCountryCode\u0022: \u0022FR\u0022, \u0022Trim\u0022: \u0022UX 250h 2WD\u0022, \u0022Year\u0022: 2019, \u0022Listing\u0022: \u0022auction\u0022, \u0022Category\u0022: null, \u0022SeatsNumber\u0022: 5, \u0022DoorsNumber\u0022: 5, \u0022CO2EmissionValue\u0022: 94, \u0022EmissionStandard\u0022: null, \u0022CarExpertReportSourceUrl\u0022: null, \u0022IsVatIncluded\u0022: true, \u0022IsVatDeductible\u0022: true, \u0022Id\u0022: \u002291f94f50-9256-5be7-869f-26ac30d5b56d\u0022}"}
| Response Headers: {'Content-Type': 'application/json', 'Date': 'Mon, 23 Mar 2026 09:08:32 GMT', 'Request-Context': 'appId=cid-v1:1a14ebe8-38cd-4629-ab2d-40684250fa5b', 'Server': 'Kestrel', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'Transfer-Encoding': 'chunked'}
2026-03-23 09:08:32 [crawlers.pipelines.post_to_api] ERROR: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
Traceback (most recent call last):
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:08:32 [scrapy.core.scraper] ERROR: Error processing {'auction_title': '',
'c_o_2_emission_value': 94,
'car_expert_report_source_url': None,
'category': None,
'color': 'Unknown',
'currency': 'EUR',
'doors_number': 5,
'emission_standard': None,
'engine': '',
'expiration_date': None,
'fuel_type': 'Hybrid',
'id': '91f94f50-9256-5be7-869f-26ac30d5b56d',
'is_damaged': False,
'is_operable': True,
'is_vat_deductible': True,
'is_vat_included': True,
'link_to_web_offer': 'https://vpauto.fr/vehicule/48d2f8a0b1/lexus-ux-250h-2wd',
'listing': 'auction',
'location': '44 - NANTES',
'make': 'LEXUS',
'model': 'UX 250h 2WD',
'odometer': None,
'odometer_reading_unit': 'km',
'origin_country_code': 'FR',
'original_photo_count': 0,
'price': 9200,
'price_includes_vat': True,
'registration_date': '2019-12-26',
'seats_number': 5,
'seller_name': None,
'title': 'LEXUS UX 250h 2WD',
'transmission': 'automatic',
'trim': 'UX 250h 2WD',
'year': 2019}
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/twisted/internet/defer.py", line 1078, in _runCallbacks
current.result = callback( # type: ignore[misc]
File "/usr/local/lib/python3.11/dist-packages/scrapy/utils/defer.py", line 340, in f
return deferred_from_coro(coro_f(*coro_args, **coro_kwargs))
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 114, in process_item
raise e
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:08:35 [crawlers.pipelines.post_to_api] ERROR: vpauto.fr, item_id 4135b780-1681-5fd1-8e18-8299798cc4b2: Failed to post item to https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
| Status Code: 400
| Response Content: {"error":"Command deserialization failed. Check field types \u2014 a null value may have been sent for a non-nullable field.","path":"/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing","requestBody":"{\u0022Color\u0022: \u0022Unknown\u0022, \u0022OriginalPhotoCount\u0022: 0, \u0022SellerName\u0022: null, \u0022PriceIncludesVat\u0022: true, \u0022Title\u0022: \u0022RENAULT Clio TCe 90 Intens\u0022, \u0022Price\u0022: {\u0022AmountSmallestUnit\u0022: 920000, \u0022CurrencyCode\u0022: \u0022EUR\u0022}, \u0022Make\u0022: \u0022RENAULT\u0022, \u0022Model\u0022: \u0022Clio TCe 90 Intens\u0022, \u0022Transmission\u0022: \u0022manual\u0022, \u0022Engine\u0022: \u0022\u0022, \u0022FuelType\u0022: \u0022Petrol\u0022, \u0022Odometer\u0022: {\u0022Value\u0022: null, \u0022Unit\u0022: 1}, \u0022RegistrationDate\u0022: \u00222018-10-10\u0022, \u0022LinkToWebOffer\u0022: \u0022https://vpauto.fr/vehicule/dc80df84bf/renault-clio-tce-90-intens\u0022, \u0022ExpirationDate\u0022: null, \u0022Location\u0022: \u002276 - ROUEN\u0022, \u0022OriginCountryCode\u0022: \u0022FR\u0022, \u0022Trim\u0022: \u0022Clio TCe 90 Intens\u0022, \u0022Year\u0022: 2018, \u0022Listing\u0022: \u0022auction\u0022, \u0022Category\u0022: null, \u0022SeatsNumber\u0022: 5, \u0022DoorsNumber\u0022: 5, \u0022CO2EmissionValue\u0022: 113, \u0022EmissionStandard\u0022: null, \u0022CarExpertReportSourceUrl\u0022: null, \u0022IsVatIncluded\u0022: true, \u0022IsVatDeductible\u0022: true, \u0022Id\u0022: \u00224135b780-1681-5fd1-8e18-8299798cc4b2\u0022}"}
| Response Headers: {'Content-Type': 'application/json', 'Date': 'Mon, 23 Mar 2026 09:08:34 GMT', 'Request-Context': 'appId=cid-v1:1a14ebe8-38cd-4629-ab2d-40684250fa5b', 'Server': 'Kestrel', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'Transfer-Encoding': 'chunked'}
2026-03-23 09:08:35 [crawlers.pipelines.post_to_api] ERROR: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
Traceback (most recent call last):
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:08:35 [scrapy.core.scraper] ERROR: Error processing {'auction_title': '',
'c_o_2_emission_value': 113,
'car_expert_report_source_url': None,
'category': None,
'color': 'Unknown',
'currency': 'EUR',
'doors_number': 5,
'emission_standard': None,
'engine': '',
'expiration_date': None,
'fuel_type': 'Petrol',
'id': '4135b780-1681-5fd1-8e18-8299798cc4b2',
'is_damaged': False,
'is_operable': True,
'is_vat_deductible': True,
'is_vat_included': True,
'link_to_web_offer': 'https://vpauto.fr/vehicule/dc80df84bf/renault-clio-tce-90-intens',
'listing': 'auction',
'location': '76 - ROUEN',
'make': 'RENAULT',
'model': 'Clio TCe 90 Intens',
'odometer': None,
'odometer_reading_unit': 'km',
'origin_country_code': 'FR',
'original_photo_count': 0,
'price': 9200,
'price_includes_vat': True,
'registration_date': '2018-10-10',
'seats_number': 5,
'seller_name': None,
'title': 'RENAULT Clio TCe 90 Intens',
'transmission': 'manual',
'trim': 'Clio TCe 90 Intens',
'year': 2018}
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/twisted/internet/defer.py", line 1078, in _runCallbacks
current.result = callback( # type: ignore[misc]
File "/usr/local/lib/python3.11/dist-packages/scrapy/utils/defer.py", line 340, in f
return deferred_from_coro(coro_f(*coro_args, **coro_kwargs))
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 114, in process_item
raise e
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:08:37 [crawlers.pipelines.post_to_api] ERROR: vpauto.fr, item_id 313b1c59-ba22-5433-9053-8226b31b7180: Failed to post item to https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
| Status Code: 400
| Response Content: {"error":"Command deserialization failed. Check field types \u2014 a null value may have been sent for a non-nullable field.","path":"/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing","requestBody":"{\u0022Color\u0022: \u0022Unknown\u0022, \u0022OriginalPhotoCount\u0022: 0, \u0022SellerName\u0022: null, \u0022PriceIncludesVat\u0022: true, \u0022Title\u0022: \u0022NISSAN Qashqai 1.6 dCi 130 Tekna\u0022, \u0022Price\u0022: {\u0022AmountSmallestUnit\u0022: 920000, \u0022CurrencyCode\u0022: \u0022EUR\u0022}, \u0022Make\u0022: \u0022NISSAN\u0022, \u0022Model\u0022: \u0022Qashqai 1.6 dCi 130 Tekna\u0022, \u0022Transmission\u0022: \u0022manual\u0022, \u0022Engine\u0022: \u00221.6L\u0022, \u0022FuelType\u0022: \u0022Diesel\u0022, \u0022Odometer\u0022: {\u0022Value\u0022: null, \u0022Unit\u0022: 1}, \u0022RegistrationDate\u0022: \u00222017-07-03\u0022, \u0022LinkToWebOffer\u0022: \u0022https://vpauto.fr/vehicule/9af1c7b5bf/nissan-qashqai-16-dci-130-tekna\u0022, \u0022ExpirationDate\u0022: null, \u0022Location\u0022: \u002276 - ROUEN\u0022, \u0022OriginCountryCode\u0022: \u0022FR\u0022, \u0022Trim\u0022: \u0022Qashqai 1.6 dCi 130 Tekna\u0022, \u0022Year\u0022: 2017, \u0022Listing\u0022: \u0022auction\u0022, \u0022Category\u0022: null, \u0022SeatsNumber\u0022: 5, \u0022DoorsNumber\u0022: 5, \u0022CO2EmissionValue\u0022: 120, \u0022EmissionStandard\u0022: null, \u0022CarExpertReportSourceUrl\u0022: null, \u0022IsVatIncluded\u0022: true, \u0022IsVatDeductible\u0022: true, \u0022Id\u0022: \u0022313b1c59-ba22-5433-9053-8226b31b7180\u0022}"}
| Response Headers: {'Content-Type': 'application/json', 'Date': 'Mon, 23 Mar 2026 09:08:37 GMT', 'Request-Context': 'appId=cid-v1:1a14ebe8-38cd-4629-ab2d-40684250fa5b', 'Server': 'Kestrel', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'Transfer-Encoding': 'chunked'}
2026-03-23 09:08:37 [crawlers.pipelines.post_to_api] ERROR: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
Traceback (most recent call last):
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:08:37 [scrapy.core.scraper] ERROR: Error processing {'auction_title': '',
'c_o_2_emission_value': 120,
'car_expert_report_source_url': None,
'category': None,
'color': 'Unknown',
'currency': 'EUR',
'doors_number': 5,
'emission_standard': None,
'engine': '1.6L',
'expiration_date': None,
'fuel_type': 'Diesel',
'id': '313b1c59-ba22-5433-9053-8226b31b7180',
'is_damaged': False,
'is_operable': True,
'is_vat_deductible': True,
'is_vat_included': True,
'link_to_web_offer': 'https://vpauto.fr/vehicule/9af1c7b5bf/nissan-qashqai-16-dci-130-tekna',
'listing': 'auction',
'location': '76 - ROUEN',
'make': 'NISSAN',
'model': 'Qashqai 1.6 dCi 130 Tekna',
'odometer': None,
'odometer_reading_unit': 'km',
'origin_country_code': 'FR',
'original_photo_count': 0,
'price': 9200,
'price_includes_vat': True,
'registration_date': '2017-07-03',
'seats_number': 5,
'seller_name': None,
'title': 'NISSAN Qashqai 1.6 dCi 130 Tekna',
'transmission': 'manual',
'trim': 'Qashqai 1.6 dCi 130 Tekna',
'year': 2017}
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/twisted/internet/defer.py", line 1078, in _runCallbacks
current.result = callback( # type: ignore[misc]
File "/usr/local/lib/python3.11/dist-packages/scrapy/utils/defer.py", line 340, in f
return deferred_from_coro(coro_f(*coro_args, **coro_kwargs))
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 114, in process_item
raise e
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:08:39 [crawlers.pipelines.post_to_api] ERROR: vpauto.fr, item_id f84d22b0-c10a-5d99-8241-b9d0b646b547: Failed to post item to https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
| Status Code: 400
| Response Content: {"error":"Command deserialization failed. Check field types \u2014 a null value may have been sent for a non-nullable field.","path":"/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing","requestBody":"{\u0022Color\u0022: \u0022Unknown\u0022, \u0022OriginalPhotoCount\u0022: 0, \u0022SellerName\u0022: null, \u0022PriceIncludesVat\u0022: true, \u0022Title\u0022: \u0022NISSAN Juke DIG-T 114 Acenta\u0022, \u0022Price\u0022: {\u0022AmountSmallestUnit\u0022: 770000, \u0022CurrencyCode\u0022: \u0022EUR\u0022}, \u0022Make\u0022: \u0022NISSAN\u0022, \u0022Model\u0022: \u0022Juke DIG-T 114 Acenta\u0022, \u0022Transmission\u0022: \u0022manual\u0022, \u0022Engine\u0022: \u0022\u0022, \u0022FuelType\u0022: \u0022Petrol\u0022, \u0022Odometer\u0022: {\u0022Value\u0022: null, \u0022Unit\u0022: 1}, \u0022RegistrationDate\u0022: \u00222021-10-06\u0022, \u0022LinkToWebOffer\u0022: \u0022https://vpauto.fr/vehicule/e730ecf1bf/nissan-juke-dig-t-114-acenta\u0022, \u0022ExpirationDate\u0022: null, \u0022Location\u0022: \u002276 - ROUEN\u0022, \u0022OriginCountryCode\u0022: \u0022FR\u0022, \u0022Trim\u0022: \u0022Juke DIG-T 114 Acenta\u0022, \u0022Year\u0022: 2021, \u0022Listing\u0022: \u0022auction\u0022, \u0022Category\u0022: null, \u0022SeatsNumber\u0022: 5, \u0022DoorsNumber\u0022: 5, \u0022CO2EmissionValue\u0022: 135, \u0022EmissionStandard\u0022: null, \u0022CarExpertReportSourceUrl\u0022: null, \u0022IsVatIncluded\u0022: true, \u0022IsVatDeductible\u0022: true, \u0022Id\u0022: \u0022f84d22b0-c10a-5d99-8241-b9d0b646b547\u0022}"}
| Response Headers: {'Content-Type': 'application/json', 'Date': 'Mon, 23 Mar 2026 09:08:38 GMT', 'Request-Context': 'appId=cid-v1:1a14ebe8-38cd-4629-ab2d-40684250fa5b', 'Server': 'Kestrel', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'Transfer-Encoding': 'chunked'}
2026-03-23 09:08:39 [crawlers.pipelines.post_to_api] ERROR: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
Traceback (most recent call last):
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:08:39 [scrapy.core.scraper] ERROR: Error processing {'auction_title': '',
'c_o_2_emission_value': 135,
'car_expert_report_source_url': None,
'category': None,
'color': 'Unknown',
'currency': 'EUR',
'doors_number': 5,
'emission_standard': None,
'engine': '',
'expiration_date': None,
'fuel_type': 'Petrol',
'id': 'f84d22b0-c10a-5d99-8241-b9d0b646b547',
'is_damaged': False,
'is_operable': True,
'is_vat_deductible': True,
'is_vat_included': True,
'link_to_web_offer': 'https://vpauto.fr/vehicule/e730ecf1bf/nissan-juke-dig-t-114-acenta',
'listing': 'auction',
'location': '76 - ROUEN',
'make': 'NISSAN',
'model': 'Juke DIG-T 114 Acenta',
'odometer': None,
'odometer_reading_unit': 'km',
'origin_country_code': 'FR',
'original_photo_count': 0,
'price': 7700,
'price_includes_vat': True,
'registration_date': '2021-10-06',
'seats_number': 5,
'seller_name': None,
'title': 'NISSAN Juke DIG-T 114 Acenta',
'transmission': 'manual',
'trim': 'Juke DIG-T 114 Acenta',
'year': 2021}
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/twisted/internet/defer.py", line 1078, in _runCallbacks
current.result = callback( # type: ignore[misc]
File "/usr/local/lib/python3.11/dist-packages/scrapy/utils/defer.py", line 340, in f
return deferred_from_coro(coro_f(*coro_args, **coro_kwargs))
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 114, in process_item
raise e
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:08:50 [crawlers.pipelines.post_to_api] ERROR: vpauto.fr, item_id e0bae9a4-ae93-5663-96b8-0d003d420eba: Failed to post item to https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
| Status Code: 400
| Response Content: {"error":"Command deserialization failed. Check field types \u2014 a null value may have been sent for a non-nullable field.","path":"/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing","requestBody":"{\u0022Color\u0022: \u0022Unknown\u0022, \u0022OriginalPhotoCount\u0022: 0, \u0022SellerName\u0022: null, \u0022PriceIncludesVat\u0022: true, \u0022Title\u0022: \u0022SEAT Ateca 1.6 TDI 115 ch Start/Stop Ecomotive Style\u0022, \u0022Price\u0022: {\u0022AmountSmallestUnit\u0022: 920000, \u0022CurrencyCode\u0022: \u0022EUR\u0022}, \u0022Make\u0022: \u0022SEAT\u0022, \u0022Model\u0022: \u0022Ateca 1.6 TDI 115 ch Start/Stop Ecomotive Style\u0022, \u0022Transmission\u0022: \u0022manual\u0022, \u0022Engine\u0022: \u00221.6L\u0022, \u0022FuelType\u0022: \u0022Diesel\u0022, \u0022Odometer\u0022: {\u0022Value\u0022: null, \u0022Unit\u0022: 1}, \u0022RegistrationDate\u0022: \u00222018-04-27\u0022, \u0022LinkToWebOffer\u0022: \u0022https://vpauto.fr/vehicule/343a0a1ab1/seat-ateca-16-tdi-115-ch-startstop-ecomotive-style\u0022, \u0022ExpirationDate\u0022: null, \u0022Location\u0022: \u002244 - NANTES\u0022, \u0022OriginCountryCode\u0022: \u0022FR\u0022, \u0022Trim\u0022: \u0022Ateca 1.6 TDI 115 ch Start/Stop Ecomotive Style\u0022, \u0022Year\u0022: 2018, \u0022Listing\u0022: \u0022auction\u0022, \u0022Category\u0022: null, \u0022SeatsNumber\u0022: 5, \u0022DoorsNumber\u0022: 5, \u0022CO2EmissionValue\u0022: 118, \u0022EmissionStandard\u0022: \u0022EURO 6\u0022, \u0022CarExpertReportSourceUrl\u0022: null, \u0022IsVatIncluded\u0022: true, \u0022IsVatDeductible\u0022: true, \u0022Id\u0022: \u0022e0bae9a4-ae93-5663-96b8-0d003d420eba\u0022}"}
| Response Headers: {'Content-Type': 'application/json', 'Date': 'Mon, 23 Mar 2026 09:08:49 GMT', 'Request-Context': 'appId=cid-v1:1a14ebe8-38cd-4629-ab2d-40684250fa5b', 'Server': 'Kestrel', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'Transfer-Encoding': 'chunked'}
2026-03-23 09:08:50 [crawlers.pipelines.post_to_api] ERROR: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
Traceback (most recent call last):
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:08:50 [scrapy.core.scraper] ERROR: Error processing {'auction_title': '',
'c_o_2_emission_value': 118,
'car_expert_report_source_url': None,
'category': None,
'color': 'Unknown',
'currency': 'EUR',
'doors_number': 5,
'emission_standard': 'EURO 6',
'engine': '1.6L',
'expiration_date': None,
'fuel_type': 'Diesel',
'id': 'e0bae9a4-ae93-5663-96b8-0d003d420eba',
'is_damaged': False,
'is_operable': True,
'is_vat_deductible': True,
'is_vat_included': True,
'link_to_web_offer': 'https://vpauto.fr/vehicule/343a0a1ab1/seat-ateca-16-tdi-115-ch-startstop-ecomotive-style',
'listing': 'auction',
'location': '44 - NANTES',
'make': 'SEAT',
'model': 'Ateca 1.6 TDI 115 ch Start/Stop Ecomotive Style',
'odometer': None,
'odometer_reading_unit': 'km',
'origin_country_code': 'FR',
'original_photo_count': 0,
'price': 9200,
'price_includes_vat': True,
'registration_date': '2018-04-27',
'seats_number': 5,
'seller_name': None,
'title': 'SEAT Ateca 1.6 TDI 115 ch Start/Stop Ecomotive Style',
'transmission': 'manual',
'trim': 'Ateca 1.6 TDI 115 ch Start/Stop Ecomotive Style',
'year': 2018}
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/twisted/internet/defer.py", line 1078, in _runCallbacks
current.result = callback( # type: ignore[misc]
File "/usr/local/lib/python3.11/dist-packages/scrapy/utils/defer.py", line 340, in f
return deferred_from_coro(coro_f(*coro_args, **coro_kwargs))
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 114, in process_item
raise e
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:08:54 [crawlers.pipelines.post_to_api] ERROR: vpauto.fr, item_id a09188f1-4d04-595d-9657-2e30da0d0d79: Failed to post item to https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
| Status Code: 400
| Response Content: {"error":"Command deserialization failed. Check field types \u2014 a null value may have been sent for a non-nullable field.","path":"/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing","requestBody":"{\u0022Color\u0022: \u0022Unknown\u0022, \u0022OriginalPhotoCount\u0022: 0, \u0022SellerName\u0022: null, \u0022PriceIncludesVat\u0022: true, \u0022Title\u0022: \u0022RENAULT Clio dCi 90\u0022, \u0022Price\u0022: {\u0022AmountSmallestUnit\u0022: 920000, \u0022CurrencyCode\u0022: \u0022EUR\u0022}, \u0022Make\u0022: \u0022RENAULT\u0022, \u0022Model\u0022: \u0022Clio dCi 90\u0022, \u0022Transmission\u0022: \u0022automatic\u0022, \u0022Engine\u0022: \u0022\u0022, \u0022FuelType\u0022: \u0022Diesel\u0022, \u0022Odometer\u0022: {\u0022Value\u0022: null, \u0022Unit\u0022: 1}, \u0022RegistrationDate\u0022: \u00222019-06-20\u0022, \u0022LinkToWebOffer\u0022: \u0022https://vpauto.fr/vehicule/2ee449eab1/renault-clio-dci-90\u0022, \u0022ExpirationDate\u0022: null, \u0022Location\u0022: \u002294 - PARIS\u0022, \u0022OriginCountryCode\u0022: \u0022FR\u0022, \u0022Trim\u0022: \u0022Clio dCi 90\u0022, \u0022Year\u0022: 2019, \u0022Listing\u0022: \u0022auction\u0022, \u0022Category\u0022: null, \u0022SeatsNumber\u0022: 5, \u0022DoorsNumber\u0022: 5, \u0022CO2EmissionValue\u0022: 104, \u0022EmissionStandard\u0022: null, \u0022CarExpertReportSourceUrl\u0022: null, \u0022IsVatIncluded\u0022: true, \u0022IsVatDeductible\u0022: true, \u0022Id\u0022: \u0022a09188f1-4d04-595d-9657-2e30da0d0d79\u0022}"}
| Response Headers: {'Content-Type': 'application/json', 'Date': 'Mon, 23 Mar 2026 09:08:53 GMT', 'Request-Context': 'appId=cid-v1:1a14ebe8-38cd-4629-ab2d-40684250fa5b', 'Server': 'Kestrel', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'Transfer-Encoding': 'chunked'}
2026-03-23 09:08:54 [crawlers.pipelines.post_to_api] ERROR: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
Traceback (most recent call last):
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:08:54 [scrapy.core.scraper] ERROR: Error processing {'auction_title': '',
'c_o_2_emission_value': 104,
'car_expert_report_source_url': None,
'category': None,
'color': 'Unknown',
'currency': 'EUR',
'doors_number': 5,
'emission_standard': None,
'engine': '',
'expiration_date': None,
'fuel_type': 'Diesel',
'id': 'a09188f1-4d04-595d-9657-2e30da0d0d79',
'is_damaged': False,
'is_operable': True,
'is_vat_deductible': True,
'is_vat_included': True,
'link_to_web_offer': 'https://vpauto.fr/vehicule/2ee449eab1/renault-clio-dci-90',
'listing': 'auction',
'location': '94 - PARIS',
'make': 'RENAULT',
'model': 'Clio dCi 90',
'odometer': None,
'odometer_reading_unit': 'km',
'origin_country_code': 'FR',
'original_photo_count': 0,
'price': 9200,
'price_includes_vat': True,
'registration_date': '2019-06-20',
'seats_number': 5,
'seller_name': None,
'title': 'RENAULT Clio dCi 90',
'transmission': 'automatic',
'trim': 'Clio dCi 90',
'year': 2019}
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/twisted/internet/defer.py", line 1078, in _runCallbacks
current.result = callback( # type: ignore[misc]
File "/usr/local/lib/python3.11/dist-packages/scrapy/utils/defer.py", line 340, in f
return deferred_from_coro(coro_f(*coro_args, **coro_kwargs))
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 114, in process_item
raise e
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:08:58 [crawlers.pipelines.post_to_api] ERROR: vpauto.fr, item_id d7f05149-2c92-5c3a-bd03-00bcdef1569e: Failed to post item to https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
| Status Code: 400
| Response Content: {"error":"Command deserialization failed. Check field types \u2014 a null value may have been sent for a non-nullable field.","path":"/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing","requestBody":"{\u0022Color\u0022: \u0022Unknown\u0022, \u0022OriginalPhotoCount\u0022: 0, \u0022SellerName\u0022: null, \u0022PriceIncludesVat\u0022: true, \u0022Title\u0022: \u0022RENAULT MEGANE ESTATE TECHNO BLUE DCI 115 EDC\u0022, \u0022Price\u0022: {\u0022AmountSmallestUnit\u0022: 600000, \u0022CurrencyCode\u0022: \u0022EUR\u0022}, \u0022Make\u0022: \u0022RENAULT\u0022, \u0022Model\u0022: \u0022MEGANE ESTATE TECHNO BLUE DCI 115 EDC\u0022, \u0022Transmission\u0022: \u0022automatic\u0022, \u0022Engine\u0022: \u0022\u0022, \u0022FuelType\u0022: \u0022Diesel\u0022, \u0022Odometer\u0022: {\u0022Value\u0022: null, \u0022Unit\u0022: 1}, \u0022RegistrationDate\u0022: \u00222022-10-28\u0022, \u0022LinkToWebOffer\u0022: \u0022https://vpauto.fr/vehicule/46a6d718bf/renault-megane-estate-techno-blue-dci-115-edc\u0022, \u0022ExpirationDate\u0022: null, \u0022Location\u0022: \u002276 - ROUEN\u0022, \u0022OriginCountryCode\u0022: \u0022FR\u0022, \u0022Trim\u0022: \u0022MEGANE ESTATE TECHNO BLUE DCI 115 EDC\u0022, \u0022Year\u0022: 2022, \u0022Listing\u0022: \u0022auction\u0022, \u0022Category\u0022: null, \u0022SeatsNumber\u0022: 2, \u0022DoorsNumber\u0022: 5, \u0022CO2EmissionValue\u0022: 123, \u0022EmissionStandard\u0022: null, \u0022CarExpertReportSourceUrl\u0022: null, \u0022IsVatIncluded\u0022: true, \u0022IsVatDeductible\u0022: true, \u0022Id\u0022: \u0022d7f05149-2c92-5c3a-bd03-00bcdef1569e\u0022}"}
| Response Headers: {'Content-Type': 'application/json', 'Date': 'Mon, 23 Mar 2026 09:08:58 GMT', 'Request-Context': 'appId=cid-v1:1a14ebe8-38cd-4629-ab2d-40684250fa5b', 'Server': 'Kestrel', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'Transfer-Encoding': 'chunked'}
2026-03-23 09:08:58 [crawlers.pipelines.post_to_api] ERROR: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
Traceback (most recent call last):
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:08:58 [scrapy.core.scraper] ERROR: Error processing {'auction_title': '',
'c_o_2_emission_value': 123,
'car_expert_report_source_url': None,
'category': None,
'color': 'Unknown',
'currency': 'EUR',
'doors_number': 5,
'emission_standard': None,
'engine': '',
'expiration_date': None,
'fuel_type': 'Diesel',
'id': 'd7f05149-2c92-5c3a-bd03-00bcdef1569e',
'is_damaged': False,
'is_operable': True,
'is_vat_deductible': True,
'is_vat_included': True,
'link_to_web_offer': 'https://vpauto.fr/vehicule/46a6d718bf/renault-megane-estate-techno-blue-dci-115-edc',
'listing': 'auction',
'location': '76 - ROUEN',
'make': 'RENAULT',
'model': 'MEGANE ESTATE TECHNO BLUE DCI 115 EDC',
'odometer': None,
'odometer_reading_unit': 'km',
'origin_country_code': 'FR',
'original_photo_count': 0,
'price': 6000,
'price_includes_vat': True,
'registration_date': '2022-10-28',
'seats_number': 2,
'seller_name': None,
'title': 'RENAULT MEGANE ESTATE TECHNO BLUE DCI 115 EDC',
'transmission': 'automatic',
'trim': 'MEGANE ESTATE TECHNO BLUE DCI 115 EDC',
'year': 2022}
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/twisted/internet/defer.py", line 1078, in _runCallbacks
current.result = callback( # type: ignore[misc]
File "/usr/local/lib/python3.11/dist-packages/scrapy/utils/defer.py", line 340, in f
return deferred_from_coro(coro_f(*coro_args, **coro_kwargs))
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 114, in process_item
raise e
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:08:59 [crawlers.pipelines.post_to_api] ERROR: vpauto.fr, item_id dd07efa0-4168-519b-87a2-751b32b419ca: Failed to post item to https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
| Status Code: 400
| Response Content: {"error":"Command deserialization failed. Check field types \u2014 a null value may have been sent for a non-nullable field.","path":"/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing","requestBody":"{\u0022Color\u0022: \u0022Unknown\u0022, \u0022OriginalPhotoCount\u0022: 0, \u0022SellerName\u0022: null, \u0022PriceIncludesVat\u0022: true, \u0022Title\u0022: \u0022YAMAHA YAMAHA TRACER 700\u0022, \u0022Price\u0022: {\u0022AmountSmallestUnit\u0022: 600000, \u0022CurrencyCode\u0022: \u0022EUR\u0022}, \u0022Make\u0022: \u0022YAMAHA\u0022, \u0022Model\u0022: \u0022TRACER 700\u0022, \u0022Transmission\u0022: \u0022automatic\u0022, \u0022Engine\u0022: \u0022\u0022, \u0022FuelType\u0022: \u0022Petrol\u0022, \u0022Odometer\u0022: {\u0022Value\u0022: null, \u0022Unit\u0022: 1}, \u0022RegistrationDate\u0022: \u00222022-12-21\u0022, \u0022LinkToWebOffer\u0022: \u0022https://vpauto.fr/vehicule/c5bf2867b1/yamaha-yamaha-tracer-700\u0022, \u0022ExpirationDate\u0022: null, \u0022Location\u0022: \u002276 - ROUEN\u0022, \u0022OriginCountryCode\u0022: \u0022FR\u0022, \u0022Trim\u0022: \u0022TRACER 700\u0022, \u0022Year\u0022: 2022, \u0022Listing\u0022: \u0022auction\u0022, \u0022Category\u0022: null, \u0022SeatsNumber\u0022: 2, \u0022DoorsNumber\u0022: null, \u0022CO2EmissionValue\u0022: 100, \u0022EmissionStandard\u0022: \u0022EURO 5\u0022, \u0022CarExpertReportSourceUrl\u0022: null, \u0022IsVatIncluded\u0022: false, \u0022IsVatDeductible\u0022: false, \u0022Id\u0022: \u0022dd07efa0-4168-519b-87a2-751b32b419ca\u0022}"}
| Response Headers: {'Content-Type': 'application/json', 'Date': 'Mon, 23 Mar 2026 09:08:58 GMT', 'Request-Context': 'appId=cid-v1:1a14ebe8-38cd-4629-ab2d-40684250fa5b', 'Server': 'Kestrel', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'Transfer-Encoding': 'chunked'}
2026-03-23 09:08:59 [crawlers.pipelines.post_to_api] ERROR: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
Traceback (most recent call last):
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:08:59 [scrapy.core.scraper] ERROR: Error processing {'auction_title': '',
'c_o_2_emission_value': 100,
'car_expert_report_source_url': None,
'category': None,
'color': 'Unknown',
'currency': 'EUR',
'doors_number': None,
'emission_standard': 'EURO 5',
'engine': '',
'expiration_date': None,
'fuel_type': 'Petrol',
'id': 'dd07efa0-4168-519b-87a2-751b32b419ca',
'is_damaged': False,
'is_operable': True,
'is_vat_deductible': False,
'is_vat_included': False,
'link_to_web_offer': 'https://vpauto.fr/vehicule/c5bf2867b1/yamaha-yamaha-tracer-700',
'listing': 'auction',
'location': '76 - ROUEN',
'make': 'YAMAHA',
'model': 'TRACER 700',
'odometer': None,
'odometer_reading_unit': 'km',
'origin_country_code': 'FR',
'original_photo_count': 0,
'price': 6000,
'price_includes_vat': True,
'registration_date': '2022-12-21',
'seats_number': 2,
'seller_name': None,
'title': 'YAMAHA YAMAHA TRACER 700',
'transmission': 'automatic',
'trim': 'TRACER 700',
'year': 2022}
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/twisted/internet/defer.py", line 1078, in _runCallbacks
current.result = callback( # type: ignore[misc]
File "/usr/local/lib/python3.11/dist-packages/scrapy/utils/defer.py", line 340, in f
return deferred_from_coro(coro_f(*coro_args, **coro_kwargs))
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 114, in process_item
raise e
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:08:59 [crawlers.pipelines.post_to_api] ERROR: vpauto.fr, item_id dd898dc5-0847-5293-ba0d-bef1280a2713: Failed to post item to https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
| Status Code: 400
| Response Content: {"error":"Command deserialization failed. Check field types \u2014 a null value may have been sent for a non-nullable field.","path":"/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing","requestBody":"{\u0022Color\u0022: \u0022Unknown\u0022, \u0022OriginalPhotoCount\u0022: 0, \u0022SellerName\u0022: null, \u0022PriceIncludesVat\u0022: true, \u0022Title\u0022: \u0022HARLEY-DAVIDSON HARLEY-DAVIDSON\u0022, \u0022Price\u0022: {\u0022AmountSmallestUnit\u0022: 600000, \u0022CurrencyCode\u0022: \u0022EUR\u0022}, \u0022Make\u0022: \u0022HARLEY-DAVIDSON\u0022, \u0022Model\u0022: \u0022\u0022, \u0022Transmission\u0022: \u0022automatic\u0022, \u0022Engine\u0022: \u0022\u0022, \u0022FuelType\u0022: \u0022Petrol\u0022, \u0022Odometer\u0022: {\u0022Value\u0022: null, \u0022Unit\u0022: 1}, \u0022RegistrationDate\u0022: \u00222023-07-19\u0022, \u0022LinkToWebOffer\u0022: \u0022https://vpauto.fr/vehicule/e04bf84fbf/harley-davidson-harley-davidson\u0022, \u0022ExpirationDate\u0022: null, \u0022Location\u0022: \u002276 - ROUEN\u0022, \u0022OriginCountryCode\u0022: \u0022FR\u0022, \u0022Trim\u0022: \u0022\u0022, \u0022Year\u0022: 2023, \u0022Listing\u0022: \u0022auction\u0022, \u0022Category\u0022: null, \u0022SeatsNumber\u0022: 2, \u0022DoorsNumber\u0022: null, \u0022CO2EmissionValue\u0022: 144, \u0022EmissionStandard\u0022: null, \u0022CarExpertReportSourceUrl\u0022: null, \u0022IsVatIncluded\u0022: false, \u0022IsVatDeductible\u0022: false, \u0022Id\u0022: \u0022dd898dc5-0847-5293-ba0d-bef1280a2713\u0022}"}
| Response Headers: {'Content-Type': 'application/json', 'Date': 'Mon, 23 Mar 2026 09:08:59 GMT', 'Request-Context': 'appId=cid-v1:1a14ebe8-38cd-4629-ab2d-40684250fa5b', 'Server': 'Kestrel', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'Transfer-Encoding': 'chunked'}
2026-03-23 09:08:59 [crawlers.pipelines.post_to_api] ERROR: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
Traceback (most recent call last):
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:08:59 [scrapy.core.scraper] ERROR: Error processing {'auction_title': '',
'c_o_2_emission_value': 144,
'car_expert_report_source_url': None,
'category': None,
'color': 'Unknown',
'currency': 'EUR',
'doors_number': None,
'emission_standard': None,
'engine': '',
'expiration_date': None,
'fuel_type': 'Petrol',
'id': 'dd898dc5-0847-5293-ba0d-bef1280a2713',
'is_damaged': False,
'is_operable': True,
'is_vat_deductible': False,
'is_vat_included': False,
'link_to_web_offer': 'https://vpauto.fr/vehicule/e04bf84fbf/harley-davidson-harley-davidson',
'listing': 'auction',
'location': '76 - ROUEN',
'make': 'HARLEY-DAVIDSON',
'model': '',
'odometer': None,
'odometer_reading_unit': 'km',
'origin_country_code': 'FR',
'original_photo_count': 0,
'price': 6000,
'price_includes_vat': True,
'registration_date': '2023-07-19',
'seats_number': 2,
'seller_name': None,
'title': 'HARLEY-DAVIDSON HARLEY-DAVIDSON',
'transmission': 'automatic',
'trim': '',
'year': 2023}
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/twisted/internet/defer.py", line 1078, in _runCallbacks
current.result = callback( # type: ignore[misc]
File "/usr/local/lib/python3.11/dist-packages/scrapy/utils/defer.py", line 340, in f
return deferred_from_coro(coro_f(*coro_args, **coro_kwargs))
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 114, in process_item
raise e
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:09:00 [crawlers.pipelines.post_to_api] ERROR: vpauto.fr, item_id 6fc0437b-328d-56c1-adf1-544eb3033d68: Failed to post item to https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
| Status Code: 400
| Response Content: {"error":"Command deserialization failed. Check field types \u2014 a null value may have been sent for a non-nullable field.","path":"/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing","requestBody":"{\u0022Color\u0022: \u0022Unknown\u0022, \u0022OriginalPhotoCount\u0022: 0, \u0022SellerName\u0022: null, \u0022PriceIncludesVat\u0022: true, \u0022Title\u0022: \u0022HARLEY DAVIDSON XL 1200 C\u0022, \u0022Price\u0022: {\u0022AmountSmallestUnit\u0022: 600000, \u0022CurrencyCode\u0022: \u0022EUR\u0022}, \u0022Make\u0022: \u0022HARLEY DAVIDSON\u0022, \u0022Model\u0022: \u0022XL 1200 C\u0022, \u0022Transmission\u0022: \u0022automatic\u0022, \u0022Engine\u0022: \u0022\u0022, \u0022FuelType\u0022: \u0022Petrol\u0022, \u0022Odometer\u0022: {\u0022Value\u0022: null, \u0022Unit\u0022: 1}, \u0022RegistrationDate\u0022: \u00222018-09-21\u0022, \u0022LinkToWebOffer\u0022: \u0022https://vpauto.fr/vehicule/33708d00bf/harley-davidson-xl-1200-c\u0022, \u0022ExpirationDate\u0022: null, \u0022Location\u0022: \u002276 - ROUEN\u0022, \u0022OriginCountryCode\u0022: \u0022FR\u0022, \u0022Trim\u0022: \u0022XL 1200 C\u0022, \u0022Year\u0022: 2018, \u0022Listing\u0022: \u0022auction\u0022, \u0022Category\u0022: null, \u0022SeatsNumber\u0022: 2, \u0022DoorsNumber\u0022: null, \u0022CO2EmissionValue\u0022: 120, \u0022EmissionStandard\u0022: \u0022EURO 4\u0022, \u0022CarExpertReportSourceUrl\u0022: null, \u0022IsVatIncluded\u0022: false, \u0022IsVatDeductible\u0022: false, \u0022Id\u0022: \u00226fc0437b-328d-56c1-adf1-544eb3033d68\u0022}"}
| Response Headers: {'Content-Type': 'application/json', 'Date': 'Mon, 23 Mar 2026 09:09:00 GMT', 'Request-Context': 'appId=cid-v1:1a14ebe8-38cd-4629-ab2d-40684250fa5b', 'Server': 'Kestrel', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'Transfer-Encoding': 'chunked'}
2026-03-23 09:09:00 [crawlers.pipelines.post_to_api] ERROR: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
Traceback (most recent call last):
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:09:00 [scrapy.core.scraper] ERROR: Error processing {'auction_title': '',
'c_o_2_emission_value': 120,
'car_expert_report_source_url': None,
'category': None,
'color': 'Unknown',
'currency': 'EUR',
'doors_number': None,
'emission_standard': 'EURO 4',
'engine': '',
'expiration_date': None,
'fuel_type': 'Petrol',
'id': '6fc0437b-328d-56c1-adf1-544eb3033d68',
'is_damaged': False,
'is_operable': True,
'is_vat_deductible': False,
'is_vat_included': False,
'link_to_web_offer': 'https://vpauto.fr/vehicule/33708d00bf/harley-davidson-xl-1200-c',
'listing': 'auction',
'location': '76 - ROUEN',
'make': 'HARLEY DAVIDSON',
'model': 'XL 1200 C',
'odometer': None,
'odometer_reading_unit': 'km',
'origin_country_code': 'FR',
'original_photo_count': 0,
'price': 6000,
'price_includes_vat': True,
'registration_date': '2018-09-21',
'seats_number': 2,
'seller_name': None,
'title': 'HARLEY DAVIDSON XL 1200 C',
'transmission': 'automatic',
'trim': 'XL 1200 C',
'year': 2018}
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/twisted/internet/defer.py", line 1078, in _runCallbacks
current.result = callback( # type: ignore[misc]
File "/usr/local/lib/python3.11/dist-packages/scrapy/utils/defer.py", line 340, in f
return deferred_from_coro(coro_f(*coro_args, **coro_kwargs))
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 114, in process_item
raise e
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:09:01 [crawlers.pipelines.post_to_api] ERROR: vpauto.fr, item_id 2296fe79-f032-59b7-9f24-fa05669fb987: Failed to post item to https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
| Status Code: 400
| Response Content: {"error":"Command deserialization failed. Check field types \u2014 a null value may have been sent for a non-nullable field.","path":"/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing","requestBody":"{\u0022Color\u0022: \u0022Unknown\u0022, \u0022OriginalPhotoCount\u0022: 0, \u0022SellerName\u0022: null, \u0022PriceIncludesVat\u0022: true, \u0022Title\u0022: \u0022KAWASAKI KAWASAKI Versys 1000 SE 2021\u0022, \u0022Price\u0022: {\u0022AmountSmallestUnit\u0022: 600000, \u0022CurrencyCode\u0022: \u0022EUR\u0022}, \u0022Make\u0022: \u0022KAWASAKI\u0022, \u0022Model\u0022: \u0022Versys 1000 SE 2021\u0022, \u0022Transmission\u0022: \u0022automatic\u0022, \u0022Engine\u0022: \u0022\u0022, \u0022FuelType\u0022: \u0022Petrol\u0022, \u0022Odometer\u0022: {\u0022Value\u0022: null, \u0022Unit\u0022: 1}, \u0022RegistrationDate\u0022: \u00222023-01-09\u0022, \u0022LinkToWebOffer\u0022: \u0022https://vpauto.fr/vehicule/2fdb636bf/kawasaki-kawasaki-versys-1000-se-2021\u0022, \u0022ExpirationDate\u0022: null, \u0022Location\u0022: \u002276 - ROUEN\u0022, \u0022OriginCountryCode\u0022: \u0022FR\u0022, \u0022Trim\u0022: \u0022Versys 1000 SE 2021\u0022, \u0022Year\u0022: 2023, \u0022Listing\u0022: \u0022auction\u0022, \u0022Category\u0022: null, \u0022SeatsNumber\u0022: 2, \u0022DoorsNumber\u0022: null, \u0022CO2EmissionValue\u0022: 128, \u0022EmissionStandard\u0022: null, \u0022CarExpertReportSourceUrl\u0022: null, \u0022IsVatIncluded\u0022: true, \u0022IsVatDeductible\u0022: true, \u0022Id\u0022: \u00222296fe79-f032-59b7-9f24-fa05669fb987\u0022}"}
| Response Headers: {'Content-Type': 'application/json', 'Date': 'Mon, 23 Mar 2026 09:09:00 GMT', 'Request-Context': 'appId=cid-v1:1a14ebe8-38cd-4629-ab2d-40684250fa5b', 'Server': 'Kestrel', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'Transfer-Encoding': 'chunked'}
2026-03-23 09:09:01 [crawlers.pipelines.post_to_api] ERROR: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
Traceback (most recent call last):
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:09:01 [scrapy.core.scraper] ERROR: Error processing {'auction_title': '',
'c_o_2_emission_value': 128,
'car_expert_report_source_url': None,
'category': None,
'color': 'Unknown',
'currency': 'EUR',
'doors_number': None,
'emission_standard': None,
'engine': '',
'expiration_date': None,
'fuel_type': 'Petrol',
'id': '2296fe79-f032-59b7-9f24-fa05669fb987',
'is_damaged': False,
'is_operable': True,
'is_vat_deductible': True,
'is_vat_included': True,
'link_to_web_offer': 'https://vpauto.fr/vehicule/2fdb636bf/kawasaki-kawasaki-versys-1000-se-2021',
'listing': 'auction',
'location': '76 - ROUEN',
'make': 'KAWASAKI',
'model': 'Versys 1000 SE 2021',
'odometer': None,
'odometer_reading_unit': 'km',
'origin_country_code': 'FR',
'original_photo_count': 0,
'price': 6000,
'price_includes_vat': True,
'registration_date': '2023-01-09',
'seats_number': 2,
'seller_name': None,
'title': 'KAWASAKI KAWASAKI Versys 1000 SE 2021',
'transmission': 'automatic',
'trim': 'Versys 1000 SE 2021',
'year': 2023}
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/twisted/internet/defer.py", line 1078, in _runCallbacks
current.result = callback( # type: ignore[misc]
File "/usr/local/lib/python3.11/dist-packages/scrapy/utils/defer.py", line 340, in f
return deferred_from_coro(coro_f(*coro_args, **coro_kwargs))
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 114, in process_item
raise e
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:09:01 [crawlers.pipelines.post_to_api] ERROR: vpauto.fr, item_id c7e28a16-82a7-552e-9e1f-f78d817b27a0: Failed to post item to https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
| Status Code: 400
| Response Content: {"error":"Command deserialization failed. Check field types \u2014 a null value may have been sent for a non-nullable field.","path":"/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing","requestBody":"{\u0022Color\u0022: \u0022Unknown\u0022, \u0022OriginalPhotoCount\u0022: 0, \u0022SellerName\u0022: null, \u0022PriceIncludesVat\u0022: true, \u0022Title\u0022: \u0022YAMAHA YAMAHA YZ\u0022, \u0022Price\u0022: {\u0022AmountSmallestUnit\u0022: 600000, \u0022CurrencyCode\u0022: \u0022EUR\u0022}, \u0022Make\u0022: \u0022YAMAHA\u0022, \u0022Model\u0022: \u0022YZ\u0022, \u0022Transmission\u0022: \u0022automatic\u0022, \u0022Engine\u0022: \u0022\u0022, \u0022FuelType\u0022: \u0022Petrol\u0022, \u0022Odometer\u0022: {\u0022Value\u0022: null, \u0022Unit\u0022: 1}, \u0022RegistrationDate\u0022: \u00222024-05-16\u0022, \u0022LinkToWebOffer\u0022: \u0022https://vpauto.fr/vehicule/454abd0cbf/yamaha-yamaha-yz\u0022, \u0022ExpirationDate\u0022: null, \u0022Location\u0022: \u002276 - ROUEN\u0022, \u0022OriginCountryCode\u0022: \u0022FR\u0022, \u0022Trim\u0022: \u0022YZ\u0022, \u0022Year\u0022: 2024, \u0022Listing\u0022: \u0022auction\u0022, \u0022Category\u0022: null, \u0022SeatsNumber\u0022: 2, \u0022DoorsNumber\u0022: null, \u0022CO2EmissionValue\u0022: 48, \u0022EmissionStandard\u0022: \u0022EURO 5\u0022, \u0022CarExpertReportSourceUrl\u0022: null, \u0022IsVatIncluded\u0022: false, \u0022IsVatDeductible\u0022: false, \u0022Id\u0022: \u0022c7e28a16-82a7-552e-9e1f-f78d817b27a0\u0022}"}
| Response Headers: {'Content-Type': 'application/json', 'Date': 'Mon, 23 Mar 2026 09:09:01 GMT', 'Request-Context': 'appId=cid-v1:1a14ebe8-38cd-4629-ab2d-40684250fa5b', 'Server': 'Kestrel', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'Transfer-Encoding': 'chunked'}
2026-03-23 09:09:01 [crawlers.pipelines.post_to_api] ERROR: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
Traceback (most recent call last):
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:09:01 [scrapy.core.scraper] ERROR: Error processing {'auction_title': '',
'c_o_2_emission_value': 48,
'car_expert_report_source_url': None,
'category': None,
'color': 'Unknown',
'currency': 'EUR',
'doors_number': None,
'emission_standard': 'EURO 5',
'engine': '',
'expiration_date': None,
'fuel_type': 'Petrol',
'id': 'c7e28a16-82a7-552e-9e1f-f78d817b27a0',
'is_damaged': False,
'is_operable': True,
'is_vat_deductible': False,
'is_vat_included': False,
'link_to_web_offer': 'https://vpauto.fr/vehicule/454abd0cbf/yamaha-yamaha-yz',
'listing': 'auction',
'location': '76 - ROUEN',
'make': 'YAMAHA',
'model': 'YZ',
'odometer': None,
'odometer_reading_unit': 'km',
'origin_country_code': 'FR',
'original_photo_count': 0,
'price': 6000,
'price_includes_vat': True,
'registration_date': '2024-05-16',
'seats_number': 2,
'seller_name': None,
'title': 'YAMAHA YAMAHA YZ',
'transmission': 'automatic',
'trim': 'YZ',
'year': 2024}
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/twisted/internet/defer.py", line 1078, in _runCallbacks
current.result = callback( # type: ignore[misc]
File "/usr/local/lib/python3.11/dist-packages/scrapy/utils/defer.py", line 340, in f
return deferred_from_coro(coro_f(*coro_args, **coro_kwargs))
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 114, in process_item
raise e
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:09:16 [crawlers.pipelines.post_to_api] ERROR: vpauto.fr, item_id f0dbb206-c1cd-51e7-a76b-b3443cdb979d: Failed to post item to https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
| Status Code: 400
| Response Content: {"error":"Command deserialization failed. Check field types \u2014 a null value may have been sent for a non-nullable field.","path":"/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing","requestBody":"{\u0022Color\u0022: \u0022Unknown\u0022, \u0022OriginalPhotoCount\u0022: 0, \u0022SellerName\u0022: null, \u0022PriceIncludesVat\u0022: true, \u0022Title\u0022: \u0022MAZDA MX-30 e-Skyactiv 145 ch MX-30\u0022, \u0022Price\u0022: {\u0022AmountSmallestUnit\u0022: 770000, \u0022CurrencyCode\u0022: \u0022EUR\u0022}, \u0022Make\u0022: \u0022MAZDA\u0022, \u0022Model\u0022: \u0022MX-30 e-Skyactiv 145 ch MX-30\u0022, \u0022Transmission\u0022: \u0022automatic\u0022, \u0022Engine\u0022: \u0022\u0022, \u0022FuelType\u0022: \u0022Electric\u0022, \u0022Odometer\u0022: {\u0022Value\u0022: null, \u0022Unit\u0022: 1}, \u0022RegistrationDate\u0022: \u00222022-01-14\u0022, \u0022LinkToWebOffer\u0022: \u0022https://vpauto.fr/vehicule/aba4c8f9f8/mazda-mx-30-e-skyactiv-145-ch-mx-30\u0022, \u0022ExpirationDate\u0022: null, \u0022Location\u0022: \u002256 - LORIENT\u0022, \u0022OriginCountryCode\u0022: \u0022FR\u0022, \u0022Trim\u0022: \u0022MX-30 e-Skyactiv 145 ch MX-30\u0022, \u0022Year\u0022: 2022, \u0022Listing\u0022: \u0022auction\u0022, \u0022Category\u0022: null, \u0022SeatsNumber\u0022: 5, \u0022DoorsNumber\u0022: 5, \u0022CO2EmissionValue\u0022: null, \u0022EmissionStandard\u0022: null, \u0022CarExpertReportSourceUrl\u0022: null, \u0022IsVatIncluded\u0022: true, \u0022IsVatDeductible\u0022: true, \u0022Id\u0022: \u0022f0dbb206-c1cd-51e7-a76b-b3443cdb979d\u0022}"}
| Response Headers: {'Content-Type': 'application/json', 'Date': 'Mon, 23 Mar 2026 09:09:15 GMT', 'Request-Context': 'appId=cid-v1:1a14ebe8-38cd-4629-ab2d-40684250fa5b', 'Server': 'Kestrel', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'Transfer-Encoding': 'chunked'}
2026-03-23 09:09:16 [crawlers.pipelines.post_to_api] ERROR: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
Traceback (most recent call last):
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:09:16 [scrapy.core.scraper] ERROR: Error processing {'auction_title': '',
'c_o_2_emission_value': None,
'car_expert_report_source_url': None,
'category': None,
'color': 'Unknown',
'currency': 'EUR',
'doors_number': 5,
'emission_standard': None,
'engine': '',
'expiration_date': None,
'fuel_type': 'Electric',
'id': 'f0dbb206-c1cd-51e7-a76b-b3443cdb979d',
'is_damaged': False,
'is_operable': True,
'is_vat_deductible': True,
'is_vat_included': True,
'link_to_web_offer': 'https://vpauto.fr/vehicule/aba4c8f9f8/mazda-mx-30-e-skyactiv-145-ch-mx-30',
'listing': 'auction',
'location': '56 - LORIENT',
'make': 'MAZDA',
'model': 'MX-30 e-Skyactiv 145 ch MX-30',
'odometer': None,
'odometer_reading_unit': 'km',
'origin_country_code': 'FR',
'original_photo_count': 0,
'price': 7700,
'price_includes_vat': True,
'registration_date': '2022-01-14',
'seats_number': 5,
'seller_name': None,
'title': 'MAZDA MX-30 e-Skyactiv 145 ch MX-30',
'transmission': 'automatic',
'trim': 'MX-30 e-Skyactiv 145 ch MX-30',
'year': 2022}
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/twisted/internet/defer.py", line 1078, in _runCallbacks
current.result = callback( # type: ignore[misc]
File "/usr/local/lib/python3.11/dist-packages/scrapy/utils/defer.py", line 340, in f
return deferred_from_coro(coro_f(*coro_args, **coro_kwargs))
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 114, in process_item
raise e
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:09:16 [crawlers.pipelines.post_to_api] ERROR: vpauto.fr, item_id 2b1eee3c-2e17-509d-888a-8d92ae08ffd6: Failed to post item to https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
| Status Code: 400
| Response Content: {"error":"Command deserialization failed. Check field types \u2014 a null value may have been sent for a non-nullable field.","path":"/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing","requestBody":"{\u0022Color\u0022: \u0022Unknown\u0022, \u0022OriginalPhotoCount\u0022: 0, \u0022SellerName\u0022: null, \u0022PriceIncludesVat\u0022: true, \u0022Title\u0022: \u0022RENAULT Clio TCe 90 - 21N Business\u0022, \u0022Price\u0022: {\u0022AmountSmallestUnit\u0022: 770000, \u0022CurrencyCode\u0022: \u0022EUR\u0022}, \u0022Make\u0022: \u0022RENAULT\u0022, \u0022Model\u0022: \u0022Clio TCe 90 - 21N Business\u0022, \u0022Transmission\u0022: \u0022manual\u0022, \u0022Engine\u0022: \u0022\u0022, \u0022FuelType\u0022: \u0022Petrol\u0022, \u0022Odometer\u0022: {\u0022Value\u0022: null, \u0022Unit\u0022: 1}, \u0022RegistrationDate\u0022: \u00222022-08-12\u0022, \u0022LinkToWebOffer\u0022: \u0022https://vpauto.fr/vehicule/eb2de3eaf8/renault-clio-tce-90-21n-business\u0022, \u0022ExpirationDate\u0022: null, \u0022Location\u0022: \u002256 - LORIENT\u0022, \u0022OriginCountryCode\u0022: \u0022FR\u0022, \u0022Trim\u0022: \u0022Clio TCe 90 - 21N Business\u0022, \u0022Year\u0022: 2022, \u0022Listing\u0022: \u0022auction\u0022, \u0022Category\u0022: null, \u0022SeatsNumber\u0022: 5, \u0022DoorsNumber\u0022: 5, \u0022CO2EmissionValue\u0022: 117, \u0022EmissionStandard\u0022: null, \u0022CarExpertReportSourceUrl\u0022: null, \u0022IsVatIncluded\u0022: false, \u0022IsVatDeductible\u0022: false, \u0022Id\u0022: \u00222b1eee3c-2e17-509d-888a-8d92ae08ffd6\u0022}"}
| Response Headers: {'Content-Type': 'application/json', 'Date': 'Mon, 23 Mar 2026 09:09:15 GMT', 'Request-Context': 'appId=cid-v1:1a14ebe8-38cd-4629-ab2d-40684250fa5b', 'Server': 'Kestrel', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'Transfer-Encoding': 'chunked'}
2026-03-23 09:09:16 [crawlers.pipelines.post_to_api] ERROR: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
Traceback (most recent call last):
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:09:16 [scrapy.core.scraper] ERROR: Error processing {'auction_title': '',
'c_o_2_emission_value': 117,
'car_expert_report_source_url': None,
'category': None,
'color': 'Unknown',
'currency': 'EUR',
'doors_number': 5,
'emission_standard': None,
'engine': '',
'expiration_date': None,
'fuel_type': 'Petrol',
'id': '2b1eee3c-2e17-509d-888a-8d92ae08ffd6',
'is_damaged': False,
'is_operable': True,
'is_vat_deductible': False,
'is_vat_included': False,
'link_to_web_offer': 'https://vpauto.fr/vehicule/eb2de3eaf8/renault-clio-tce-90-21n-business',
'listing': 'auction',
'location': '56 - LORIENT',
'make': 'RENAULT',
'model': 'Clio TCe 90 - 21N Business',
'odometer': None,
'odometer_reading_unit': 'km',
'origin_country_code': 'FR',
'original_photo_count': 0,
'price': 7700,
'price_includes_vat': True,
'registration_date': '2022-08-12',
'seats_number': 5,
'seller_name': None,
'title': 'RENAULT Clio TCe 90 - 21N Business',
'transmission': 'manual',
'trim': 'Clio TCe 90 - 21N Business',
'year': 2022}
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/twisted/internet/defer.py", line 1078, in _runCallbacks
current.result = callback( # type: ignore[misc]
File "/usr/local/lib/python3.11/dist-packages/scrapy/utils/defer.py", line 340, in f
return deferred_from_coro(coro_f(*coro_args, **coro_kwargs))
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 114, in process_item
raise e
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:09:17 [crawlers.pipelines.post_to_api] ERROR: vpauto.fr, item_id 667f507b-921e-5eb9-940a-981fb66a85a2: Failed to post item to https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
| Status Code: 400
| Response Content: {"error":"Command deserialization failed. Check field types \u2014 a null value may have been sent for a non-nullable field.","path":"/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing","requestBody":"{\u0022Color\u0022: \u0022Unknown\u0022, \u0022OriginalPhotoCount\u0022: 0, \u0022SellerName\u0022: null, \u0022PriceIncludesVat\u0022: true, \u0022Title\u0022: \u0022RENAULT Clio E-Tech full hybrid 145 Engineered\u0022, \u0022Price\u0022: {\u0022AmountSmallestUnit\u0022: 770000, \u0022CurrencyCode\u0022: \u0022EUR\u0022}, \u0022Make\u0022: \u0022RENAULT\u0022, \u0022Model\u0022: \u0022Clio E-Tech full hybrid 145 Engineered\u0022, \u0022Transmission\u0022: \u0022automatic\u0022, \u0022Engine\u0022: \u0022\u0022, \u0022FuelType\u0022: \u0022Hybrid\u0022, \u0022Odometer\u0022: {\u0022Value\u0022: null, \u0022Unit\u0022: 1}, \u0022RegistrationDate\u0022: \u00222022-12-15\u0022, \u0022LinkToWebOffer\u0022: \u0022https://vpauto.fr/vehicule/ee5b2915b1/renault-clio-e-tech-full-hybrid-145-engineered\u0022, \u0022ExpirationDate\u0022: null, \u0022Location\u0022: \u002276 - ROUEN\u0022, \u0022OriginCountryCode\u0022: \u0022FR\u0022, \u0022Trim\u0022: \u0022Clio E-Tech full hybrid 145 Engineered\u0022, \u0022Year\u0022: 2022, \u0022Listing\u0022: \u0022auction\u0022, \u0022Category\u0022: null, \u0022SeatsNumber\u0022: 5, \u0022DoorsNumber\u0022: 5, \u0022CO2EmissionValue\u0022: 96, \u0022EmissionStandard\u0022: null, \u0022CarExpertReportSourceUrl\u0022: null, \u0022IsVatIncluded\u0022: true, \u0022IsVatDeductible\u0022: true, \u0022Id\u0022: \u0022667f507b-921e-5eb9-940a-981fb66a85a2\u0022}"}
| Response Headers: {'Content-Type': 'application/json', 'Date': 'Mon, 23 Mar 2026 09:09:16 GMT', 'Request-Context': 'appId=cid-v1:1a14ebe8-38cd-4629-ab2d-40684250fa5b', 'Server': 'Kestrel', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'Transfer-Encoding': 'chunked'}
2026-03-23 09:09:17 [crawlers.pipelines.post_to_api] ERROR: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
Traceback (most recent call last):
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:09:17 [scrapy.core.scraper] ERROR: Error processing {'auction_title': '',
'c_o_2_emission_value': 96,
'car_expert_report_source_url': None,
'category': None,
'color': 'Unknown',
'currency': 'EUR',
'doors_number': 5,
'emission_standard': None,
'engine': '',
'expiration_date': None,
'fuel_type': 'Hybrid',
'id': '667f507b-921e-5eb9-940a-981fb66a85a2',
'is_damaged': False,
'is_operable': True,
'is_vat_deductible': True,
'is_vat_included': True,
'link_to_web_offer': 'https://vpauto.fr/vehicule/ee5b2915b1/renault-clio-e-tech-full-hybrid-145-engineered',
'listing': 'auction',
'location': '76 - ROUEN',
'make': 'RENAULT',
'model': 'Clio E-Tech full hybrid 145 Engineered',
'odometer': None,
'odometer_reading_unit': 'km',
'origin_country_code': 'FR',
'original_photo_count': 0,
'price': 7700,
'price_includes_vat': True,
'registration_date': '2022-12-15',
'seats_number': 5,
'seller_name': None,
'title': 'RENAULT Clio E-Tech full hybrid 145 Engineered',
'transmission': 'automatic',
'trim': 'Clio E-Tech full hybrid 145 Engineered',
'year': 2022}
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/twisted/internet/defer.py", line 1078, in _runCallbacks
current.result = callback( # type: ignore[misc]
File "/usr/local/lib/python3.11/dist-packages/scrapy/utils/defer.py", line 340, in f
return deferred_from_coro(coro_f(*coro_args, **coro_kwargs))
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 114, in process_item
raise e
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:09:17 [crawlers.pipelines.post_to_api] ERROR: vpauto.fr, item_id 64115623-eed1-5609-979e-9c135f44f9bb: Failed to post item to https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
| Status Code: 400
| Response Content: {"error":"Command deserialization failed. Check field types \u2014 a null value may have been sent for a non-nullable field.","path":"/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing","requestBody":"{\u0022Color\u0022: \u0022Unknown\u0022, \u0022OriginalPhotoCount\u0022: 0, \u0022SellerName\u0022: null, \u0022PriceIncludesVat\u0022: true, \u0022Title\u0022: \u0022RENAULT Megane E-Tech ER EV60 130ch optimum charge Evolution\u0022, \u0022Price\u0022: {\u0022AmountSmallestUnit\u0022: 770000, \u0022CurrencyCode\u0022: \u0022EUR\u0022}, \u0022Make\u0022: \u0022RENAULT\u0022, \u0022Model\u0022: \u0022Megane E-Tech ER EV60 130ch optimum charge Evolution\u0022, \u0022Transmission\u0022: \u0022automatic\u0022, \u0022Engine\u0022: \u0022\u0022, \u0022FuelType\u0022: \u0022Electric\u0022, \u0022Odometer\u0022: {\u0022Value\u0022: null, \u0022Unit\u0022: 1}, \u0022RegistrationDate\u0022: \u00222022-07-22\u0022, \u0022LinkToWebOffer\u0022: \u0022https://vpauto.fr/vehicule/5c8bc823bf/renault-megane-e-tech-er-ev60-130ch-optimum-charge-evolution\u0022, \u0022ExpirationDate\u0022: null, \u0022Location\u0022: \u002276 - ROUEN\u0022, \u0022OriginCountryCode\u0022: \u0022FR\u0022, \u0022Trim\u0022: \u0022Megane E-Tech ER EV60 130ch optimum charge Evolution\u0022, \u0022Year\u0022: 2022, \u0022Listing\u0022: \u0022auction\u0022, \u0022Category\u0022: null, \u0022SeatsNumber\u0022: 5, \u0022DoorsNumber\u0022: 5, \u0022CO2EmissionValue\u0022: null, \u0022EmissionStandard\u0022: null, \u0022CarExpertReportSourceUrl\u0022: null, \u0022IsVatIncluded\u0022: true, \u0022IsVatDeductible\u0022: true, \u0022Id\u0022: \u002264115623-eed1-5609-979e-9c135f44f9bb\u0022}"}
| Response Headers: {'Content-Type': 'application/json', 'Date': 'Mon, 23 Mar 2026 09:09:17 GMT', 'Request-Context': 'appId=cid-v1:1a14ebe8-38cd-4629-ab2d-40684250fa5b', 'Server': 'Kestrel', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'Transfer-Encoding': 'chunked'}
2026-03-23 09:09:17 [crawlers.pipelines.post_to_api] ERROR: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
Traceback (most recent call last):
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:09:17 [scrapy.core.scraper] ERROR: Error processing {'auction_title': '',
'c_o_2_emission_value': None,
'car_expert_report_source_url': None,
'category': None,
'color': 'Unknown',
'currency': 'EUR',
'doors_number': 5,
'emission_standard': None,
'engine': '',
'expiration_date': None,
'fuel_type': 'Electric',
'id': '64115623-eed1-5609-979e-9c135f44f9bb',
'is_damaged': False,
'is_operable': True,
'is_vat_deductible': True,
'is_vat_included': True,
'link_to_web_offer': 'https://vpauto.fr/vehicule/5c8bc823bf/renault-megane-e-tech-er-ev60-130ch-optimum-charge-evolution',
'listing': 'auction',
'location': '76 - ROUEN',
'make': 'RENAULT',
'model': 'Megane E-Tech ER EV60 130ch optimum charge Evolution',
'odometer': None,
'odometer_reading_unit': 'km',
'origin_country_code': 'FR',
'original_photo_count': 0,
'price': 7700,
'price_includes_vat': True,
'registration_date': '2022-07-22',
'seats_number': 5,
'seller_name': None,
'title': 'RENAULT Megane E-Tech ER EV60 130ch optimum charge Evolution',
'transmission': 'automatic',
'trim': 'Megane E-Tech ER EV60 130ch optimum charge Evolution',
'year': 2022}
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/twisted/internet/defer.py", line 1078, in _runCallbacks
current.result = callback( # type: ignore[misc]
File "/usr/local/lib/python3.11/dist-packages/scrapy/utils/defer.py", line 340, in f
return deferred_from_coro(coro_f(*coro_args, **coro_kwargs))
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 114, in process_item
raise e
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:09:18 [crawlers.pipelines.post_to_api] ERROR: vpauto.fr, item_id 41d24b21-91df-5dd2-8b91-0c9abdb85af0: Failed to post item to https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
| Status Code: 400
| Response Content: {"error":"Command deserialization failed. Check field types \u2014 a null value may have been sent for a non-nullable field.","path":"/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing","requestBody":"{\u0022Color\u0022: \u0022Unknown\u0022, \u0022OriginalPhotoCount\u0022: 0, \u0022SellerName\u0022: null, \u0022PriceIncludesVat\u0022: true, \u0022Title\u0022: \u0022CITROEN C4 PureTech 130 S\u0026S EAT8 Shine\u0022, \u0022Price\u0022: {\u0022AmountSmallestUnit\u0022: 770000, \u0022CurrencyCode\u0022: \u0022EUR\u0022}, \u0022Make\u0022: \u0022CITROEN\u0022, \u0022Model\u0022: \u0022C4 PureTech 130 S\u0026S EAT8 Shine\u0022, \u0022Transmission\u0022: \u0022automatic\u0022, \u0022Engine\u0022: \u0022\u0022, \u0022FuelType\u0022: \u0022Petrol\u0022, \u0022Odometer\u0022: {\u0022Value\u0022: null, \u0022Unit\u0022: 1}, \u0022RegistrationDate\u0022: \u00222022-04-29\u0022, \u0022LinkToWebOffer\u0022: \u0022https://vpauto.fr/vehicule/612509b5b1/citroen-c4-puretech-130-ss-eat8-shine\u0022, \u0022ExpirationDate\u0022: null, \u0022Location\u0022: \u002244 - NANTES\u0022, \u0022OriginCountryCode\u0022: \u0022FR\u0022, \u0022Trim\u0022: \u0022C4 PureTech 130 S\u0026S EAT8 Shine\u0022, \u0022Year\u0022: 2022, \u0022Listing\u0022: \u0022auction\u0022, \u0022Category\u0022: null, \u0022SeatsNumber\u0022: 5, \u0022DoorsNumber\u0022: 5, \u0022CO2EmissionValue\u0022: 130, \u0022EmissionStandard\u0022: \u0022EURO 6\u0022, \u0022CarExpertReportSourceUrl\u0022: null, \u0022IsVatIncluded\u0022: true, \u0022IsVatDeductible\u0022: true, \u0022Id\u0022: \u002241d24b21-91df-5dd2-8b91-0c9abdb85af0\u0022}"}
| Response Headers: {'Content-Type': 'application/json', 'Date': 'Mon, 23 Mar 2026 09:09:17 GMT', 'Request-Context': 'appId=cid-v1:1a14ebe8-38cd-4629-ab2d-40684250fa5b', 'Server': 'Kestrel', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'Transfer-Encoding': 'chunked'}
2026-03-23 09:09:18 [crawlers.pipelines.post_to_api] ERROR: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
Traceback (most recent call last):
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:09:18 [scrapy.core.scraper] ERROR: Error processing {'auction_title': '',
'c_o_2_emission_value': 130,
'car_expert_report_source_url': None,
'category': None,
'color': 'Unknown',
'currency': 'EUR',
'doors_number': 5,
'emission_standard': 'EURO 6',
'engine': '',
'expiration_date': None,
'fuel_type': 'Petrol',
'id': '41d24b21-91df-5dd2-8b91-0c9abdb85af0',
'is_damaged': False,
'is_operable': True,
'is_vat_deductible': True,
'is_vat_included': True,
'link_to_web_offer': 'https://vpauto.fr/vehicule/612509b5b1/citroen-c4-puretech-130-ss-eat8-shine',
'listing': 'auction',
'location': '44 - NANTES',
'make': 'CITROEN',
'model': 'C4 PureTech 130 S&S EAT8 Shine',
'odometer': None,
'odometer_reading_unit': 'km',
'origin_country_code': 'FR',
'original_photo_count': 0,
'price': 7700,
'price_includes_vat': True,
'registration_date': '2022-04-29',
'seats_number': 5,
'seller_name': None,
'title': 'CITROEN C4 PureTech 130 S&S EAT8 Shine',
'transmission': 'automatic',
'trim': 'C4 PureTech 130 S&S EAT8 Shine',
'year': 2022}
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/twisted/internet/defer.py", line 1078, in _runCallbacks
current.result = callback( # type: ignore[misc]
File "/usr/local/lib/python3.11/dist-packages/scrapy/utils/defer.py", line 340, in f
return deferred_from_coro(coro_f(*coro_args, **coro_kwargs))
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 114, in process_item
raise e
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:09:18 [crawlers.pipelines.post_to_api] ERROR: vpauto.fr, item_id 83d44c84-61c7-57c1-bfa9-0315cfc22db9: Failed to post item to https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
| Status Code: 400
| Response Content: {"error":"Command deserialization failed. Check field types \u2014 a null value may have been sent for a non-nullable field.","path":"/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing","requestBody":"{\u0022Color\u0022: \u0022Unknown\u0022, \u0022OriginalPhotoCount\u0022: 0, \u0022SellerName\u0022: null, \u0022PriceIncludesVat\u0022: true, \u0022Title\u0022: \u0022VOLKSWAGEN Tiguan 2.0 TDI 150ch DSG7\u0022, \u0022Price\u0022: {\u0022AmountSmallestUnit\u0022: 770000, \u0022CurrencyCode\u0022: \u0022EUR\u0022}, \u0022Make\u0022: \u0022VOLKSWAGEN\u0022, \u0022Model\u0022: \u0022Tiguan 2.0 TDI 150ch DSG7\u0022, \u0022Transmission\u0022: \u0022automatic\u0022, \u0022Engine\u0022: \u00222.0L\u0022, \u0022FuelType\u0022: \u0022Diesel\u0022, \u0022Odometer\u0022: {\u0022Value\u0022: null, \u0022Unit\u0022: 1}, \u0022RegistrationDate\u0022: \u00222022-05-30\u0022, \u0022LinkToWebOffer\u0022: \u0022https://vpauto.fr/vehicule/61ce3fbbb1/volkswagen-tiguan-20-tdi-150ch-dsg7\u0022, \u0022ExpirationDate\u0022: null, \u0022Location\u0022: \u002244 - NANTES\u0022, \u0022OriginCountryCode\u0022: \u0022FR\u0022, \u0022Trim\u0022: \u0022Tiguan 2.0 TDI 150ch DSG7\u0022, \u0022Year\u0022: 2022, \u0022Listing\u0022: \u0022auction\u0022, \u0022Category\u0022: null, \u0022SeatsNumber\u0022: 5, \u0022DoorsNumber\u0022: 5, \u0022CO2EmissionValue\u0022: 144, \u0022EmissionStandard\u0022: null, \u0022CarExpertReportSourceUrl\u0022: null, \u0022IsVatIncluded\u0022: true, \u0022IsVatDeductible\u0022: true, \u0022Id\u0022: \u002283d44c84-61c7-57c1-bfa9-0315cfc22db9\u0022}"}
| Response Headers: {'Content-Type': 'application/json', 'Date': 'Mon, 23 Mar 2026 09:09:17 GMT', 'Request-Context': 'appId=cid-v1:1a14ebe8-38cd-4629-ab2d-40684250fa5b', 'Server': 'Kestrel', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'Transfer-Encoding': 'chunked'}
2026-03-23 09:09:18 [crawlers.pipelines.post_to_api] ERROR: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
Traceback (most recent call last):
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:09:18 [scrapy.core.scraper] ERROR: Error processing {'auction_title': '',
'c_o_2_emission_value': 144,
'car_expert_report_source_url': None,
'category': None,
'color': 'Unknown',
'currency': 'EUR',
'doors_number': 5,
'emission_standard': None,
'engine': '2.0L',
'expiration_date': None,
'fuel_type': 'Diesel',
'id': '83d44c84-61c7-57c1-bfa9-0315cfc22db9',
'is_damaged': False,
'is_operable': True,
'is_vat_deductible': True,
'is_vat_included': True,
'link_to_web_offer': 'https://vpauto.fr/vehicule/61ce3fbbb1/volkswagen-tiguan-20-tdi-150ch-dsg7',
'listing': 'auction',
'location': '44 - NANTES',
'make': 'VOLKSWAGEN',
'model': 'Tiguan 2.0 TDI 150ch DSG7',
'odometer': None,
'odometer_reading_unit': 'km',
'origin_country_code': 'FR',
'original_photo_count': 0,
'price': 7700,
'price_includes_vat': True,
'registration_date': '2022-05-30',
'seats_number': 5,
'seller_name': None,
'title': 'VOLKSWAGEN Tiguan 2.0 TDI 150ch DSG7',
'transmission': 'automatic',
'trim': 'Tiguan 2.0 TDI 150ch DSG7',
'year': 2022}
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/twisted/internet/defer.py", line 1078, in _runCallbacks
current.result = callback( # type: ignore[misc]
File "/usr/local/lib/python3.11/dist-packages/scrapy/utils/defer.py", line 340, in f
return deferred_from_coro(coro_f(*coro_args, **coro_kwargs))
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 114, in process_item
raise e
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:09:18 [crawlers.pipelines.post_to_api] ERROR: vpauto.fr, item_id 43261c0c-e954-578d-a139-f18db17f6d30: Failed to post item to https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
| Status Code: 400
| Response Content: {"error":"Command deserialization failed. Check field types \u2014 a null value may have been sent for a non-nullable field.","path":"/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing","requestBody":"{\u0022Color\u0022: \u0022Unknown\u0022, \u0022OriginalPhotoCount\u0022: 0, \u0022SellerName\u0022: null, \u0022PriceIncludesVat\u0022: true, \u0022Title\u0022: \u0022RENAULT MASTER FOURGON FG TR GCF F3300 L2H2 BLUE DCI\u0022, \u0022Price\u0022: {\u0022AmountSmallestUnit\u0022: 770000, \u0022CurrencyCode\u0022: \u0022EUR\u0022}, \u0022Make\u0022: \u0022RENAULT\u0022, \u0022Model\u0022: \u0022MASTER FOURGON FG TR GCF F3300 L2H2 BLUE DCI\u0022, \u0022Transmission\u0022: \u0022automatic\u0022, \u0022Engine\u0022: \u0022\u0022, \u0022FuelType\u0022: \u0022Diesel\u0022, \u0022Odometer\u0022: {\u0022Value\u0022: null, \u0022Unit\u0022: 1}, \u0022RegistrationDate\u0022: \u00222022-10-27\u0022, \u0022LinkToWebOffer\u0022: \u0022https://vpauto.fr/vehicule/985f3811f8/renault-master-fourgon-fg-tr-gcf-f3300-l2h2-blue-dci\u0022, \u0022ExpirationDate\u0022: null, \u0022Location\u0022: \u002256 - LORIENT\u0022, \u0022OriginCountryCode\u0022: \u0022FR\u0022, \u0022Trim\u0022: \u0022MASTER FOURGON FG TR GCF F3300 L2H2 BLUE DCI\u0022, \u0022Year\u0022: 2022, \u0022Listing\u0022: \u0022auction\u0022, \u0022Category\u0022: null, \u0022SeatsNumber\u0022: 3, \u0022DoorsNumber\u0022: null, \u0022CO2EmissionValue\u0022: 239, \u0022EmissionStandard\u0022: null, \u0022CarExpertReportSourceUrl\u0022: null, \u0022IsVatIncluded\u0022: true, \u0022IsVatDeductible\u0022: true, \u0022Id\u0022: \u002243261c0c-e954-578d-a139-f18db17f6d30\u0022}"}
| Response Headers: {'Content-Type': 'application/json', 'Date': 'Mon, 23 Mar 2026 09:09:18 GMT', 'Request-Context': 'appId=cid-v1:1a14ebe8-38cd-4629-ab2d-40684250fa5b', 'Server': 'Kestrel', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'Transfer-Encoding': 'chunked'}
2026-03-23 09:09:18 [crawlers.pipelines.post_to_api] ERROR: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
Traceback (most recent call last):
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:09:18 [scrapy.core.scraper] ERROR: Error processing {'auction_title': '',
'c_o_2_emission_value': 239,
'car_expert_report_source_url': None,
'category': None,
'color': 'Unknown',
'currency': 'EUR',
'doors_number': None,
'emission_standard': None,
'engine': '',
'expiration_date': None,
'fuel_type': 'Diesel',
'id': '43261c0c-e954-578d-a139-f18db17f6d30',
'is_damaged': False,
'is_operable': True,
'is_vat_deductible': True,
'is_vat_included': True,
'link_to_web_offer': 'https://vpauto.fr/vehicule/985f3811f8/renault-master-fourgon-fg-tr-gcf-f3300-l2h2-blue-dci',
'listing': 'auction',
'location': '56 - LORIENT',
'make': 'RENAULT',
'model': 'MASTER FOURGON FG TR GCF F3300 L2H2 BLUE DCI',
'odometer': None,
'odometer_reading_unit': 'km',
'origin_country_code': 'FR',
'original_photo_count': 0,
'price': 7700,
'price_includes_vat': True,
'registration_date': '2022-10-27',
'seats_number': 3,
'seller_name': None,
'title': 'RENAULT MASTER FOURGON FG TR GCF F3300 L2H2 BLUE DCI',
'transmission': 'automatic',
'trim': 'MASTER FOURGON FG TR GCF F3300 L2H2 BLUE DCI',
'year': 2022}
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/twisted/internet/defer.py", line 1078, in _runCallbacks
current.result = callback( # type: ignore[misc]
File "/usr/local/lib/python3.11/dist-packages/scrapy/utils/defer.py", line 340, in f
return deferred_from_coro(coro_f(*coro_args, **coro_kwargs))
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 114, in process_item
raise e
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:09:21 [crawlers.pipelines.post_to_api] ERROR: vpauto.fr, item_id e0c9a460-65bc-540a-a79c-9f6744ffae72: Failed to post item to https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
| Status Code: 400
| Response Content: {"error":"Command deserialization failed. Check field types \u2014 a null value may have been sent for a non-nullable field.","path":"/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing","requestBody":"{\u0022Color\u0022: \u0022Unknown\u0022, \u0022OriginalPhotoCount\u0022: 0, \u0022SellerName\u0022: null, \u0022PriceIncludesVat\u0022: true, \u0022Title\u0022: \u0022VOLKSWAGEN T6\u0022, \u0022Price\u0022: {\u0022AmountSmallestUnit\u0022: 770000, \u0022CurrencyCode\u0022: \u0022EUR\u0022}, \u0022Make\u0022: \u0022VOLKSWAGEN\u0022, \u0022Model\u0022: \u0022T6\u0022, \u0022Transmission\u0022: \u0022automatic\u0022, \u0022Engine\u0022: \u0022\u0022, \u0022FuelType\u0022: \u0022Diesel\u0022, \u0022Odometer\u0022: {\u0022Value\u0022: null, \u0022Unit\u0022: 1}, \u0022RegistrationDate\u0022: \u00222022-06-07\u0022, \u0022LinkToWebOffer\u0022: \u0022https://vpauto.fr/vehicule/100a17f55/volkswagen-t6\u0022, \u0022ExpirationDate\u0022: null, \u0022Location\u0022: \u002269 - LYON\u0022, \u0022OriginCountryCode\u0022: \u0022FR\u0022, \u0022Trim\u0022: \u0022T6\u0022, \u0022Year\u0022: 2022, \u0022Listing\u0022: \u0022auction\u0022, \u0022Category\u0022: null, \u0022SeatsNumber\u0022: 3, \u0022DoorsNumber\u0022: null, \u0022CO2EmissionValue\u0022: 184, \u0022EmissionStandard\u0022: null, \u0022CarExpertReportSourceUrl\u0022: null, \u0022IsVatIncluded\u0022: false, \u0022IsVatDeductible\u0022: false, \u0022Id\u0022: \u0022e0c9a460-65bc-540a-a79c-9f6744ffae72\u0022}"}
| Response Headers: {'Content-Type': 'application/json', 'Date': 'Mon, 23 Mar 2026 09:09:21 GMT', 'Request-Context': 'appId=cid-v1:1a14ebe8-38cd-4629-ab2d-40684250fa5b', 'Server': 'Kestrel', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'Transfer-Encoding': 'chunked'}
2026-03-23 09:09:21 [crawlers.pipelines.post_to_api] ERROR: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
Traceback (most recent call last):
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:09:21 [scrapy.core.scraper] ERROR: Error processing {'auction_title': '',
'c_o_2_emission_value': 184,
'car_expert_report_source_url': None,
'category': None,
'color': 'Unknown',
'currency': 'EUR',
'doors_number': None,
'emission_standard': None,
'engine': '',
'expiration_date': None,
'fuel_type': 'Diesel',
'id': 'e0c9a460-65bc-540a-a79c-9f6744ffae72',
'is_damaged': False,
'is_operable': True,
'is_vat_deductible': False,
'is_vat_included': False,
'link_to_web_offer': 'https://vpauto.fr/vehicule/100a17f55/volkswagen-t6',
'listing': 'auction',
'location': '69 - LYON',
'make': 'VOLKSWAGEN',
'model': 'T6',
'odometer': None,
'odometer_reading_unit': 'km',
'origin_country_code': 'FR',
'original_photo_count': 0,
'price': 7700,
'price_includes_vat': True,
'registration_date': '2022-06-07',
'seats_number': 3,
'seller_name': None,
'title': 'VOLKSWAGEN T6',
'transmission': 'automatic',
'trim': 'T6',
'year': 2022}
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/twisted/internet/defer.py", line 1078, in _runCallbacks
current.result = callback( # type: ignore[misc]
File "/usr/local/lib/python3.11/dist-packages/scrapy/utils/defer.py", line 340, in f
return deferred_from_coro(coro_f(*coro_args, **coro_kwargs))
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 114, in process_item
raise e
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:09:23 [crawlers.pipelines.post_to_api] ERROR: vpauto.fr, item_id 3f1b93f0-79e1-5162-908c-c72d247ca8ff: Failed to post item to https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
| Status Code: 400
| Response Content: {"error":"Command deserialization failed. Check field types \u2014 a null value may have been sent for a non-nullable field.","path":"/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing","requestBody":"{\u0022Color\u0022: \u0022Unknown\u0022, \u0022OriginalPhotoCount\u0022: 0, \u0022SellerName\u0022: null, \u0022PriceIncludesVat\u0022: true, \u0022Title\u0022: \u0022RENAULT Clio TCe 90 Evolution\u0022, \u0022Price\u0022: {\u0022AmountSmallestUnit\u0022: 770000, \u0022CurrencyCode\u0022: \u0022EUR\u0022}, \u0022Make\u0022: \u0022RENAULT\u0022, \u0022Model\u0022: \u0022Clio TCe 90 Evolution\u0022, \u0022Transmission\u0022: \u0022manual\u0022, \u0022Engine\u0022: \u0022\u0022, \u0022FuelType\u0022: \u0022Petrol\u0022, \u0022Odometer\u0022: {\u0022Value\u0022: null, \u0022Unit\u0022: 1}, \u0022RegistrationDate\u0022: \u00222022-03-22\u0022, \u0022LinkToWebOffer\u0022: \u0022https://vpauto.fr/vehicule/53699de3b1/renault-clio-tce-90-evolution\u0022, \u0022ExpirationDate\u0022: null, \u0022Location\u0022: \u002244 - NANTES\u0022, \u0022OriginCountryCode\u0022: \u0022FR\u0022, \u0022Trim\u0022: \u0022Clio TCe 90 Evolution\u0022, \u0022Year\u0022: 2022, \u0022Listing\u0022: \u0022auction\u0022, \u0022Category\u0022: null, \u0022SeatsNumber\u0022: 5, \u0022DoorsNumber\u0022: 5, \u0022CO2EmissionValue\u0022: 117, \u0022EmissionStandard\u0022: \u0022EURO 6\u0022, \u0022CarExpertReportSourceUrl\u0022: null, \u0022IsVatIncluded\u0022: false, \u0022IsVatDeductible\u0022: false, \u0022Id\u0022: \u00223f1b93f0-79e1-5162-908c-c72d247ca8ff\u0022}"}
| Response Headers: {'Content-Type': 'application/json', 'Date': 'Mon, 23 Mar 2026 09:09:22 GMT', 'Request-Context': 'appId=cid-v1:1a14ebe8-38cd-4629-ab2d-40684250fa5b', 'Server': 'Kestrel', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'Transfer-Encoding': 'chunked'}
2026-03-23 09:09:23 [crawlers.pipelines.post_to_api] ERROR: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
Traceback (most recent call last):
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:09:23 [scrapy.core.scraper] ERROR: Error processing {'auction_title': '',
'c_o_2_emission_value': 117,
'car_expert_report_source_url': None,
'category': None,
'color': 'Unknown',
'currency': 'EUR',
'doors_number': 5,
'emission_standard': 'EURO 6',
'engine': '',
'expiration_date': None,
'fuel_type': 'Petrol',
'id': '3f1b93f0-79e1-5162-908c-c72d247ca8ff',
'is_damaged': False,
'is_operable': True,
'is_vat_deductible': False,
'is_vat_included': False,
'link_to_web_offer': 'https://vpauto.fr/vehicule/53699de3b1/renault-clio-tce-90-evolution',
'listing': 'auction',
'location': '44 - NANTES',
'make': 'RENAULT',
'model': 'Clio TCe 90 Evolution',
'odometer': None,
'odometer_reading_unit': 'km',
'origin_country_code': 'FR',
'original_photo_count': 0,
'price': 7700,
'price_includes_vat': True,
'registration_date': '2022-03-22',
'seats_number': 5,
'seller_name': None,
'title': 'RENAULT Clio TCe 90 Evolution',
'transmission': 'manual',
'trim': 'Clio TCe 90 Evolution',
'year': 2022}
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/twisted/internet/defer.py", line 1078, in _runCallbacks
current.result = callback( # type: ignore[misc]
File "/usr/local/lib/python3.11/dist-packages/scrapy/utils/defer.py", line 340, in f
return deferred_from_coro(coro_f(*coro_args, **coro_kwargs))
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 114, in process_item
raise e
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:09:26 [crawlers.pipelines.post_to_api] ERROR: vpauto.fr, item_id f9f24f53-6ab4-5835-b8e5-195ac2c03f57: Failed to post item to https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
| Status Code: 400
| Response Content: {"error":"Command deserialization failed. Check field types \u2014 a null value may have been sent for a non-nullable field.","path":"/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing","requestBody":"{\u0022Color\u0022: \u0022Unknown\u0022, \u0022OriginalPhotoCount\u0022: 0, \u0022SellerName\u0022: null, \u0022PriceIncludesVat\u0022: true, \u0022Title\u0022: \u0022RENAULT AUSTRAL TECHNO ESPRIT ALPINE E-TECH HY\u0022, \u0022Price\u0022: {\u0022AmountSmallestUnit\u0022: 2320000, \u0022CurrencyCode\u0022: \u0022EUR\u0022}, \u0022Make\u0022: \u0022RENAULT\u0022, \u0022Model\u0022: \u0022AUSTRAL TECHNO ESPRIT ALPINE E-TECH HY\u0022, \u0022Transmission\u0022: \u0022automatic\u0022, \u0022Engine\u0022: \u0022\u0022, \u0022FuelType\u0022: \u0022Hybrid\u0022, \u0022Odometer\u0022: {\u0022Value\u0022: null, \u0022Unit\u0022: 1}, \u0022RegistrationDate\u0022: \u00222023-06-07\u0022, \u0022LinkToWebOffer\u0022: \u0022https://vpauto.fr/vehicule/4b79d14ab1/renault-austral-techno-esprit-alpine-e-tech-hy\u0022, \u0022ExpirationDate\u0022: null, \u0022Location\u0022: \u002244 - NANTES\u0022, \u0022OriginCountryCode\u0022: \u0022FR\u0022, \u0022Trim\u0022: \u0022AUSTRAL TECHNO ESPRIT ALPINE E-TECH HY\u0022, \u0022Year\u0022: 2023, \u0022Listing\u0022: \u0022auction\u0022, \u0022Category\u0022: null, \u0022SeatsNumber\u0022: null, \u0022DoorsNumber\u0022: 5, \u0022CO2EmissionValue\u0022: 106, \u0022EmissionStandard\u0022: null, \u0022CarExpertReportSourceUrl\u0022: null, \u0022IsVatIncluded\u0022: true, \u0022IsVatDeductible\u0022: true, \u0022Id\u0022: \u0022f9f24f53-6ab4-5835-b8e5-195ac2c03f57\u0022}"}
| Response Headers: {'Content-Type': 'application/json', 'Date': 'Mon, 23 Mar 2026 09:09:26 GMT', 'Request-Context': 'appId=cid-v1:1a14ebe8-38cd-4629-ab2d-40684250fa5b', 'Server': 'Kestrel', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'Transfer-Encoding': 'chunked'}
2026-03-23 09:09:26 [crawlers.pipelines.post_to_api] ERROR: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
Traceback (most recent call last):
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:09:26 [scrapy.core.scraper] ERROR: Error processing {'auction_title': '',
'c_o_2_emission_value': 106,
'car_expert_report_source_url': None,
'category': None,
'color': 'Unknown',
'currency': 'EUR',
'doors_number': 5,
'emission_standard': None,
'engine': '',
'expiration_date': None,
'fuel_type': 'Hybrid',
'id': 'f9f24f53-6ab4-5835-b8e5-195ac2c03f57',
'is_damaged': False,
'is_operable': True,
'is_vat_deductible': True,
'is_vat_included': True,
'link_to_web_offer': 'https://vpauto.fr/vehicule/4b79d14ab1/renault-austral-techno-esprit-alpine-e-tech-hy',
'listing': 'auction',
'location': '44 - NANTES',
'make': 'RENAULT',
'model': 'AUSTRAL TECHNO ESPRIT ALPINE E-TECH HY',
'odometer': None,
'odometer_reading_unit': 'km',
'origin_country_code': 'FR',
'original_photo_count': 0,
'price': 23200,
'price_includes_vat': True,
'registration_date': '2023-06-07',
'seats_number': None,
'seller_name': None,
'title': 'RENAULT AUSTRAL TECHNO ESPRIT ALPINE E-TECH HY',
'transmission': 'automatic',
'trim': 'AUSTRAL TECHNO ESPRIT ALPINE E-TECH HY',
'year': 2023}
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/twisted/internet/defer.py", line 1078, in _runCallbacks
current.result = callback( # type: ignore[misc]
File "/usr/local/lib/python3.11/dist-packages/scrapy/utils/defer.py", line 340, in f
return deferred_from_coro(coro_f(*coro_args, **coro_kwargs))
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 114, in process_item
raise e
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:09:27 [crawlers.pipelines.post_to_api] ERROR: vpauto.fr, item_id 5cc3272f-cacf-5925-8fbd-80106e48e096: Failed to post item to https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
| Status Code: 400
| Response Content: {"error":"Command deserialization failed. Check field types \u2014 a null value may have been sent for a non-nullable field.","path":"/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing","requestBody":"{\u0022Color\u0022: \u0022Unknown\u0022, \u0022OriginalPhotoCount\u0022: 0, \u0022SellerName\u0022: null, \u0022PriceIncludesVat\u0022: true, \u0022Title\u0022: \u0022PEUGEOT 208 BlueHDi 100 S\u0026S BVM6 Active\u0022, \u0022Price\u0022: {\u0022AmountSmallestUnit\u0022: 2320000, \u0022CurrencyCode\u0022: \u0022EUR\u0022}, \u0022Make\u0022: \u0022PEUGEOT\u0022, \u0022Model\u0022: \u0022208 BlueHDi 100 S\u0026S BVM6 Active\u0022, \u0022Transmission\u0022: \u0022manual\u0022, \u0022Engine\u0022: \u0022\u0022, \u0022FuelType\u0022: \u0022Diesel\u0022, \u0022Odometer\u0022: {\u0022Value\u0022: null, \u0022Unit\u0022: 1}, \u0022RegistrationDate\u0022: \u00222023-05-11\u0022, \u0022LinkToWebOffer\u0022: \u0022https://vpauto.fr/vehicule/4b475fabbf/peugeot-208-bluehdi-100-ss-bvm6-active\u0022, \u0022ExpirationDate\u0022: null, \u0022Location\u0022: \u002276 - ROUEN\u0022, \u0022OriginCountryCode\u0022: \u0022FR\u0022, \u0022Trim\u0022: \u0022208 BlueHDi 100 S\u0026S BVM6 Active\u0022, \u0022Year\u0022: 2023, \u0022Listing\u0022: \u0022auction\u0022, \u0022Category\u0022: null, \u0022SeatsNumber\u0022: 5, \u0022DoorsNumber\u0022: 5, \u0022CO2EmissionValue\u0022: 109, \u0022EmissionStandard\u0022: null, \u0022CarExpertReportSourceUrl\u0022: null, \u0022IsVatIncluded\u0022: true, \u0022IsVatDeductible\u0022: true, \u0022Id\u0022: \u00225cc3272f-cacf-5925-8fbd-80106e48e096\u0022}"}
| Response Headers: {'Content-Type': 'application/json', 'Date': 'Mon, 23 Mar 2026 09:09:27 GMT', 'Request-Context': 'appId=cid-v1:1a14ebe8-38cd-4629-ab2d-40684250fa5b', 'Server': 'Kestrel', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'Transfer-Encoding': 'chunked'}
2026-03-23 09:09:27 [crawlers.pipelines.post_to_api] ERROR: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
Traceback (most recent call last):
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:09:27 [scrapy.core.scraper] ERROR: Error processing {'auction_title': '',
'c_o_2_emission_value': 109,
'car_expert_report_source_url': None,
'category': None,
'color': 'Unknown',
'currency': 'EUR',
'doors_number': 5,
'emission_standard': None,
'engine': '',
'expiration_date': None,
'fuel_type': 'Diesel',
'id': '5cc3272f-cacf-5925-8fbd-80106e48e096',
'is_damaged': False,
'is_operable': True,
'is_vat_deductible': True,
'is_vat_included': True,
'link_to_web_offer': 'https://vpauto.fr/vehicule/4b475fabbf/peugeot-208-bluehdi-100-ss-bvm6-active',
'listing': 'auction',
'location': '76 - ROUEN',
'make': 'PEUGEOT',
'model': '208 BlueHDi 100 S&S BVM6 Active',
'odometer': None,
'odometer_reading_unit': 'km',
'origin_country_code': 'FR',
'original_photo_count': 0,
'price': 23200,
'price_includes_vat': True,
'registration_date': '2023-05-11',
'seats_number': 5,
'seller_name': None,
'title': 'PEUGEOT 208 BlueHDi 100 S&S BVM6 Active',
'transmission': 'manual',
'trim': '208 BlueHDi 100 S&S BVM6 Active',
'year': 2023}
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/twisted/internet/defer.py", line 1078, in _runCallbacks
current.result = callback( # type: ignore[misc]
File "/usr/local/lib/python3.11/dist-packages/scrapy/utils/defer.py", line 340, in f
return deferred_from_coro(coro_f(*coro_args, **coro_kwargs))
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 114, in process_item
raise e
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:09:28 [crawlers.pipelines.post_to_api] ERROR: vpauto.fr, item_id 176781ba-d1c9-5bb2-97e5-a05fe452a13f: Failed to post item to https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
| Status Code: 400
| Response Content: {"error":"Command deserialization failed. Check field types \u2014 a null value may have been sent for a non-nullable field.","path":"/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing","requestBody":"{\u0022Color\u0022: \u0022Unknown\u0022, \u0022OriginalPhotoCount\u0022: 0, \u0022SellerName\u0022: null, \u0022PriceIncludesVat\u0022: true, \u0022Title\u0022: \u0022AUDI A1 Sportback 25 TFSI 95 ch BVM5\u0022, \u0022Price\u0022: {\u0022AmountSmallestUnit\u0022: 2320000, \u0022CurrencyCode\u0022: \u0022EUR\u0022}, \u0022Make\u0022: \u0022AUDI\u0022, \u0022Model\u0022: \u0022A1 Sportback 25 TFSI 95 ch BVM5\u0022, \u0022Transmission\u0022: \u0022automatic\u0022, \u0022Engine\u0022: \u0022\u0022, \u0022FuelType\u0022: \u0022Petrol\u0022, \u0022Odometer\u0022: {\u0022Value\u0022: null, \u0022Unit\u0022: 1}, \u0022RegistrationDate\u0022: \u00222023-03-09\u0022, \u0022LinkToWebOffer\u0022: \u0022https://vpauto.fr/vehicule/1de0ca9ab1/audi-a1-sportback-25-tfsi-95-ch-bvm5\u0022, \u0022ExpirationDate\u0022: null, \u0022Location\u0022: \u002244 - NANTES\u0022, \u0022OriginCountryCode\u0022: \u0022FR\u0022, \u0022Trim\u0022: \u0022A1 Sportback 25 TFSI 95 ch BVM5\u0022, \u0022Year\u0022: 2023, \u0022Listing\u0022: \u0022auction\u0022, \u0022Category\u0022: null, \u0022SeatsNumber\u0022: 5, \u0022DoorsNumber\u0022: 5, \u0022CO2EmissionValue\u0022: 124, \u0022EmissionStandard\u0022: \u0022EURO 6\u0022, \u0022CarExpertReportSourceUrl\u0022: null, \u0022IsVatIncluded\u0022: true, \u0022IsVatDeductible\u0022: true, \u0022Id\u0022: \u0022176781ba-d1c9-5bb2-97e5-a05fe452a13f\u0022}"}
| Response Headers: {'Content-Type': 'application/json', 'Date': 'Mon, 23 Mar 2026 09:09:28 GMT', 'Request-Context': 'appId=cid-v1:1a14ebe8-38cd-4629-ab2d-40684250fa5b', 'Server': 'Kestrel', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'Transfer-Encoding': 'chunked'}
2026-03-23 09:09:28 [crawlers.pipelines.post_to_api] ERROR: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
Traceback (most recent call last):
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:09:28 [scrapy.core.scraper] ERROR: Error processing {'auction_title': '',
'c_o_2_emission_value': 124,
'car_expert_report_source_url': None,
'category': None,
'color': 'Unknown',
'currency': 'EUR',
'doors_number': 5,
'emission_standard': 'EURO 6',
'engine': '',
'expiration_date': None,
'fuel_type': 'Petrol',
'id': '176781ba-d1c9-5bb2-97e5-a05fe452a13f',
'is_damaged': False,
'is_operable': True,
'is_vat_deductible': True,
'is_vat_included': True,
'link_to_web_offer': 'https://vpauto.fr/vehicule/1de0ca9ab1/audi-a1-sportback-25-tfsi-95-ch-bvm5',
'listing': 'auction',
'location': '44 - NANTES',
'make': 'AUDI',
'model': 'A1 Sportback 25 TFSI 95 ch BVM5',
'odometer': None,
'odometer_reading_unit': 'km',
'origin_country_code': 'FR',
'original_photo_count': 0,
'price': 23200,
'price_includes_vat': True,
'registration_date': '2023-03-09',
'seats_number': 5,
'seller_name': None,
'title': 'AUDI A1 Sportback 25 TFSI 95 ch BVM5',
'transmission': 'automatic',
'trim': 'A1 Sportback 25 TFSI 95 ch BVM5',
'year': 2023}
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/twisted/internet/defer.py", line 1078, in _runCallbacks
current.result = callback( # type: ignore[misc]
File "/usr/local/lib/python3.11/dist-packages/scrapy/utils/defer.py", line 340, in f
return deferred_from_coro(coro_f(*coro_args, **coro_kwargs))
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 114, in process_item
raise e
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:09:29 [crawlers.pipelines.post_to_api] ERROR: vpauto.fr, item_id 8aea35c4-ccf8-58df-b5a6-09e2ee4391b7: Failed to post item to https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
| Status Code: 400
| Response Content: {"error":"Command deserialization failed. Check field types \u2014 a null value may have been sent for a non-nullable field.","path":"/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing","requestBody":"{\u0022Color\u0022: \u0022Unknown\u0022, \u0022OriginalPhotoCount\u0022: 0, \u0022SellerName\u0022: null, \u0022PriceIncludesVat\u0022: true, \u0022Title\u0022: \u0022RENAULT ARKANA EVOLUTION MILD HYBRID 140 EDC\u0022, \u0022Price\u0022: {\u0022AmountSmallestUnit\u0022: 2320000, \u0022CurrencyCode\u0022: \u0022EUR\u0022}, \u0022Make\u0022: \u0022RENAULT\u0022, \u0022Model\u0022: \u0022ARKANA EVOLUTION MILD HYBRID 140 EDC\u0022, \u0022Transmission\u0022: \u0022automatic\u0022, \u0022Engine\u0022: \u0022\u0022, \u0022FuelType\u0022: \u0022Hybrid\u0022, \u0022Odometer\u0022: {\u0022Value\u0022: null, \u0022Unit\u0022: 1}, \u0022RegistrationDate\u0022: \u00222023-04-18\u0022, \u0022LinkToWebOffer\u0022: \u0022https://vpauto.fr/vehicule/292e571db1/renault-arkana-evolution-mild-hybrid-140-edc\u0022, \u0022ExpirationDate\u0022: null, \u0022Location\u0022: \u002244 - NANTES\u0022, \u0022OriginCountryCode\u0022: \u0022FR\u0022, \u0022Trim\u0022: \u0022ARKANA EVOLUTION MILD HYBRID 140 EDC\u0022, \u0022Year\u0022: 2023, \u0022Listing\u0022: \u0022auction\u0022, \u0022Category\u0022: null, \u0022SeatsNumber\u0022: 5, \u0022DoorsNumber\u0022: 5, \u0022CO2EmissionValue\u0022: 131, \u0022EmissionStandard\u0022: null, \u0022CarExpertReportSourceUrl\u0022: null, \u0022IsVatIncluded\u0022: true, \u0022IsVatDeductible\u0022: true, \u0022Id\u0022: \u00228aea35c4-ccf8-58df-b5a6-09e2ee4391b7\u0022}"}
| Response Headers: {'Content-Type': 'application/json', 'Date': 'Mon, 23 Mar 2026 09:09:28 GMT', 'Request-Context': 'appId=cid-v1:1a14ebe8-38cd-4629-ab2d-40684250fa5b', 'Server': 'Kestrel', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'Transfer-Encoding': 'chunked'}
2026-03-23 09:09:29 [crawlers.pipelines.post_to_api] ERROR: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
Traceback (most recent call last):
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:09:29 [scrapy.core.scraper] ERROR: Error processing {'auction_title': '',
'c_o_2_emission_value': 131,
'car_expert_report_source_url': None,
'category': None,
'color': 'Unknown',
'currency': 'EUR',
'doors_number': 5,
'emission_standard': None,
'engine': '',
'expiration_date': None,
'fuel_type': 'Hybrid',
'id': '8aea35c4-ccf8-58df-b5a6-09e2ee4391b7',
'is_damaged': False,
'is_operable': True,
'is_vat_deductible': True,
'is_vat_included': True,
'link_to_web_offer': 'https://vpauto.fr/vehicule/292e571db1/renault-arkana-evolution-mild-hybrid-140-edc',
'listing': 'auction',
'location': '44 - NANTES',
'make': 'RENAULT',
'model': 'ARKANA EVOLUTION MILD HYBRID 140 EDC',
'odometer': None,
'odometer_reading_unit': 'km',
'origin_country_code': 'FR',
'original_photo_count': 0,
'price': 23200,
'price_includes_vat': True,
'registration_date': '2023-04-18',
'seats_number': 5,
'seller_name': None,
'title': 'RENAULT ARKANA EVOLUTION MILD HYBRID 140 EDC',
'transmission': 'automatic',
'trim': 'ARKANA EVOLUTION MILD HYBRID 140 EDC',
'year': 2023}
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/twisted/internet/defer.py", line 1078, in _runCallbacks
current.result = callback( # type: ignore[misc]
File "/usr/local/lib/python3.11/dist-packages/scrapy/utils/defer.py", line 340, in f
return deferred_from_coro(coro_f(*coro_args, **coro_kwargs))
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 114, in process_item
raise e
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:09:29 [crawlers.pipelines.post_to_api] ERROR: vpauto.fr, item_id 5d2ef7a9-9f11-5740-a9c8-b10d57d612d7: Failed to post item to https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
| Status Code: 400
| Response Content: {"error":"Command deserialization failed. Check field types \u2014 a null value may have been sent for a non-nullable field.","path":"/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing","requestBody":"{\u0022Color\u0022: \u0022Unknown\u0022, \u0022OriginalPhotoCount\u0022: 0, \u0022SellerName\u0022: null, \u0022PriceIncludesVat\u0022: true, \u0022Title\u0022: \u0022FORD RANGER 0621\u0022, \u0022Price\u0022: {\u0022AmountSmallestUnit\u0022: 2320000, \u0022CurrencyCode\u0022: \u0022EUR\u0022}, \u0022Make\u0022: \u0022FORD\u0022, \u0022Model\u0022: \u0022RANGER 0621\u0022, \u0022Transmission\u0022: \u0022automatic\u0022, \u0022Engine\u0022: \u0022\u0022, \u0022FuelType\u0022: \u0022Diesel\u0022, \u0022Odometer\u0022: {\u0022Value\u0022: null, \u0022Unit\u0022: 1}, \u0022RegistrationDate\u0022: \u00222023-04-04\u0022, \u0022LinkToWebOffer\u0022: \u0022https://vpauto.fr/vehicule/38313d4cf8/ford-ranger-0621\u0022, \u0022ExpirationDate\u0022: null, \u0022Location\u0022: \u002256 - LORIENT\u0022, \u0022OriginCountryCode\u0022: \u0022FR\u0022, \u0022Trim\u0022: \u0022RANGER 0621\u0022, \u0022Year\u0022: 2023, \u0022Listing\u0022: \u0022auction\u0022, \u0022Category\u0022: null, \u0022SeatsNumber\u0022: 4, \u0022DoorsNumber\u0022: 4, \u0022CO2EmissionValue\u0022: 254, \u0022EmissionStandard\u0022: null, \u0022CarExpertReportSourceUrl\u0022: null, \u0022IsVatIncluded\u0022: true, \u0022IsVatDeductible\u0022: true, \u0022Id\u0022: \u00225d2ef7a9-9f11-5740-a9c8-b10d57d612d7\u0022}"}
| Response Headers: {'Content-Type': 'application/json', 'Date': 'Mon, 23 Mar 2026 09:09:29 GMT', 'Request-Context': 'appId=cid-v1:1a14ebe8-38cd-4629-ab2d-40684250fa5b', 'Server': 'Kestrel', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'Transfer-Encoding': 'chunked'}
2026-03-23 09:09:29 [crawlers.pipelines.post_to_api] ERROR: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
Traceback (most recent call last):
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:09:29 [scrapy.core.scraper] ERROR: Error processing {'auction_title': '',
'c_o_2_emission_value': 254,
'car_expert_report_source_url': None,
'category': None,
'color': 'Unknown',
'currency': 'EUR',
'doors_number': 4,
'emission_standard': None,
'engine': '',
'expiration_date': None,
'fuel_type': 'Diesel',
'id': '5d2ef7a9-9f11-5740-a9c8-b10d57d612d7',
'is_damaged': False,
'is_operable': True,
'is_vat_deductible': True,
'is_vat_included': True,
'link_to_web_offer': 'https://vpauto.fr/vehicule/38313d4cf8/ford-ranger-0621',
'listing': 'auction',
'location': '56 - LORIENT',
'make': 'FORD',
'model': 'RANGER 0621',
'odometer': None,
'odometer_reading_unit': 'km',
'origin_country_code': 'FR',
'original_photo_count': 0,
'price': 23200,
'price_includes_vat': True,
'registration_date': '2023-04-04',
'seats_number': 4,
'seller_name': None,
'title': 'FORD RANGER 0621',
'transmission': 'automatic',
'trim': 'RANGER 0621',
'year': 2023}
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/twisted/internet/defer.py", line 1078, in _runCallbacks
current.result = callback( # type: ignore[misc]
File "/usr/local/lib/python3.11/dist-packages/scrapy/utils/defer.py", line 340, in f
return deferred_from_coro(coro_f(*coro_args, **coro_kwargs))
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 114, in process_item
raise e
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:09:30 [crawlers.pipelines.post_to_api] ERROR: vpauto.fr, item_id d738f13c-0b72-5e21-8932-87a1817ce0e9: Failed to post item to https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
| Status Code: 400
| Response Content: {"error":"Command deserialization failed. Check field types \u2014 a null value may have been sent for a non-nullable field.","path":"/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing","requestBody":"{\u0022Color\u0022: \u0022Unknown\u0022, \u0022OriginalPhotoCount\u0022: 0, \u0022SellerName\u0022: null, \u0022PriceIncludesVat\u0022: true, \u0022Title\u0022: \u0022MITSUBISHI SPACE STAR INFORM\u0022, \u0022Price\u0022: {\u0022AmountSmallestUnit\u0022: 2320000, \u0022CurrencyCode\u0022: \u0022EUR\u0022}, \u0022Make\u0022: \u0022MITSUBISHI\u0022, \u0022Model\u0022: \u0022SPACE STAR INFORM\u0022, \u0022Transmission\u0022: \u0022automatic\u0022, \u0022Engine\u0022: \u0022\u0022, \u0022FuelType\u0022: \u0022Petrol\u0022, \u0022Odometer\u0022: {\u0022Value\u0022: null, \u0022Unit\u0022: 1}, \u0022RegistrationDate\u0022: \u00222023-02-02\u0022, \u0022LinkToWebOffer\u0022: \u0022https://vpauto.fr/vehicule/35fde5a6f8/mitsubishi-space-star-inform\u0022, \u0022ExpirationDate\u0022: null, \u0022Location\u0022: \u002256 - LORIENT\u0022, \u0022OriginCountryCode\u0022: \u0022FR\u0022, \u0022Trim\u0022: \u0022SPACE STAR INFORM\u0022, \u0022Year\u0022: 2023, \u0022Listing\u0022: \u0022auction\u0022, \u0022Category\u0022: null, \u0022SeatsNumber\u0022: 5, \u0022DoorsNumber\u0022: 5, \u0022CO2EmissionValue\u0022: 112, \u0022EmissionStandard\u0022: null, \u0022CarExpertReportSourceUrl\u0022: null, \u0022IsVatIncluded\u0022: true, \u0022IsVatDeductible\u0022: true, \u0022Id\u0022: \u0022d738f13c-0b72-5e21-8932-87a1817ce0e9\u0022}"}
| Response Headers: {'Content-Type': 'application/json', 'Date': 'Mon, 23 Mar 2026 09:09:29 GMT', 'Request-Context': 'appId=cid-v1:1a14ebe8-38cd-4629-ab2d-40684250fa5b', 'Server': 'Kestrel', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'Transfer-Encoding': 'chunked'}
2026-03-23 09:09:30 [crawlers.pipelines.post_to_api] ERROR: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
Traceback (most recent call last):
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:09:30 [scrapy.core.scraper] ERROR: Error processing {'auction_title': '',
'c_o_2_emission_value': 112,
'car_expert_report_source_url': None,
'category': None,
'color': 'Unknown',
'currency': 'EUR',
'doors_number': 5,
'emission_standard': None,
'engine': '',
'expiration_date': None,
'fuel_type': 'Petrol',
'id': 'd738f13c-0b72-5e21-8932-87a1817ce0e9',
'is_damaged': False,
'is_operable': True,
'is_vat_deductible': True,
'is_vat_included': True,
'link_to_web_offer': 'https://vpauto.fr/vehicule/35fde5a6f8/mitsubishi-space-star-inform',
'listing': 'auction',
'location': '56 - LORIENT',
'make': 'MITSUBISHI',
'model': 'SPACE STAR INFORM',
'odometer': None,
'odometer_reading_unit': 'km',
'origin_country_code': 'FR',
'original_photo_count': 0,
'price': 23200,
'price_includes_vat': True,
'registration_date': '2023-02-02',
'seats_number': 5,
'seller_name': None,
'title': 'MITSUBISHI SPACE STAR INFORM',
'transmission': 'automatic',
'trim': 'SPACE STAR INFORM',
'year': 2023}
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/twisted/internet/defer.py", line 1078, in _runCallbacks
current.result = callback( # type: ignore[misc]
File "/usr/local/lib/python3.11/dist-packages/scrapy/utils/defer.py", line 340, in f
return deferred_from_coro(coro_f(*coro_args, **coro_kwargs))
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 114, in process_item
raise e
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:09:30 [crawlers.pipelines.post_to_api] ERROR: vpauto.fr, item_id 66ca3f8a-9f0f-5e97-985c-62f12d707318: Failed to post item to https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
| Status Code: 400
| Response Content: {"error":"Command deserialization failed. Check field types \u2014 a null value may have been sent for a non-nullable field.","path":"/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing","requestBody":"{\u0022Color\u0022: \u0022Unknown\u0022, \u0022OriginalPhotoCount\u0022: 0, \u0022SellerName\u0022: null, \u0022PriceIncludesVat\u0022: true, \u0022Title\u0022: \u0022KIA Stonic 1.0 T-GDi 100 ch DCT7 Active\u0022, \u0022Price\u0022: {\u0022AmountSmallestUnit\u0022: 2320000, \u0022CurrencyCode\u0022: \u0022EUR\u0022}, \u0022Make\u0022: \u0022KIA\u0022, \u0022Model\u0022: \u0022Stonic 1.0 T-GDi 100 ch DCT7 Active\u0022, \u0022Transmission\u0022: \u0022automatic\u0022, \u0022Engine\u0022: \u00221.0L\u0022, \u0022FuelType\u0022: \u0022Petrol\u0022, \u0022Odometer\u0022: {\u0022Value\u0022: null, \u0022Unit\u0022: 1}, \u0022RegistrationDate\u0022: \u00222023-11-21\u0022, \u0022LinkToWebOffer\u0022: \u0022https://vpauto.fr/vehicule/4580b384bf/kia-stonic-10-t-gdi-100-ch-dct7-active\u0022, \u0022ExpirationDate\u0022: null, \u0022Location\u0022: \u002276 - ROUEN\u0022, \u0022OriginCountryCode\u0022: \u0022FR\u0022, \u0022Trim\u0022: \u0022Stonic 1.0 T-GDi 100 ch DCT7 Active\u0022, \u0022Year\u0022: 2023, \u0022Listing\u0022: \u0022auction\u0022, \u0022Category\u0022: null, \u0022SeatsNumber\u0022: 5, \u0022DoorsNumber\u0022: 5, \u0022CO2EmissionValue\u0022: 125, \u0022EmissionStandard\u0022: null, \u0022CarExpertReportSourceUrl\u0022: null, \u0022IsVatIncluded\u0022: true, \u0022IsVatDeductible\u0022: true, \u0022Id\u0022: \u002266ca3f8a-9f0f-5e97-985c-62f12d707318\u0022}"}
| Response Headers: {'Content-Type': 'application/json', 'Date': 'Mon, 23 Mar 2026 09:09:29 GMT', 'Request-Context': 'appId=cid-v1:1a14ebe8-38cd-4629-ab2d-40684250fa5b', 'Server': 'Kestrel', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'Transfer-Encoding': 'chunked'}
2026-03-23 09:09:30 [crawlers.pipelines.post_to_api] ERROR: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
Traceback (most recent call last):
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:09:30 [scrapy.core.scraper] ERROR: Error processing {'auction_title': '',
'c_o_2_emission_value': 125,
'car_expert_report_source_url': None,
'category': None,
'color': 'Unknown',
'currency': 'EUR',
'doors_number': 5,
'emission_standard': None,
'engine': '1.0L',
'expiration_date': None,
'fuel_type': 'Petrol',
'id': '66ca3f8a-9f0f-5e97-985c-62f12d707318',
'is_damaged': False,
'is_operable': True,
'is_vat_deductible': True,
'is_vat_included': True,
'link_to_web_offer': 'https://vpauto.fr/vehicule/4580b384bf/kia-stonic-10-t-gdi-100-ch-dct7-active',
'listing': 'auction',
'location': '76 - ROUEN',
'make': 'KIA',
'model': 'Stonic 1.0 T-GDi 100 ch DCT7 Active',
'odometer': None,
'odometer_reading_unit': 'km',
'origin_country_code': 'FR',
'original_photo_count': 0,
'price': 23200,
'price_includes_vat': True,
'registration_date': '2023-11-21',
'seats_number': 5,
'seller_name': None,
'title': 'KIA Stonic 1.0 T-GDi 100 ch DCT7 Active',
'transmission': 'automatic',
'trim': 'Stonic 1.0 T-GDi 100 ch DCT7 Active',
'year': 2023}
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/twisted/internet/defer.py", line 1078, in _runCallbacks
current.result = callback( # type: ignore[misc]
File "/usr/local/lib/python3.11/dist-packages/scrapy/utils/defer.py", line 340, in f
return deferred_from_coro(coro_f(*coro_args, **coro_kwargs))
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 114, in process_item
raise e
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:09:40 [crawlers.pipelines.post_to_api] ERROR: vpauto.fr, item_id 69e13b8a-807d-5861-903f-3a23dc3b1bd0: Failed to post item to https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
| Status Code: 400
| Response Content: {"error":"Command deserialization failed. Check field types \u2014 a null value may have been sent for a non-nullable field.","path":"/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing","requestBody":"{\u0022Color\u0022: \u0022Unknown\u0022, \u0022OriginalPhotoCount\u0022: 0, \u0022SellerName\u0022: null, \u0022PriceIncludesVat\u0022: true, \u0022Title\u0022: \u0022DACIA Sandero ECO-G 100 Stepway Essential\u0022, \u0022Price\u0022: {\u0022AmountSmallestUnit\u0022: 2320000, \u0022CurrencyCode\u0022: \u0022EUR\u0022}, \u0022Make\u0022: \u0022DACIA\u0022, \u0022Model\u0022: \u0022Sandero ECO-G 100 Stepway Essential\u0022, \u0022Transmission\u0022: \u0022manual\u0022, \u0022Engine\u0022: \u0022\u0022, \u0022FuelType\u0022: \u0022LPG / Petrol\u0022, \u0022Odometer\u0022: {\u0022Value\u0022: null, \u0022Unit\u0022: 1}, \u0022RegistrationDate\u0022: \u00222024-01-05\u0022, \u0022LinkToWebOffer\u0022: \u0022https://vpauto.fr/vehicule/b67c4be9b1/dacia-sandero-eco-g-100-stepway-essential\u0022, \u0022ExpirationDate\u0022: null, \u0022Location\u0022: \u002244 - NANTES\u0022, \u0022OriginCountryCode\u0022: \u0022FR\u0022, \u0022Trim\u0022: \u0022Sandero ECO-G 100 Stepway Essential\u0022, \u0022Year\u0022: 2024, \u0022Listing\u0022: \u0022auction\u0022, \u0022Category\u0022: null, \u0022SeatsNumber\u0022: 5, \u0022DoorsNumber\u0022: 5, \u0022CO2EmissionValue\u0022: 114, \u0022EmissionStandard\u0022: null, \u0022CarExpertReportSourceUrl\u0022: null, \u0022IsVatIncluded\u0022: true, \u0022IsVatDeductible\u0022: true, \u0022Id\u0022: \u002269e13b8a-807d-5861-903f-3a23dc3b1bd0\u0022}"}
| Response Headers: {'Content-Type': 'application/json', 'Date': 'Mon, 23 Mar 2026 09:09:40 GMT', 'Request-Context': 'appId=cid-v1:1a14ebe8-38cd-4629-ab2d-40684250fa5b', 'Server': 'Kestrel', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'Transfer-Encoding': 'chunked'}
2026-03-23 09:09:40 [crawlers.pipelines.post_to_api] ERROR: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
Traceback (most recent call last):
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:09:40 [scrapy.core.scraper] ERROR: Error processing {'auction_title': '',
'c_o_2_emission_value': 114,
'car_expert_report_source_url': None,
'category': None,
'color': 'Unknown',
'currency': 'EUR',
'doors_number': 5,
'emission_standard': None,
'engine': '',
'expiration_date': None,
'fuel_type': 'LPG / Petrol',
'id': '69e13b8a-807d-5861-903f-3a23dc3b1bd0',
'is_damaged': False,
'is_operable': True,
'is_vat_deductible': True,
'is_vat_included': True,
'link_to_web_offer': 'https://vpauto.fr/vehicule/b67c4be9b1/dacia-sandero-eco-g-100-stepway-essential',
'listing': 'auction',
'location': '44 - NANTES',
'make': 'DACIA',
'model': 'Sandero ECO-G 100 Stepway Essential',
'odometer': None,
'odometer_reading_unit': 'km',
'origin_country_code': 'FR',
'original_photo_count': 0,
'price': 23200,
'price_includes_vat': True,
'registration_date': '2024-01-05',
'seats_number': 5,
'seller_name': None,
'title': 'DACIA Sandero ECO-G 100 Stepway Essential',
'transmission': 'manual',
'trim': 'Sandero ECO-G 100 Stepway Essential',
'year': 2024}
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/twisted/internet/defer.py", line 1078, in _runCallbacks
current.result = callback( # type: ignore[misc]
File "/usr/local/lib/python3.11/dist-packages/scrapy/utils/defer.py", line 340, in f
return deferred_from_coro(coro_f(*coro_args, **coro_kwargs))
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 114, in process_item
raise e
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:09:42 [crawlers.pipelines.post_to_api] ERROR: vpauto.fr, item_id 6442ce01-c016-5197-b97e-dc445c641f59: Failed to post item to https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
| Status Code: 400
| Response Content: {"error":"Command deserialization failed. Check field types \u2014 a null value may have been sent for a non-nullable field.","path":"/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing","requestBody":"{\u0022Color\u0022: \u0022Unknown\u0022, \u0022OriginalPhotoCount\u0022: 0, \u0022SellerName\u0022: null, \u0022PriceIncludesVat\u0022: true, \u0022Title\u0022: \u0022PEUGEOT Boxer Chassis Simple Cabine PR\u0022, \u0022Price\u0022: {\u0022AmountSmallestUnit\u0022: 2320000, \u0022CurrencyCode\u0022: \u0022EUR\u0022}, \u0022Make\u0022: \u0022PEUGEOT\u0022, \u0022Model\u0022: \u0022Boxer Chassis Simple Cabine PR\u0022, \u0022Transmission\u0022: \u0022automatic\u0022, \u0022Engine\u0022: \u0022\u0022, \u0022FuelType\u0022: \u0022Diesel\u0022, \u0022Odometer\u0022: {\u0022Value\u0022: null, \u0022Unit\u0022: 1}, \u0022RegistrationDate\u0022: \u00222024-10-28\u0022, \u0022LinkToWebOffer\u0022: \u0022https://vpauto.fr/vehicule/a904b90ab1/peugeot-boxer-chassis-simple-cabine-pr\u0022, \u0022ExpirationDate\u0022: null, \u0022Location\u0022: \u002244 - NANTES\u0022, \u0022OriginCountryCode\u0022: \u0022FR\u0022, \u0022Trim\u0022: \u0022Boxer Chassis Simple Cabine PR\u0022, \u0022Year\u0022: 2024, \u0022Listing\u0022: \u0022auction\u0022, \u0022Category\u0022: null, \u0022SeatsNumber\u0022: 3, \u0022DoorsNumber\u0022: null, \u0022CO2EmissionValue\u0022: 308, \u0022EmissionStandard\u0022: null, \u0022CarExpertReportSourceUrl\u0022: null, \u0022IsVatIncluded\u0022: true, \u0022IsVatDeductible\u0022: true, \u0022Id\u0022: \u00226442ce01-c016-5197-b97e-dc445c641f59\u0022}"}
| Response Headers: {'Content-Type': 'application/json', 'Date': 'Mon, 23 Mar 2026 09:09:41 GMT', 'Request-Context': 'appId=cid-v1:1a14ebe8-38cd-4629-ab2d-40684250fa5b', 'Server': 'Kestrel', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'Transfer-Encoding': 'chunked'}
2026-03-23 09:09:42 [crawlers.pipelines.post_to_api] ERROR: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
Traceback (most recent call last):
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:09:42 [scrapy.core.scraper] ERROR: Error processing {'auction_title': '',
'c_o_2_emission_value': 308,
'car_expert_report_source_url': None,
'category': None,
'color': 'Unknown',
'currency': 'EUR',
'doors_number': None,
'emission_standard': None,
'engine': '',
'expiration_date': None,
'fuel_type': 'Diesel',
'id': '6442ce01-c016-5197-b97e-dc445c641f59',
'is_damaged': False,
'is_operable': True,
'is_vat_deductible': True,
'is_vat_included': True,
'link_to_web_offer': 'https://vpauto.fr/vehicule/a904b90ab1/peugeot-boxer-chassis-simple-cabine-pr',
'listing': 'auction',
'location': '44 - NANTES',
'make': 'PEUGEOT',
'model': 'Boxer Chassis Simple Cabine PR',
'odometer': None,
'odometer_reading_unit': 'km',
'origin_country_code': 'FR',
'original_photo_count': 0,
'price': 23200,
'price_includes_vat': True,
'registration_date': '2024-10-28',
'seats_number': 3,
'seller_name': None,
'title': 'PEUGEOT Boxer Chassis Simple Cabine PR',
'transmission': 'automatic',
'trim': 'Boxer Chassis Simple Cabine PR',
'year': 2024}
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/twisted/internet/defer.py", line 1078, in _runCallbacks
current.result = callback( # type: ignore[misc]
File "/usr/local/lib/python3.11/dist-packages/scrapy/utils/defer.py", line 340, in f
return deferred_from_coro(coro_f(*coro_args, **coro_kwargs))
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 114, in process_item
raise e
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:10:00 [crawlers.pipelines.post_to_api] ERROR: vpauto.fr, item_id 47c3fd8c-f9d0-533c-96e8-fe1ff6d8c980: Failed to post item to https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
| Status Code: 400
| Response Content: {"error":"Command deserialization failed. Check field types \u2014 a null value may have been sent for a non-nullable field.","path":"/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing","requestBody":"{\u0022Color\u0022: \u0022Unknown\u0022, \u0022OriginalPhotoCount\u0022: 0, \u0022SellerName\u0022: null, \u0022PriceIncludesVat\u0022: true, \u0022Title\u0022: \u0022CITROEN C3 Aircross PureTech 130 S\u0026S EAT6\u0022, \u0022Price\u0022: {\u0022AmountSmallestUnit\u0022: 2320000, \u0022CurrencyCode\u0022: \u0022EUR\u0022}, \u0022Make\u0022: \u0022CITROEN\u0022, \u0022Model\u0022: \u0022C3 Aircross PureTech 130 S\u0026S EAT6\u0022, \u0022Transmission\u0022: \u0022automatic\u0022, \u0022Engine\u0022: \u0022\u0022, \u0022FuelType\u0022: \u0022Petrol\u0022, \u0022Odometer\u0022: {\u0022Value\u0022: null, \u0022Unit\u0022: 1}, \u0022RegistrationDate\u0022: \u00222024-07-29\u0022, \u0022LinkToWebOffer\u0022: \u0022https://vpauto.fr/vehicule/9194cde9b1/citroen-c3-aircross-puretech-130-ss-eat6\u0022, \u0022ExpirationDate\u0022: null, \u0022Location\u0022: \u002276 - ROUEN\u0022, \u0022OriginCountryCode\u0022: \u0022FR\u0022, \u0022Trim\u0022: \u0022C3 Aircross PureTech 130 S\u0026S EAT6\u0022, \u0022Year\u0022: 2024, \u0022Listing\u0022: \u0022auction\u0022, \u0022Category\u0022: null, \u0022SeatsNumber\u0022: 5, \u0022DoorsNumber\u0022: 5, \u0022CO2EmissionValue\u0022: 146, \u0022EmissionStandard\u0022: \u0022EURO 6\u0022, \u0022CarExpertReportSourceUrl\u0022: null, \u0022IsVatIncluded\u0022: true, \u0022IsVatDeductible\u0022: true, \u0022Id\u0022: \u002247c3fd8c-f9d0-533c-96e8-fe1ff6d8c980\u0022}"}
| Response Headers: {'Content-Type': 'application/json', 'Date': 'Mon, 23 Mar 2026 09:09:59 GMT', 'Request-Context': 'appId=cid-v1:1a14ebe8-38cd-4629-ab2d-40684250fa5b', 'Server': 'Kestrel', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'Transfer-Encoding': 'chunked'}
2026-03-23 09:10:00 [crawlers.pipelines.post_to_api] ERROR: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
Traceback (most recent call last):
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing
2026-03-23 09:10:00 [scrapy.core.scraper] ERROR: Error processing {'auction_title': '',
'c_o_2_emission_value': 146,
'car_expert_report_source_url': None,
'category': None,
'color': 'Unknown',
'currency': 'EUR',
'doors_number': 5,
'emission_standard': 'EURO 6',
'engine': '',
'expiration_date': None,
'fuel_type': 'Petrol',
'id': '47c3fd8c-f9d0-533c-96e8-fe1ff6d8c980',
'is_damaged': False,
'is_operable': True,
'is_vat_deductible': True,
'is_vat_included': True,
'link_to_web_offer': 'https://vpauto.fr/vehicule/9194cde9b1/citroen-c3-aircross-puretech-130-ss-eat6',
'listing': 'auction',
'location': '76 - ROUEN',
'make': 'CITROEN',
'model': 'C3 Aircross PureTech 130 S&S EAT6',
'odometer': None,
'odometer_reading_unit': 'km',
'origin_country_code': 'FR',
'original_photo_count': 0,
'price': 23200,
'price_includes_vat': True,
'registration_date': '2024-07-29',
'seats_number': 5,
'seller_name': None,
'title': 'CITROEN C3 Aircross PureTech 130 S&S EAT6',
'transmission': 'automatic',
'trim': 'C3 Aircross PureTech 130 S&S EAT6',
'year': 2024}
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/twisted/internet/defer.py", line 1078, in _runCallbacks
current.result = callback( # type: ignore[misc]
File "/usr/local/lib/python3.11/dist-packages/scrapy/utils/defer.py", line 340, in f
return deferred_from_coro(coro_f(*coro_args, **coro_kwargs))
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 114, in process_item
raise e
File "/usr/src/app/crawlers/pipelines/post_to_api.py", line 94, in process_item
response.raise_for_status()
File "/usr/local/lib/python3.11/dist-packages/requests/models.py", line 1021, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.app.infinit.cc/api/command/Alx.Cars.Contracts.Internal.Sourcing.AddListing