Dealer Tools

Dealer Data & API

Plug AUTOLINE's full catalogue straight into your own shop, marketplace or price list — always-current XML, Excel and JSON exports plus a per-product lookup API, refreshed automatically from our warehouse.

Auto-updating · 4,151 products · updated 15 hours ago XML · CSV · JSON · REST
🌐
Feeds are exclusive to wholesale partners Log in with your wholesale account to get your personal feed URLs, your key and your net wholesale prices — or apply for an account below.
Open a wholesale account

Quick start

Copy your feed URL

Grab the XML, CSV or JSON link below — it already contains your personal key.

Add it to your software

In your importer (WooCommerce, PrestaShop, Excel…) create a scheduled import from the URL.

Let it sync

Schedule it hourly or daily. Your catalogue mirrors ours automatically from then on.

Your data feeds

Full product data, prices and live stock in the format your software prefers — reserved for AUTOLINE wholesale partners.

Product feed XML

For eshop importers (WooCommerce, PrestaShop, custom). Point your importer here and schedule it.

🔒 Available with a wholesale account. Log in

Spreadsheet export CSV

Opens in Excel / Google Sheets. Ideal for price lists, bulk edits and one-off imports.

🔒 Available with a wholesale account. Log in

Developer feed JSON

The same catalogue as clean JSON — for scripts, middleware and custom integrations.

🔒 Available with a wholesale account. Log in

Run your own shop on AUTOLINE data

Sell our catalogue without holding stock or maintaining data. We keep the feed current; your store stays in sync automatically.

🔄
Always current

Prices, stock, photos and specs are rebuilt every hour from our warehouse — no manual edits.

📦
Full catalogue

Thousands of products & variations with images, categories, brands, GTIN/EAN barcodes and weights.

💶
Your wholesale pricing

Feeds carry your net (ex-VAT) price after your discount — identical to what you see logged in.

🔌
Zero maintenance

One URL, scheduled by your store. Set it once and forget it.

API reference

Three endpoints, plain HTTPS GET, no SDK required. Everything below works in a browser too.

EndpointDescription
GET /?al_feed=productsFull catalogue as XML (default), CSV or JSON. Accepts every filter parameter below.
GET /?al_feed=item&sku=…Single-product lookup by SKU — returns the product and all its variations as JSON. Perfect for live price/stock checks at order time.
GET /?al_feed=legacy&key=…The compatibility feed (old feed.xml schema). Requires a dealer key.

Parameters (combine freely)

ParameterValuesDescription
formatxml · csv · jsonOutput format. Default xml.
keyyour personal keyYour dealer key. Adds your net wholesale prices to the output.
instock1Only items currently in stock.
typesimple · variable · variationLimit to product types. Variations are the sellable units of variable products.
brandcomma-separated listExact brand name(s), e.g. brand=Lampa,Autoline.
categorycomma-separated listCategory name contains, e.g. category=Καλύμματα.
skucomma-separated listOnly these SKUs (up to 200), e.g. sku=14708,14717.
modified_since2026-07-01 · ISO 8601Only items changed since this date/time (UTC) — ideal for cheap delta syncs.
fieldscomma-separated listTrim the output to these fields, e.g. fields=sku,rrp,stock_quantity. sku is always included.

Copy-paste examples

All in-stock simple products as JSON
One brand only (XML)
Delta sync — everything changed in the last 2 days
Slim CSV price list (custom columns)
Live lookup of one SKU (product + variations)

Field dictionary

Every record carries the fields below, in this order, in all three formats.

FieldDescription
idInternal WooCommerce post ID (stable).
skuUnique product code (SKU) — use this as your primary key.
parent_skuParent SKU for variations; empty on simple/variable products.
typesimple, variable (parent shell) or variation (sellable unit of a variable).
titleProduct title.
description · short_descriptionFull HTML description and the short plain summary.
brandBrand.
gtinGS1 barcode (EAN). Only present when it passes the official check-digit validation; never inherited onto variations.
mpnManufacturer part number, when known.
categoryDeepest category path, e.g. Interior > Seat covers.
linkProduct page URL on autoline.gr.
image · additional_image_1…4Main image plus up to 4 additional images (≥800px).
rrpRecommended retail price, VAT INCLUDED — your selling-price anchor.
sale_priceActive promotional retail price (VAT incl.), when one is set.
wholesale_price_excl_vatYour net buying price: wholesale price after your discount, EXCLUDING VAT. Wholesale feeds only.
vat_rateVAT rate (%) of the item — apply it on top of the net price.
stock_quantityExact units available (can be negative on backorders).
stock_statusinstock / outofstock.
weight · shipping_weightProduct weight and shipping weight (kg).
sizeSize (e.g. helmets).
modifiedLast modification timestamp (UTC) — drives the modified_since delta parameter.

