Nordic Cryptoseit 2026
FolgenAuf Telegram beitretenAuf X folgenQuellcode
Sprache wählen: Deutsch

Daten-API von Nordic Crypto

Ein öffentlicher JSON-Feed der Website für Apps und andere Werkzeuge. Kein Konto und kein API-Schlüssel. Er wird bei jedem Build der Website neu erzeugt.

Version 1. 57 Nachrichten, 2 Newsletter-Ausgaben, 13 Veranstaltungen und 74 Vorträge in diesem Build. Erzeugt am 2026-10-13T05:37:29+00:00.

Bitcoin-Lightning-Node#

Nordic Crypto betreibt einen Bitcoin-Lightning-Node. Der Alias ist Nordic Crypto. Die Implementierung ist LND, im Neutrino-Light-Modus. Kein Konto und kein API-Schlüssel.

NodeStatusImplementierung
Bitcoin
Nordic Crypto
synchronisiert / noch nicht offen für KanäleLND (Neutrino-Light-Modus)

Die Statuszeile steht in dieser statischen Seite und aktualisiert sich nicht von selbst. Live-Status: Amboss und 1ML.

Node-URI. Kopieren Sie eine Zeile. Die erste Zeile ist IPv4. Die zweite Zeile ist derselbe Node über IPv6, [2a01:4f8:c01e:36d9::1]:9735.

0225974bb701101a5d4352dcae0f76aa9c1388e482a666e892f462e0e0e4217dd9@91.99.122.75:9735
0225974bb701101a5d4352dcae0f76aa9c1388e482a666e892f462e0e0e4217dd9@[2a01:4f8:c01e:36d9::1]:9735

Öffentlicher Schlüssel.

0225974bb701101a5d4352dcae0f76aa9c1388e482a666e892f462e0e0e4217dd9

On-Chain-Einzahlungsadresse.

bc1p7zgqhev2zzn45mefzq59gq983379lr0rsymhl558rza9k05y7vsq9mglx7

Electrum-Server (BCH und Nexa)#

Nordic Crypto betreibt Rostrum-Electrum-Server für Bitcoin Cash und Nexa. Wallets und Apps können dort Guthaben, Transaktionen, UTXOs, Tokens und den aktuellen Block abfragen und Transaktionen senden. Kein Konto und kein API-Schlüssel.

ServerStatusBlockhöheAntwortzeitVersion
Bitcoin Cash
wss://electrum-bch.nordiccrypto.no:50004
––––
Nexa
wss://electrum-nexa.nordiccrypto.no:20004
––––

Ihr Browser fragt beim Öffnen der Seite jeden Server nach Version und aktuellem Block. Die Antwortzeit ist die Dauer der Blockabfrage.

Sie sprechen das Electrum-Protokoll (JSON-RPC) auf den Standardports: WebSocket mit TLS (wss) auf 20004 für Nexa und 50004 für Bitcoin Cash sowie TLS über TCP auf 20002 für Nexa und 50002 für Bitcoin Cash. Unverschlüsselte Ports gibt es nicht. In einer Client-Bibliothek geben Sie Host, Port und Schema an (wss oder tcp_tls). Die Methoden stehen in der Protokolldokumentation von Rostrum.

websocat wss://electrum-bch.nordiccrypto.no:50004
{"id":1,"method":"blockchain.headers.subscribe","params":[]}

Die Server betreiben eigene Full Nodes (Bitcoin Cash Node und Nexa), ihre Antworten hängen also nicht von Dritten ab. Ein Client ohne SPV-Prüfung vertraut uns trotzdem, was den Inhalt der Chain angeht. Es gibt keine Verfügbarkeitsgarantie. Halten Sie einen zweiten Server in Ihrer Liste bereit und wechseln Sie, wenn einer nicht innerhalb weniger Sekunden antwortet.

Erste Schritte#

Nachrichten und einen Newsletter abrufen#

