EuroMakers
  • Tarkvara
  • Esitlused
  • Journal
  • Reklaam
Esita
  • Tarkvara
  • Esitlused
  • Journal
  • Reklaam
Esmaspäevane kokkuvõteMeist
Esita oma toode

API

Tasuta, ainult lugemiseks mõeldud JSON API avaldatud kataloogi jaoks. Võtit pole vaja.

Kiire algus

Kõik kataloogi tooted ühe päringuga:

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

Kumba kasutada?

  • Hetktõmmise failid: tasuta, loetavad igalt veebisaidilt, koostatakse igal ööl uuesti, piiranguteta. Brauseritele ja kogu kataloogi töötlemiseks.
  • Reaalajas API: sinu serverile, umbes 60 päringut minutis IP-aadressi kohta. Ühe toote kaupa ja värskemate andmete jaoks.

Hetktõmmise failid

Avaldatud kataloog staatiliste JSON-failidena, koostatakse igal ööl uuesti. Uuesti kirjutatakse ainult muutunud failid ja ükski neist ei loe piirangu sisse.

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

Toodete massiiv, järjestatud kategooria id ja seejärel id järgi. Sama JSON mis GET /api/software.

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

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

Riikide nimede massiiv, igaüks korra, kataloogi järjekorras (sortimata). Sama JSON mis GET /api/software/countries.

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

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

Objekt kategooria id-st toodete arvuni. Toodeteta kategooriad jäetakse välja. Sama JSON mis GET /api/categories/counts.

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

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

Tuntud tööriistad, igaüks sama töö jaoks tehtud toodete id-dega, nagu tööriistade lehtedel.

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

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

Millal failid tehti, mitu kirjet igas on, nende suurus ja SHA-256 ning tingimused.

{
  "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": "…"
    },
    "…"
  ]
}

Veebilehelt:

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

Otspunktid

Iga otspunkt vastab GET-päringule JSON-iga. Näidisvastused on päris, aga lühendatud.

GET /api/software

Toodete massiiv, järjestatud kategooria id ja seejärel id järgi.

Parameetrid

Puuduvad

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

429 · 500 · 503

Vahemälu

Hoitakse servas kuni 24 tundi ja tühjendatakse, kui kataloog muutub. s-maxage=86400

GET /api/software/{id}

Üks toode. Tundmatu või avaldamata id annab 404.

Parameetrid
  • id · string · path · kohustuslikToote id: väiketähed, numbrid ja sidekriipsud. ^[a-z0-9-]{1,80}$
Näide
curl https://www.euromakers.org/api/software/proton-mail
Vastus
{
  "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"
}
Vead

404 · 429 · 500

Vahemälu

Hoitakse servas kuni 24 tundi ja tühjendatakse, kui kataloog muutub. s-maxage=86400

GET /api/software/countries

Riikide nimede massiiv, igaüks korra, kataloogi järjekorras (sortimata).

Parameetrid

Puuduvad

Näide
curl https://www.euromakers.org/api/software/countries
Vastus
["Germany", "France", "Slovakia", "…"]
Vead

429 · 500 · 503

Vahemälu

Hoitakse servas kuni 24 tundi ja tühjendatakse, kui kataloog muutub. s-maxage=86400

GET /api/categories/counts

Objekt kategooria id-st toodete arvuni. Toodeteta kategooriad jäetakse välja.

Parameetrid

Puuduvad

Näide
curl https://www.euromakers.org/api/categories/counts
Vastus
{
  "artificial-intelligence": 13,
  "cloud": 16,
  "communication": 14
}
Vead

429 · 500 · 503

Vahemälu

Hoitakse servas kuni 24 tundi ja tühjendatakse, kui kataloog muutub. s-maxage=86400

Toode

Igal tootel on need väljad. Valikulised jäetakse tühjana välja.

id · string
Püsiv id, ühtlasi tootelehe aadressi lõpp.
name · string
Toote nimi.
description · string
Ühelauseline kirjeldus.
audience · string[]
Kellele see on: b2b, individual või mõlemad.
country · string
Päritoluriik.
website · uri
Toote veebisait.
longDescription · string
Paar lõiku toote kohta.
features · string[]
Peamised funktsioonid.
useCases · string[]
Üks kuni neli kasutusjuhu id-d.
category · string
Kategooria id, nagu aadressis /categories/{id}.
verified · boolean
valikuline · true, kui tegija on omandi kinnitanud; muidu puudub.
logoUrl · uri
valikuline · Logo (PNG, JPEG või WebP); puudub, kui seda pole.

Sama TypeScripti tüüpidena:

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[];
}

Vead

Vead on JSON, milles on teade, püsiv kood ja vihje:

{
  "code": "not_found",
  "error": "Software not found",
  "hint": "List known ids with GET /api/software, then retry with an existing kebab-case id."
}
OlekKoodMillal
404not_foundTundmatu id või sellel teel pole otspunkti.
429rate_limitedPäringupiir ületatud.
500internal_errorMeie poolel läks midagi valesti.
503catalog_unavailableKataloogi ei õnnestunud laadida.

Päringupiirangud

60 päringut 60 sekundi jooksul IP-aadressi kohta, ühine kõigile endpointidele, vahemälu vastused kaasa arvatud. Üle piiri saad vastuse 429 koos päistega Retry-After (sekundites) ja X-RateLimit-Limit. Kui API tervikuna on väga koormatud, võib see vastata 429 enne, kui jõuad oma piirini.

Mõistlik kasutus: kui vajad rohkem, kasuta hetktõmmise faile.

Tingimuslikud päringud

Igal vastusel on ETag. Saada see tagasi päises If-None-Match ja muutmata vastus on 304 ilma sisuta.

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

CORS

Reaalajas API ei saada CORS-päiseid, nii et teise saidi brauser ei saa seda lugeda. Brauseris kasuta hetktõmmise faile: iga veebisait võib neid lugeda.

Versioonid

See on API ja hetktõmmise failide versioon 1. Me ainult lisame: ükski tee, väli ega tüüp ei muutu ega kao. Ühildumatu muudatus tuleks uue versioonina selle kõrvale.

Kasutamine ja viitamine

API on tasuta igaks kasutuseks. Lisa link EuroMakersile seal, kus selle andmeid näitad. Logod kuuluvad nende tegijatele ja kataloogi ei tohi hulgi edasi müüa.

Kasutustingimused

Masinloetav

  • /openapi.json · Iga otspunkti OpenAPI 3.1 kirjeldus
  • /llms.txt · Saidi kokkuvõte keelemudelitele
  • https://data.euromakers.org/v1/manifest.json · Millal failid tehti, mitu kirjet igas on, nende suurus ja SHA-256 ning tingimused.
EuroMakers

Euroopa tarkvara kodu.

Avasta

  • Kogu tarkvara
  • Tööriista järgi
  • Esitlused
  • Kaart

Kogukond

  • Journal
  • Esmaspäevane kokkuvõte
  • Sinu voog

Loojatele

  • Esita oma toode
  • Võta oma kirje üle
  • Reklaam
  • Lisamise tingimused

EuroMakers

  • Meist
  • Kontakt
  • API
  • Privaatsus
  • Tingimused
Vaata kaarti →

© 2026 EuroMakers. Tehtud veendumusega Euroopas. Toodete logod kuuluvad nende loojatele.

Keel: Eesti
  • 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