PlateRunner er et almindeligt HTTP-API, så du kan bruge fetch direkte. Det vigtige er, at nøglen bliver på din server.

På serveren (Node 18+)

export async function lookupPlate(country, plate) {
  const clean = plate.replace(/[\s-]/g, '').toUpperCase();
  const res = await fetch(
    `https://api.platerunner.dk/v1/plates/${country}/${encodeURIComponent(clean)}`,
    { headers: { Authorization: `Bearer ${process.env.PLATERUNNER_KEY}` } }
  );
  if (res.status === 404) return null;
  if (!res.ok) throw new Error(`PlateRunner svarede ${res.status}`);
  return res.json();
}

const car = await lookupPlate('DK', 'AB 12 345');
console.log(car ? `${car.make} ${car.model}` : 'Ikke fundet');

Når opslaget starter i browseren

Kald aldrig PlateRunner direkte fra browseren, for så kan alle se din nøgle. Lav i stedet en lille rute på din egen server, som browseren kalder:

// fx i Express
app.get('/api/plate/:country/:plate', async (req, res) => {
  const car = await lookupPlate(req.params.country, req.params.plate);
  if (!car) return res.status(404).end();
  res.json({ make: car.make, model: car.model, variant: car.variant });
});

Så sender du kun de felter videre, din side har brug for.

Gem svaret

Gem bilens data i din egen database første gang. Samme bil skal ikke slås op igen, og det sparer opslag.

Se kom i gang for alle felter og fejlkoder.