Nahrát soubory do „/“

This commit is contained in:
2025-07-06 22:39:49 +00:00
commit 4012e83446
2 changed files with 102 additions and 0 deletions

57
README.md Normal file
View File

@ -0,0 +1,57 @@
# ICO Lookup API (Node.js)
This is a minimal Node.js + Express server that acts as an API wrapper around Finančná správa SR's open data interface.
It allows you to look up Slovak companies by their IČO number (company identifier).
## Features
- Accepts GET requests with an IČO as query parameter
- Returns company information in JSON format
- Built with Express and Axios
- Hardcoded API key for simplicity
## Setup Instructions
1. Download and extract the project
2. Open `server.js` and replace:
```
const API_KEY = "your_api_key_here";
```
with your actual API key from [https://iz.opendata.financnasprava.sk](https://iz.opendata.financnasprava.sk)
3. In the project directory, run:
```bash
npm install express axios
```
4. Start the server:
```bash
node server.js
```
5. Use the API:
Open your browser or use curl/Postman:
```
http://localhost:3000/api/lookup?ico=36215589
```
### Example response
```json
{
"meta": {...},
"data": [...]
}
```
## Requirements
- Node.js 14 or newer
- Internet connection
- Valid API key from Finančná správa SR

45
server.js Normal file
View File

@ -0,0 +1,45 @@
// 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}`);
});