45 lines
1.4 KiB
JavaScript
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}`);
|
|
}); |