EuroMakers
  • Szoftverek
  • Bemutatók
  • Journal
  • Hirdetés
Beküldés
  • Szoftverek
  • Bemutatók
  • Journal
  • Hirdetés
Hétfői összefoglalóRólunk
Küldd be a termékedet

API

Ingyenes, csak olvasható JSON API a közzétett katalógushoz. Kulcs nem kell.

Gyors kezdés

A katalógus minden terméke egyetlen kéréssel:

curl https://www.euromakers.org/api/software
[
  {
    "id": "proton-mail",
    "name": "Proton Mail",
    "description": "End-to-end encrypted email from Switzerland.",
    …
  },
  …
]

Melyiket használjam?

  • Pillanatkép-fájlok: ingyenesek, bármely webhelyről olvashatók, minden éjjel újraépülnek, korlátok nélkül. Böngészőkhöz és a teljes katalógust feldolgozó feladatokhoz.
  • Élő API: a szerveredhez, nagyjából 60 kérés percenként IP-címenként. Egyszerre egy termékhez és frissebb adatokhoz.

Pillanatkép-fájlok

A közzétett katalógus statikus JSON-fájlokként, minden éjjel újraépítve. Csak a megváltozott fájlok íródnak újra, és egyik sem számít bele korlátba.

https://data.euromakers.org/v1/software.json

Termékek tömbje, kategóriaazonosító, majd azonosító szerint rendezve. Ugyanaz a JSON, mint a GET /api/software.

[
  {
    "id": "proton-mail",
    "name": "Proton Mail",
    "description": "End-to-end encrypted email from Switzerland.",
    …
  },
  …
]

https://data.euromakers.org/v1/countries.json

Országnevek tömbje, mindegyik egyszer, a katalógus sorrendjében (rendezetlenül). Ugyanaz a JSON, mint a GET /api/software/countries.

["Germany", "France", "Slovakia", "…"]

https://data.euromakers.org/v1/categories.json

Objektum, amely a kategóriaazonosítóhoz a termékek számát rendeli. A termék nélküli kategóriák kimaradnak. Ugyanaz a JSON, mint a GET /api/categories/counts.

{
  "artificial-intelligence": 13,
  "cloud": 16,
  "communication": 14
}

https://data.euromakers.org/v1/alternatives.json

Ismert eszközök, mindegyik az ugyanarra a munkára készült termékek azonosítóival, mint az eszközoldalakon.

[
  {
    "tool": "slack",
    "name": "Slack",
    "page": "https://www.euromakers.org/alternatives/slack",
    "ids": ["element", "rocket-chat", "…"]
  }
]

https://data.euromakers.org/v1/manifest.json

Mikor készültek a fájlok, hány elem van mindegyikben, a méretük és SHA-256-juk, valamint a feltételek.

{
  "version": "v1",
  "generatedAt": "2026-11-12T22:05:00.000Z",
  "docs": "https://www.euromakers.org/developers",
  "license": "Free for any use. Logos belong to their makers, and the directory can’t be resold in bulk.",
  "attribution": "Link back to EuroMakers (https://www.euromakers.org) where you show this data.",
  "terms": "https://www.euromakers.org/terms",
  "files": [
    {
      "name": "software.json",
      "url": "https://data.euromakers.org/v1/software.json",
      "items": "…",
      "bytes": "…",
      "sha256": "…"
    },
    "…"
  ]
}

Weboldalról:

const response = await fetch("https://data.euromakers.org/v1/software.json");
const products = await response.json();

Végpontok

Minden végpont JSON-nal válaszol a GET kérésre. A példaválaszok valódiak, de rövidítettek.

GET /api/software

Termékek tömbje, kategóriaazonosító, majd azonosító szerint rendezve.

Paraméterek

Nincs

Példa
curl https://www.euromakers.org/api/software
Válasz
[
  {
    "id": "proton-mail",
    "name": "Proton Mail",
    "description": "End-to-end encrypted email from Switzerland.",
    …
  },
  …
]
Hibák