Integration guides

Recipes for the most common setups. All of them poll the same URLs above.

🛒 WooCommerce / WP All Import
  1. Install the (free) WP All Import plugin + its WooCommerce add-on.
  2. New Import → From URL → paste your XML feed URL.
  3. Map the fields: sku → SKU, title → Title, rrp → Regular price, stock_quantity → Stock.
  4. Set the unique key to {sku[1]} and schedule the import (e.g. every 6 hours).
🏬 PrestaShop / OpenCart
  1. Use any "product import from URL" module (e.g. Store Commander, native CSV import).
  2. Prefer the CSV feed for PrestaShop's importer; XML for custom modules.
  3. Match on the sku column (reference), map rrp to price and stock_quantity to quantity.
  4. Schedule the module's cron to re-pull daily.
📊 Excel / Google Sheets
  1. Google Sheets: paste the formula below into cell A1 — the sheet refreshes itself.
  2. Excel: Data → Get Data → From Web → paste the CSV URL.
  3. Filter/sort as usual; re-open or refresh to pull current prices.
=IMPORTDATA("https://staging.autoline.gr/en/?al_feed=products&format=csv")
👨‍💻 Developers (curl / PHP / Node)

Plain HTTPS GET. Responses carry ETag + Last-Modified — a cheap HEAD request tells you whether anything changed before you download, and modified_since gives you delta syncs.

# curl — HEAD first, download only if changed
curl -sI "https://staging.autoline.gr/en/?al_feed=products" | grep -i last-modified
curl -s "https://staging.autoline.gr/en/?al_feed=products&format=json"

# PHP
$data = json_decode(file_get_contents(
  'https://staging.autoline.gr/en/?al_feed=products&format=json'
), true);

# Node.js
const res = await fetch('https://staging.autoline.gr/en/?al_feed=products&format=json');
const { products } = await res.json();

Update schedule & caching

The catalogue snapshot is rebuilt every hour from the live warehouse data, and each feed regenerates from it on first request. Responses carry ETag and Last-Modified headers — a HEAD request tells you whether anything changed before you download the full file. A rebuild that would lose more than 5% of the catalogue is automatically rejected and the last good version keeps serving, so a half-finished sync on our side can never empty your shop.

Fair use
  • Poll at most once per hour per feed — the data doesn't change faster.
  • Use modified_since for delta syncs instead of full pulls.
  • Check Last-Modified with a HEAD request before downloading the full file.
  • Your key is personal; don't embed it in public pages or shared repos.

FAQ

Are the prices with or without VAT?

rrp and sale_price are retail prices INCLUDING VAT (what the end customer pays). wholesale_price_excl_vat is your net buying price EXCLUDING VAT, with your discount already applied — add VAT at vat_rate on top. This matches exactly what you see logged in on the storefront.

How fresh is the data?

The snapshot rebuilds hourly from the warehouse/ERP sync. The generated timestamp is embedded in every response.

Can I customise the XML structure?

Yes — use the fields parameter to trim columns and the filter parameters (brand, category, type, instock, sku, modified_since) to shape the content. If your importer expects the OLD feed.xml layout, use the compatibility feed instead: same tags, zero remapping.

What are variations and parent_sku?

A variable product (e.g. a seat cover in 3 colours) has one row of type variable plus one row per colour of type variation. Sell the variations; group them by parent_sku.

Why is gtin sometimes empty?

We only emit barcodes that pass the official GS1 check-digit test, and we never copy the parent's barcode onto its variations (a GTIN must be unique per sellable unit). For marketplace listings, use mpn + brand when gtin is empty.

My key leaked — what now?

Press "Regenerate key" above. Every URL with the old key dies instantly; update your importer with the new one.

My feed URL suddenly returns 403.

Feed keys are tied to active wholesale accounts. If your account was deactivated or your key was regenerated, the old URL stops. Log in and copy the current URL from this page.

Can I get an order API / place orders automatically?

Ordering via API (punch-out / EDI) is on our roadmap. If it would matter to your business, tell us — volume of interest sets the priority: info@autoline.gr.

Terms of use

The feeds and API are provided to active AUTOLINE dealers for operating their own sales channels. Wholesale prices are confidential business terms: do not publish, resell or share them or your key with third parties. Product data (texts, photos) may be used for reselling AUTOLINE products only. Availability and prices are indicative until order confirmation. Abuse (excessive polling, sharing keys, scraping around the key) may lead to key rotation or revocation. We announce schema changes in advance to registered dealers; the legacy compatibility feed is maintained for existing integrations.