curl -fsS https://nordiccrypto.no/api/v1/news.json
curl -fsS https://nordiccrypto.no/api/v1/newsletters.json
curl -fsS https://nordiccrypto.no/api/v1/newsletters/002.json

Absolute URLs verweisen auf die öffentliche Website, im Stammverzeichnis der Domain: https://nordiccrypto.no/api/v1/news.json.

Neue Artikel abfragen#

/api/v1/news/latest.json enthält die 25 neuesten veröffentlichten Artikel, nur mit id, published, country, source, source_name, language_code, own_story, den Überschriften (title, title_en, title_i18n) und den Links (url, html_url, api_url). Die Werte sind dieselben wie in news.json, in derselben Reihenfolge (neueste zuerst). Die Datei bleibt klein, egal wie lang das Archiv wird, sodass eine App oder ein Push-Server sie alle paar Minuten abfragen kann. Senden Sie If-None-Match mit dem letzten ETag; GitHub Pages antwortet mit 304 Not Modified, solange die Datei unverändert ist. Vergleichen Sie die Ids mit denen, die Sie schon gesehen haben; generated_at ändert sich bei jedem Build.

curl -fsS https://nordiccrypto.no/api/v1/news/latest.json

Marktpreise#

Preise nordischer Börsen sind Marktdaten, keine Anlageberatung. /api/v1/markets.json listet jedes Handelspaar mit Symbol, Basis- und Kurswährung, letztem Preis, Geld- und Briefkurs (sofern die Börse sie veröffentlicht), ID, Name und Land der Börse, fetched_at, der Quell-URL und dem Volumen, falls die Börse es veröffentlicht. volume_base ist das Volumen in der Basiswährung ohne benanntes Zeitfenster (Firi). volume_base_24h und volume_quote_24h beziehen sich auf die letzten 24 Stunden (NBX). Fehlendes Volumen ist null (kein Wert), nicht 0. Kurswährungen sind NOK, SEK, DKK und EUR. Eine Börse: /api/v1/markets/{exchange}.json (firi, nbx, coinmotion). Ein Asset: /api/v1/markets/by-asset/{symbol}.json. Handelsplätze ohne öffentlichen Ticker stehen unter skipped und erhalten keinen erfundenen Preis.

/api/v1/markets/aggregated.json enthält eine Zeile pro Handelspaar. BTC-NOK wird nicht mit BTC-EUR gemittelt. last ist das arithmetische Mittel der veröffentlichten letzten Preise. mid ist das Mittel von (bid+ask)/2 und fließt nicht in last ein. price entspricht last, wenn ein letzter Preis vorliegt, sonst mid. min und max beruhen auf derselben Reihe. Einen VWAP gibt es nicht. Volumen wird nur innerhalb desselben Felds und desselben Paars addiert. logo_url ist ein SVG aus cryptocurrency-icons (CC0 1.0), wenn das Set das Asset enthält, ausgeliefert unter /api/v1/markets/logos/{symbol}.svg, sonst null. Die Datei pro Asset wiederholt aggregated und das Logo.

Der Build ruft die Börsen ab. .github/workflows/markets-refresh.yml schreibt das JSON auf gh-pages etwa einmal pro Stunde neu, einschließlich der aggregierten Datei und der Icons. Die Marktseite lädt diese Datei neu und aktualisiert Firi und Coinmotion direkt im Browser, weil diese APIs Access-Control-Allow-Origin: * senden. NBX tut das nicht, daher folgen diese Zeilen der Datei. Dasselbe Dokument auf dem gh-pages-Branch: raw.githubusercontent.com/jQrgen/nordic-crypto/gh-pages/api/v1/markets.json.

curl -fsS https://nordiccrypto.no/api/v1/markets.json
curl -fsS https://nordiccrypto.no/api/v1/markets/aggregated.json

Besucherstatistik#

Aggregierte Besuche und Seitenaufrufe aus Cloudflare Web Analytics (ohne Cookies). /api/v1/stats.json enthält die Zeilen daily, weekly (ISO) und monthly, jeweils nur mit visits und pageviews. Tage sind in UTC. Die Datei bleibt leer, bis die Web-Analytics-Site und das Aktualisierungstoken eingerichtet sind. .github/workflows/stats-refresh.yml schreibt sie auf gh-pages etwa einmal täglich neu.