429 · 500 · 503

Gyorsítótár

Legfeljebb 24 óráig a hálózat peremén tároljuk, és törlődik, amikor a katalógus változik. s-maxage=86400

GET /api/software/{id}

Egy termék. Ismeretlen vagy nem közzétett azonosító esetén 404.

Paraméterek
  • id · string · path · kötelezőA termék azonosítója: kisbetűk, számjegyek és kötőjelek. ^[a-z0-9-]{1,80}$
Példa
curl https://www.euromakers.org/api/software/proton-mail
Válasz
{
  "id": "proton-mail",
  "name": "Proton Mail",
  "description": "End-to-end encrypted email from Switzerland.",
  "audience": ["b2b", "individual"],
  "country": "Switzerland",
  "website": "https://proton.me/mail",
  "longDescription": "Proton Mail is the flagship encrypted email …",
  "features": ["End-to-end encrypted email", "…"],
  "useCases": ["business-email"],
  "category": "communication"
}
Hibák

404 · 429 · 500

Gyorsítótár

Legfeljebb 24 óráig a hálózat peremén tároljuk, és törlődik, amikor a katalógus változik. s-maxage=86400

GET /api/software/countries

Országnevek tömbje, mindegyik egyszer, a katalógus sorrendjében (rendezetlenül).

Paraméterek

Nincs

Példa
curl https://www.euromakers.org/api/software/countries
Válasz
["Germany", "France", "Slovakia", "…"]
Hibák

429 · 500 · 503

Gyorsítótár

Legfeljebb 24 óráig a hálózat peremén tároljuk, és törlődik, amikor a katalógus változik. s-maxage=86400

GET /api/categories/counts

Objektum, amely a kategóriaazonosítóhoz a termékek számát rendeli. A termék nélküli kategóriák kimaradnak.

Paraméterek

Nincs

Példa
curl https://www.euromakers.org/api/categories/counts
Válasz
{
  "artificial-intelligence": 13,
  "cloud": 16,
  "communication": 14
}
Hibák

429 · 500 · 503

Gyorsítótár

Legfeljebb 24 óráig a hálózat peremén tároljuk, és törlődik, amikor a katalógus változik. s-maxage=86400

Egy termék

Minden terméknek ezek a mezői vannak. A nem kötelezők üresen kimaradnak.

id · string
Állandó azonosító, egyben a termékoldal címének vége.
name · string
A termék neve.
description · string
Egymondatos leírás.
audience · string[]
Kinek szól: b2b, individual vagy mindkettő.
country · string
Származási ország.
website · uri
A termék weboldala.
longDescription · string
Néhány bekezdés a termékről.
features · string[]
Fő funkciók.
useCases · string[]
Egy–négy felhasználási terület azonosítója.
category · string
Kategóriaazonosító, mint a /categories/{id} címben.
verified · boolean
nem kötelező · true, ha a készítő igazolta a tulajdonjogot; különben hiányzik.
logoUrl · uri
nem kötelező · Logó (PNG, JPEG vagy WebP); hiányzik, ha nincs.

Ugyanez TypeScript-típusokként:

export interface Software {
  /** Stable id, also the end of the product’s page address. */
  id: string;
  /** Product name. */
  name: string;
  /** One-sentence description. */
  description: string;
  /** Who it’s for: b2b, individual or both. */
  audience: ("b2b" | "individual")[];
  /** Country of origin. */
  country: string;
  /** The product’s website. */
  website: string;
  /** A few paragraphs about the product. */
  longDescription: string;
  /** Main features. */
  features: string[];
  /** One to four use-case ids. */
  useCases: string[];
  /** Category id, as in /categories/{id}. */
  category: string;
  /** true when the maker verified ownership; absent otherwise. */
  verified?: true;
  /** Logo (PNG, JPEG or WebP); absent when there is none. */
  logoUrl?: string;
}

