Download the PHP package northbees/autotrader-api without Composer
On this page you can find all versions of the php package northbees/autotrader-api. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download northbees/autotrader-api
More information about northbees/autotrader-api
Files in northbees/autotrader-api
Package autotrader-api
Short Description A Laravel SDK for the Autotrader API - vehicles, valuations, stock management, finance, deals, and more.
License MIT
Homepage https://github.com/northbees/autotrader-api
Informations about the package autotrader-api
NorthBees Autotrader API
A Laravel SDK for the Autotrader API - vehicles, valuations, stock management, finance, deals, and more.
Requirements
- PHP 8.4+
- Laravel 11 or 12
Installation
The package uses Laravel's auto-discovery, so the service provider will be registered automatically.
Publish the configuration file:
Configuration
Add the following to your .env file:
See .env.example for all available options.
Authentication is handled automatically when any API call is made. The token will be cached.
To use different credentials or a different environment for a single client — for example one
Autotrader account per tenant — call withCredentials() and/or withEnvironment(). Both return a
copy, leaving the original client on config. Tokens are cached per endpoint and API key.
Usage
The package is a lightweight wrapper around the Autotrader API.
Vehicle Request
Search Request
Search API response notes:
financeOffers.headlineOffer: Available whenfinanceOffersoption is enabled (Aug 2025)vehicle.origin: Indicates if the vehicle is UK or Non UK specification (Oct 2025)rarityRating,valueRating: Autotrader intelligence ratings for vehicle features (Aug 2025)financeOptionsearch parameter is deprecated - usemonthlyPriceOptioninstead (Feb 2026)adverts.retailAdverts.advertiserVehicleHighlight1,advertiserVehicleHighlight2,advertiserVehicleHighlight3andadverts.retailAdverts.priceCommentary(26 Jun 2026) - Seller Highlights and Seller Comments configured by the advertiser
Valuation Request
Future and Historic Valuation Requests
Future and Historic Valuation API response notes:
amountNoVatGBPfields for retail, trade, and partExchange valuations are now available in Trended Valuations and Future Valuations APIs (Mar 2026) - LCVs only, produced alongsideamountExVatGBP
Taxonomy Requests
Taxonomy API response notes:
rarityRating,valueRating: Autotrader intelligence ratings for vehicle features (Aug 2025)- Manufacturer warranty details (paintwork, standard, corrosion, battery) available in Taxonomy and Vehicles APIs (Oct 2025)
Image Upload
Vehicle Metrics
Finance Requests
Finance API changes (Jun 2026):
applicant.existingLoanMonthlyPayment.amountGBPadded to the applications endpoint - the applicant's existing loan monthly payment. If not provided, a lender may not be able to progress the quote to proposals depending on their own criteria; where this is the case the requirement is listed underproposalRequirementsin the quotes responsefinanceTermsobject added to the Quotes response - exposes the terms used to produce the quote (e.g.productType,termMonths,estimatedAnnualMileage,cashPrice,deposit,partExchange,outstandingFinance). Previously only available as part of the finance application process
Finance API field removals (Mar 2026):
financeTerms.producthas been removed - usefinanceTerms.productTypeproductin quotes/proposals has been removed - useproductTypeaffordability.replacingExistingLoanhas been removed - useapplicant.replacingExistingLoanaffordability.affordableLoanhas been removedproductNamehas been added to quotes for lender specific product name- Anonymised finance applications now return HTTP 200 with
{applicationId, status: "Expired"}instead of HTTP 451
Finance API field removals (Oct/Nov 2025):
applicant.surnamehas been removed - useapplicant.lastNameapplicant.monthlyRentOrMortgageGBP.amountGBPhas been removed - useapplicant.monthlyRentOrMortgage.amountGBPapplicant.monthlyChildCareGBP.amountGBPhas been removed - useapplicant.monthlyChildcare.amountGBPquestionsin quotes has been removed - usequotesRequirementsineligibilityReasonsin quotes has been removed - usequotesRequirementsproposalRequirementsandquotesRequirementsadded to Quotes response
Stock Requests
Stock API response notes:
eligibleContractAllowances,allocatedContractAllowance: Contract allowance information (Aug 2025)vehicle.origin: Indicates if the vehicle is UK or Non UK specification (Oct 2025)- tradeAdvert can now be set to NOT_PUBLISHED when updating stock lifecycle to SOLD (Feb 2026)
responseMetricsnow includes a natural/paid breakdown when requested withresponseMetrics => 'true'(Jun 2026). Each of theyesterdayandlastWeekobjects now exposesnaturalAdvertViewsandpaidPPCAdvertViews(totallingadvertViews), plusnaturalSearchViewsandpaidPPCSearchViews(totallingsearchViews)adverts.retailAdverts.advertiserVehicleHighlight1,advertiserVehicleHighlight2,advertiserVehicleHighlight3andadverts.retailAdverts.priceCommentary(26 Jun 2026) - up to 3 Seller Highlights plus Seller Comments shown on the Autotrader website. Also returned in Stock Notifications. As advertiser-settable fields they can be sent throughcreateStock()/updateStock()underadverts.retailAdverts
Deals Requests
Deals API response notes:
buyingSignals: Consumer behaviour indicators including dealIntentScore, intent, localCustomer, advertSaved, preferences (Nov 2025)preferencesnow includeswheelbaseTypes(Mar 2026) - only available for Van consumer activity
reservationobject: Provides reservation status values Requested and Reserved. Replaces the now-removedstock.reservationStatusandconsumerReservationFeeStatusfields (removed May 2026)
Deal Notifications:
- Notification
typefield now usesDEAL_CREATE(initial deal creation) orDEAL_UPDATE(any subsequent update) instead of the previousDEALvalue (May 2026) - Use the
AutotraderDealNotificationTypesenum to match against received notification types
Messages Requests
Delivery Requests
Integrations Requests
Integrations API notes:
- Returns a view of what integrations a partner has access to (API, Datafeeds, Exports)
- For API integrations, shows all capabilities the integration has access to
- Introduced Nov 2025
notificationsobject added (Jun 2026) - shows which notifications are set up against a given integration. May includeadvertiserNotification,dealsNotification, andstockNotification, each with aurl,rateLimit(nullable) andenabledflag. Use theAutotraderNotificationTypesenum (ADVERTISER,DEALS,STOCK) to reference the notification keys
Advertisers Requests
Advertisers API response notes:
capabilitiesobject: Lists atConnect capabilities a partner's application is permitted to use on behalf of an advertiser (Oct 2025)priceCommentaryandpriceCommentaryManufacturerApproved(26 Jun 2026): Seller Comments templates configured at retailer (site) level.priceCommentaryManufacturerApprovedis an array of{ make, manufacturerApproved, priceCommentary }entries;priceCommentaryis the default applied when a vehicle is not a specified make or approved. Optional configuration, so may be empty
Valuation API Response Notes
amountNoVatGBPfields for retail, trade, and part exchange valuations are available for vehicles not requiring VAT (Aug 2025)- Also available in Historic Valuations and Vehicles APIs
Vehicle API Response Notes
rarityRating,valueRating: Autotrader intelligence ratings for vehicle features (Aug 2025)- Manufacturer warranty details (paintwork, standard, corrosion, battery) provided by manufacturer for brand new vehicles (Oct 2025)
- Response envelope (Aug 2026): the API returns
{"results": [{"vehicle": {...}}], "totalResults": 1}. The historicvehicleroot was served alongside it until 30 November 2026 - Warnings (Aug 2026): warnings are split between service level (root
warnings) and record level (results[].warnings) - Failed lookups (30 November 2026): a registration that matches no vehicle returns
200 OKwith emptyresultsrather than404 Not Found, sogetVehicle()no longer throws — checktotalResults(or an emptyresultsarray) instead vehicle.previousOwnersis withdrawn (30 November 2026). Readhistory.previousOwnersinstead — request it with thehistoryoption
From 2.0.0 getVehicle() returns the response exactly as the API sends it, with nothing
added, removed or reshaped. Read record data from results.0:
1.x flattened this response onto the root and added serviceWarnings / recordWarnings
keys. See UPGRADING.md to migrate.
Odometer readings. valuations and vehicleMetrics are derived from mileage, so
requesting either without $odometerReadingMiles throws AutotraderMissingOdometerException.
Every other option works without one.
Testing
Code Style
This package uses Laravel Pint for code style:
Static Analysis
PHPStan with Larastan is used for static analysis:
Changelog
Please see CHANGELOG for more information on what has changed recently.
Contributing
Please see CONTRIBUTING for details.
Security Vulnerabilities
Please review our security policy on how to report security vulnerabilities.
License
The MIT License (MIT). Please see License File for more information.