curl -fsS https://nordiccrypto.no/api/v1/stats.json

Vorträge#

Öffentliche Vorträge über Bitcoin, Kryptowährungen und Blockchain, gehalten in Norwegen, Schweden, Dänemark, Finnland, Island, auf den Färöern, in Grönland und auf Åland, stehen unter /api/v1/talks.json, die neuesten zuerst. Ein Vortrag: /api/v1/talks/{id}.json. Ein Land: /api/v1/talks/by-country/{country}.json (NO, SE, DK, FI, IS, FO, GL, AX). description stammt von uns. title, Daten, Dauer, Kanal und Vortragende kommen von der Plattform unter source_url. Ein Feld, das die Plattform nicht angibt, ist null. embed ist nur dann true, wenn die oEmbed-Antwort der Plattform einen Player enthält. Die HTML-Seite lädt den Player erst nach einem Klick: YouTube über youtube-nocookie.com, Vimeo über player.vimeo.com. event_id und calendar_event_id sind dieselbe Veranstaltungs-ID, wenn der Vortrag verknüpft ist. Die Veranstaltung steht unter /api/v1/events/{id}.json (bzw. /api/v1/events/previous.json, wenn sie vorbei ist), die Seite ist /calendar/{id}/. talk_ids an der Veranstaltung listet diese Vorträge. unlink_reason ist gesetzt, wenn die Videoseite weder Tag noch Ort nannte; event_id ist dann null. speaker_ids sind IDs aus „Wer ist wer“ in derselben Reihenfolge wie speakers. Die Person unter /api/v1/orgchart/{id}.json listet diese Vorträge und jede Zugehörigkeit, die die Vortragsseite angab.

Mehrere Medien, eine Meldung#

Eine Meldung hat ein Hauptmedium. Andere Medien, die über dasselbe Ereignis berichtet haben, stehen in also_covered_by. sources nennt zuerst das Hauptmedium, dann die übrigen. Jedes Medium hat outlet, outlet_name, url, title (die Schlagzeile dieses Mediums), published, lang, country, source_type und logo. source_type ist national, regional (regional und lokal), official (Justiz und Behörden: Polizei, Staatsanwaltschaft, Gerichte, Aufsicht) oder international. coverage.count ist die Zahl der Medien. coverage.by_country und coverage.by_source_type sind Anzahlen und Anteile für die Balken. Jeder Quellentyp ist vorhanden, auch mit dem Wert null. html_url ist unsere Seite zur Meldung. url ist das Hauptmedium. Kaupr bleibt ausschließlich Nachrichtenquelle.

Veranstaltungen#

Kommende und vergangene Veranstaltungen stehen unter /api/v1/events.json. Luma-Kalender werden über die öffentliche iCal-Abo-URL jeder Veranstaltungsquelle bezogen (ics). Luma-Stadtseiten, -Kategorieseiten und die Discover-API werden nicht genutzt. Eine einzelne Luma-Veranstaltungsseite wird als schema.org-JSON-LD gelesen. Veranstalter und Orte bei Eventbrite werden über die v3-API gelesen, wenn der Server EVENTBRITE_TOKEN hat. Dieses Token ist weder im Feed noch im Repository. Ohne es wird das JSON-LD der Veranstaltungsseite verwendet. Gleicher Titel, gleiches Datum und gleicher Ort ergeben eine Veranstaltung. Beendete Veranstaltungen bleiben im Feed. description.text ist der Originaltext des Veranstalters, description.lang die Sprache dieses Textes und description.source_url die Seite, von der er stammt. description.i18n enthält eine Übersetzung, sofern wir eine haben. Das Feld ist null, wenn die Quelle keine Beschreibung hatte. Einträge unseriöser Konferenzanbieter sind keine Quelle. Kaupr ist niemals Sponsor.