/** countries.json, GET /api/software/countries */
export type Countries = string[];

/** categories.json, GET /api/categories/counts */
export type CategoryCounts = Record<string, number>;

/** One entry of alternatives.json */
export interface Alternative {
  tool: string;
  name: string;
  page: string;
  ids: string[];
}

Hibák

A hibák JSON-ok üzenettel, állandó kóddal és tippel:

{
  "code": "not_found",
  "error": "Software not found",
  "hint": "List known ids with GET /api/software, then retry with an existing kebab-case id."
}
ÁllapotKódMikor
404not_foundIsmeretlen azonosító, vagy nincs végpont ezen az útvonalon.
429rate_limitedTúllépted a kéréskorlátot.
500internal_errorNálunk történt valami hiba.
503catalog_unavailableNem sikerült betölteni a katalógust.

Kéréskorlátok

60 kérés 60 másodpercenként IP-címenként, minden végpontra közösen, a gyorsítótárból jövő válaszokkal együtt. A korlát felett 429-es választ kapsz Retry-After (másodpercben) és X-RateLimit-Limit fejléccel. Ha az API egésze nagyon leterhelt, már a saját korlátod elérése előtt is válaszolhat 429-cel.

Méltányos használat: ha többre van szükséged, használd a pillanatkép-fájlokat.

Feltételes kérések

Minden válasz tartalmaz egy ETaget. Küldd vissza az If-None-Match fejlécben, és a változatlan válasz egy tartalom nélküli 304 lesz.

curl -i https://www.euromakers.org/api/software/proton-mail -H 'If-None-Match: "<ETag of the last answer>"'

CORS

Az élő API nem küld CORS-fejléceket, így egy másik webhelyen futó böngésző nem tudja olvasni. Böngészőben használd a pillanatkép-fájlokat: bármely webhely olvashatja őket.

Verziók

Ez az API és a pillanatkép-fájlok 1-es verziója. Csak bővítünk: egyetlen útvonal, mező vagy típus sem változik és tűnik el. Egy nem kompatibilis változás új verzióként érkezne e mellé.

Használat és forrásmegjelölés

Az API bármilyen célra ingyenes. Ahol az adatait megjeleníted, linkelj az EuroMakersre. A logók a készítőik tulajdonában vannak, és a katalógus tömegesen nem adható tovább.

Felhasználási feltételek

Géppel olvasható

  • /openapi.json · Az összes végpont OpenAPI 3.1 leírása
  • /llms.txt · Az oldal összefoglalója nyelvi modelleknek
  • https://data.euromakers.org/v1/manifest.json · Mikor készültek a fájlok, hány elem van mindegyikben, a méretük és SHA-256-juk, valamint a feltételek.
EuroMakers

Az európai szoftverek otthona.

Felfedezés

  • Összes szoftver
  • Eszköz szerint
  • Bemutatók
  • Térkép

Közösség

  • Journal
  • Hétfői összefoglaló
  • Saját hírfolyam

Alkotóknak

  • Küldd be a termékedet
  • Igényeld az adatlapodat
  • Hirdetés
  • Felvételi feltételek

EuroMakers

  • Rólunk
  • Kapcsolat
  • API
  • Adatvédelem
  • Feltételek
Térkép megnyitása →

© 2026 EuroMakers. Meggyőződéssel készült Európában. A termékek logói az alkotóik tulajdonai.

Nyelv: Magyar
  • English
  • Български
  • Čeština
  • Dansk
  • Deutsch
  • Ελληνικά
  • Español
  • Eesti
  • Suomi
  • Français
  • Gaeilge
  • Hrvatski
  • Magyar
  • Italiano
  • Lietuvių
  • Latviešu
  • Malti
  • Nederlands
  • Polski
  • Português
  • Română
  • Slovenčina
  • Slovenščina
  • Svenska