Files
TAX-ID_and_VAT-ID_finder-API/server.js
2025-07-06 22:39:49 +00:00

45 lines
1.4 KiB
JavaScript

// Simple Node.js + Express API server to look up Slovak companies by IČO
// using the Finančná správa SR open data API
const express = require("express");
const axios = require("axios");
const app = express();
const PORT = 3000;
// Insert your API key from Finančná správa SR below
const API_KEY = "2t5lK487ces7Rc4oEHrIwCjB5DpoZUBChQxCLBiSrwGNdEubKpraAtQLEiJmPXkdjNw5FssYpuO0LXSZpk3U6oqePyFaIGHokg4WNPEM0302X2BK4iXpkFv9Qg7jyeUXh50bWVExVrVSBuOnOQpBzzdJ1k1D54b115MD3y5ticWxvGDLUaqLQgA6nzFgbYOx6dR0ToJUxU714TetLBZCBy0xKSnBaOrxYv10I1gZ1q4rQx4Q8k7BTR6MaP";
// Endpoint: GET /api/lookup?ico=XXXXXXXX
// Example: http://localhost:3000/api/lookup?ico=36215589
app.get("/api/lookup", async (req, res) => {
const ico = req.query.ico;
// Validate ICO presence
if (!ico) {
return res.status(400).json({ error: "Missing ICO parameter" });
}
const url = `https://iz.opendata.financnasprava.sk/api/data/ds_dsrdp/search?page=1&column=ico&search=${ico}`;
try {
// Make a request to Finančná správa API
const response = await axios.get(url, {
headers: {
accept: "application/json",
key: API_KEY
}
});
// Return the fetched JSON data
res.json(response.data);
} catch (error) {
// Handle errors (e.g. invalid API key, server down)
res.status(500).json({ error: error.message });
}
});
// Start the server
app.listen(PORT, () => {
console.log(`API server is running at http://localhost:${PORT}`);
});