Sprachen#

Englisch ist das Standardfeld (summary, title, text). Von uns veröffentlichte Übersetzungen liegen in summary_i18n, title_i18n, subtitle_i18n, note_i18n, text_i18n und about_i18n, mit den Schlüsseln nn, nb, sv, da, fi und is. Die übrigen Sprachen der Website nutzen das englische Feld, bis eine Übersetzung veröffentlicht ist. Bei einer Nachricht bleibt title die Schlagzeile der Quelle, title_en ist unsere englische Schlagzeile und title_i18n unsere Schlagzeile in den nordischen Sprachen der Website. Die Seiten zeigen zuerst die Schlagzeile in der Seitensprache und darunter die der Quelle, wenn sie sich unterscheiden. Die Schlagzeile jedes Mediums in sources bleibt in dessen Sprache. Datumsangaben folgen ISO 8601.

/api/v1/languages.json listet alle Sprachen der Website mit code, native_name, english_name, rtl, html_lang und home. /api/v1/geo-language.json ist die Zuordnung von Land zu Sprache, die beim ersten Besuch als Vorschlag dient. Das Land der IP-Adresse liefert der tipworker über GET /api/geo (Cloudflare request.cf.country). Nichts wird gespeichert. Das Cookie nc_lang, das die Sprachauswahl setzt, hat immer Vorrang.

Logos der Quellen#

Jedes Medium in /api/v1/sources.json hat logo_url (absolute PNG- oder WebP-URL, nie SVG, oder null) und logo (kind, file_url (das Original, SVG oder WebP), raster_url (wie logo_url), source_url, author, license, license_url, credit, oder null). Jede Nachricht hat source_logo_url, damit eine App das Logo des Mediums neben der Schlagzeile zeigen kann. Die Logos stammen aus Wikimedia Commons (mit Lizenz) oder von der Website des Verlags. Sie sind Marken der Verlage und werden nur gezeigt, um die Quelle einer Schlagzeile kenntlich zu machen. Ein Logo bleibt null, bis die Redaktion es geprüft hat.

CORS#

GitHub Pages sendet für diese Dateien Access-Control-Allow-Origin: *, sodass eine Seite auf einer anderen Website sie per fetch() laden kann. GitHub Pages wertet keine eigene Header-Datei aus. Verwenden Sie den Dateinamen mit .json; das Öffnen eines Verzeichnisses liefert kein JSON.

Redaktionelles#

Absender ist The Nordic Crypto team. Kaupr (kaupr.io) ist ausschließlich Nachrichtenquelle und niemals Sponsor. Nichts hier ist Anlageberatung.

Konten der Marke#

ios in /api/v1/meta.json ist die öffentliche TestFlight-Einladung zur iOS-App von Nordic Crypto. Im App Store ist sie nicht gelistet. apple_tv besagt, dass die TestFlight-Version besonders Apple TV unterstützt. apple_tv_i18n enthält diesen kurzen Satz in jeder Sprache der Website. Der Markenname bleibt Nordic Crypto.

/api/v1/meta.json enthält social für die iOS-App. social.telegram ist der Chat von Nordic Crypto unter https://t.me/nordiccryptochat. social.x ist das Markenkonto unter https://x.com/nordiccryptobot (@nordiccryptobot), auch als urls.x aufgeführt. urls.telegram wiederholt die Chat-URL. urls.rss ist der englische Nachrichten-Feed unter /rss.xml. Jede Sprachstartseite hat ihre eigene rss.xml. urls.newsletter ist die Anmeldeseite auf dieser Website. label ist der Kurzname (Telegram, X). name ist der englische Linktext. name_i18n enthält nn, nb, sv, da, fi und is. Die übrigen Sprachen der Website nutzen name.

Browser-Benachrichtigungen#

Wenn workers/push/public.json eine Worker-URL enthält, ist die Schaltfläche unten auf jeder Seite Web Push. Bis dahin sagt die Seite, dass der Dienst nicht aktiviert ist, und ruft keinen Worker auf. Abonnements liegen bei einem Cloudflare Worker, nicht in diesem statischen Feed. Nach einer Veröffentlichung listet GET /api/push/feed.json auf diesem Worker dieselben Pakete (Titel, kurze Zusammenfassung, URL, Land und Übersetzungen, sofern vorhanden). Eine Veröffentlichung ist ein Paket. Das Dokument enthält "apns": "not implemented": Der Apple Push Notification service gehört nicht zum Umfang. Eine iOS-App kann den Feed regelmäßig abfragen. Die Worker-URL wird gesetzt, wenn workers/push/ bereitgestellt ist; sie ist kein Pfad auf dieser Website. Abonnements sind nicht im Feed. /api/v1/news.json dieser API bleibt die vollständige Liste der veröffentlichten Nachrichten.

Endpunkte#

Jeder Endpunkt ist ein einfacher GET-Abruf einer statischen JSON-Datei.

PfadLiefert
/api/v1/index.jsonDiscovery document: every endpoint, with example URLs.
/api/v1/news.jsonPublished news and our own stories, newest first.
/api/v1/news/latest.jsonThe 25 newest published stories with id, published, country, source and headlines only. For apps and notifiers that poll often; news.json is the full list.
/api/v1/news/by-country/{country}.jsonPublished news for one country code: NO, SE, DK, FI, IS, NORDIC or EU.
/api/v1/news/topics.jsonTopic ids present in the published news, with counts.
/api/v1/newsletters.jsonPublished newsletter issues, newest first. The list omits the HTML body; the issue URL includes text and html.
/api/v1/events.jsonPublic events, soonest start first, including past events.
/api/v1/events/upcoming.jsonEvents that have not ended, soonest first. Judged in the event's own offset.
/api/v1/events/past.jsonFinished public events, newest first. Finished events stay in the archive.
/api/v1/events/previous.jsonPrevious events, newest finish first. Finished calendar events plus backfilled public events (source backfill). Backfill is not on the calendar or in upcoming or past.
/api/v1/events/by-country/{country}.jsonPublic events for one country code.
/api/v1/talks.jsonPublic talks on bitcoin, cryptocurrencies and blockchain in the Nordic countries, newest first. A player is embedded on the site only when embed is true (YouTube via youtube-nocookie.com, or the Vimeo player). Unknown fields are null. description is ours; title and the other details come from the platform.
/api/v1/talks/by-country/{country}.jsonPublic talks for one country code: NO, SE, DK, FI, IS, FO (Faroe Islands), GL (Greenland) or AX (Åland).
/api/v1/sources.jsonNews outlets, justice-system press pages, the public search terms, and event sources. coverage is national, regional, local or justice. region is the place. feed is null when no working RSS, sitemap or index page was verified. method is rss, html, sitemap, search or manual. Event sources name the intake method. Luma calendars use a public iCal subscribe URL. Eventbrite organizers and venues use the v3 API when the server has EVENTBRITE_TOKEN; the token is not in this feed. Without it, event pages are schema.org JSON-LD. icon_url is a public icon from the outlet when one was easy to find. logo_source is the URL the stored logo was fetched from. logo is the checked outlet image for that source id when one is on file, used only to identify the source. Kaupr is marked as a news source only and is never an event sponsor.
/api/v1/academia.jsonEditor-approved courses, student groups, publications and research.
/api/v1/academia/courses.jsonAcademia section: courses.
/api/v1/academia/groups.jsonAcademia section: groups.
/api/v1/academia/publications.jsonAcademia section: publications.
/api/v1/academia/research.jsonAcademia section: research.
/api/v1/academia/{id}.jsonOne academia row. The id is in academia.json.
/api/v1/books.jsonPublished books on bitcoin, crypto and blockchain by Nordic authors or about the Nordic countries. title is the original title. authors are as printed; author_role is "editors" for an edited volume. language is a code (nn, nb, sv, da, fi, en). source is the library catalogue or publisher page where the row was checked. about is our one-line description in English. No cover images.
/api/v1/developers.jsonOpen-source developers: technical people in Nordic crypto with public crypto-related code (an own non-fork crypto repo, or merged commits or pull requests in a public crypto project). name is as shown on the code profile. profiles are the GitHub/GitLab/Codeberg/sourcehut profile links. notable has up to three items: kind "repo" (own repo: name, url, stars, language, description, last_push) or kind "contrib" (project, host, url, commits, merged_prs). Stars and counts are from the date in checked. nordic_source is where the Nordic link is shown. whoswho_id links the who's who entry. Only rows the editor approved; a preview build also has pending rows (status "pending").
/api/v1/orgchart.jsonPublished who's who: organisations, people, relations, regulation notes and caveats. A person named on a talk has talk_ids, event_ids and talks. affiliations lists the organisation the talk page stated for that talk, with the talk date when the page gave one, the source URL and the retrieval time. An affiliation the page did not state is omitted.
/api/v1/orgchart/relations.jsonRelations between published who's who entries.
/api/v1/orgchart/regulation.jsonShort regulation status for each Nordic country, as on the who's who page.
/api/v1/orgchart/relations/{id}.jsonOne relation from the who's who.
/api/v1/profiles.jsonPublic profile links (Wikipedia, X, Wikidata and similar) for people and organisations.
/api/v1/images.jsonLogos and photos used on the public who's who, with licence and credit. These are not newspaper photographs.
/api/v1/illustrations.jsonPictures used on story cards and story pages. Each record has source, author, license and url. No photograph from another newspaper is included. Outlet logos are in images.json and on each news item as source_logo.
/api/v1/changelog.jsonSite changelog (product changes, not the news), newest first.
/api/v1/rules.jsonHow EU crypto rules become law in the five countries. Simplified, not legal advice. Omitted while the page is still a placeholder.
/api/v1/archive/articles.jsonAppend-only archive of stories that have been on the public site. removed is true when a story later left the site; the row stays.
/api/v1/stats.jsonAggregate visitor counts from Cloudflare Web Analytics (no cookies): visits and page views per UTC day, ISO week and calendar month. updated_at is null and the lists are empty until the Web Analytics site and the refresh token are configured.
/api/v1/markets.jsonNordic exchange prices. Market data, not investment advice. Each ticker names the exchange, fetched_at, the source URL and volume when the exchange published it. NOK, SEK, DKK and EUR only. aggregated is one row per pair.
/api/v1/markets/aggregated.jsonOne price per base-quote pair. BTC-NOK is separate from BTC-EUR. last is the mean of published last prices. mid is the mean of bid/ask midpoints and is not blended into last. Volume is summed only within the same field and the same pair. logo_url is a CC0 icon when cryptocurrency-icons includes the asset, otherwise null.
/api/v1/markets/{exchange}.jsonPrices from one included exchange: firi (Norway), nbx (Norway) or coinmotion (Finland).
/api/v1/markets/by-asset/{symbol}.jsonPrices for one asset (the base symbol, such as BTC) on every included Nordic exchange, plus aggregated pairs for each quote currency and logo_url when an icon is available.
/api/v1/languages.jsonSite UI languages: code, native name, English name, rtl, html lang and home URL.
/api/v1/geo-language.jsonCountry to default site language. An IP guess only; the nc_lang cookie from the language switcher wins.
/api/v1/meta.jsonSite name, languages, countries, page list, CORS, editorial notes and brand social accounts (social.telegram, social.x).

Nicht enthalten#

Entwürfe, die Redaktionswarteschlange, abgelehnte Meldungen, Leserhinweise, Adressen von Newsletter-Abonnenten, das Analytics-Token und private personenbezogene Daten sind nicht in diesem Feed. Eine unbekannte ID ergibt eine normale 404-Seite der Website, keinen JSON-Fehler.

Die Feldnamen von Version 1 bleiben bestehen. Neue Felder können hinzukommen. Eine inkompatible Änderung bekäme einen neuen Pfad.