Öffentliche API
Lies und schreibe deine Screvi-Highlights, gespeicherten Artikel, Quellen und Tags über eine REST-API. Authentifizierung, Endpunkte, Rate-Limits und Beispielanfragen.
Aktualisiert
Auf dieser Seite
Überblick
Screvi hat eine REST-API für deine eigenen Highlights und Quellen. Nutze sie, um Highlights in ein Skript zu ziehen, Highlights aus einem Tool einzuspielen, das Screvi noch nicht unterstützt, oder ein persönliches Dashboard zu bauen.
Die API braucht ein aktives Abo oder eine Testphase. Die vollständige Referenz mit Request- und Response-Schemas liegt unter api.screvi.com/api/docs, die OpenAPI-Spezifikation unter api.screvi.com/api/docs.json.
Wenn ein KI-Assistent mit deinen Highlights arbeiten soll, statt dass du Code schreibst, nutze den MCP-Server.
Authentifizierung
- Geh in der Web-App zu Einstellungen > API und erstelle einen Schlüssel. Gib ihm einen Namen und aktiviere Schreibzugriff nur, wenn das Tool deine Bibliothek ändern muss.
- Schick den Schlüssel bei jeder Anfrage im Header
X-API-Keymit.Authorization: Bearer <key>funktioniert auch.
GET https://api.screvi.com/api/v1/highlights?per_page=50
X-API-Key: sk_live_your_key_here
Schlüssel haben einen read-Scope und optional write zum Erstellen oder Bearbeiten von Daten. Ein Schlüssel wird beim Erstellen genau einmal angezeigt. Behandle ihn wie ein Passwort und widerrufe ihn auf derselben Einstellungsseite, falls er durchsickert.
Rate-Limits
Jeder Schlüssel bekommt 100 Anfragen pro Minute. Antworten enthalten Rate-Limit-Header, damit du bremsen kannst, bevor du die Grenze erreichst. Anfragen über dem Limit liefern 429.
Endpunkte
Alle Pfade sind relativ zu https://api.screvi.com/api/v1. Listen-Endpunkte nutzen page und per_page zur Paginierung (per_page maximal 100). Überall, wo ein tags-Feld akzeptiert wird, nimmt es Tag-Namen (ohne Beachtung der Groß-/Kleinschreibung abgeglichen und bei Bedarf angelegt) oder Tag-IDs.
Highlights
| Methode | Pfad | Hinweise |
|---|---|---|
| GET | /highlights |
Filter: source_id, favorite, tag, tag_id, updated_since, include_deleted |
| GET | /highlights/random |
Ein zufälliges Highlight. Mit count (max. 20) mehrere; Filter: favorite, types, tag, source_id |
| GET | /highlights/:id |
Ein einzelnes Highlight mit Quelle und Tags |
| GET | /search |
Semantische und Stichwortsuche. Parameter: q, source, tag, types, favorite, min_relevance, page, per_page (max. 50) |
| POST | /highlights |
Ein Highlight erstellen, optional mit tags (write-Scope) |
| POST | /highlights/bulk |
Viele Highlights in einem Aufruf erstellen (write-Scope) |
| PATCH | /highlights/:id |
Text, Notiz, Favorit bearbeiten oder tags ersetzen (write-Scope) |
| DELETE | /highlights/:id |
Ein Highlight löschen (write-Scope) |
| POST | /highlights/:id/tags |
Tags hinzufügen, ohne bestehende anzutasten (write-Scope) |
| DELETE | /highlights/:id/tags |
Die genannten Tags entfernen (write-Scope) |
Artikel
Gespeicherte Webseiten, Newsletter und PDFs: die Später-lesen-Seite von Screvi.
| Methode | Pfad | Hinweise |
|---|---|---|
| GET | /articles |
Filter: q, status, home_status (inbox, later, archive), favorite, has_highlights, tag, saved_since, saved_before, updated_since, include_deleted, sort_by, order |
| GET | /articles/:id |
Der Artikel mit Text, Tags und Highlights. format=text für reinen Text; lange Texte mit offset und max_chars blättern |
| POST | /articles |
Eine URL speichern, optional mit tags. Antwortet sofort mit parse_state: queued; die Seite wird im Hintergrund verarbeitet (write-Scope) |
| PATCH | /articles/:id |
Sortieren und Metadaten: home_status, favorite, title, excerpt, note, tags (write-Scope) |
| POST | /articles/:id/tags |
Tags hinzufügen (write-Scope) |
| DELETE | /articles/:id/tags |
Tags entfernen (write-Scope) |
Artikel können über die API nicht gelöscht, nur archiviert werden.
Quellen
| Methode | Pfad | Hinweise |
|---|---|---|
| GET | /sources |
Filter: type, search, updated_since, include_deleted, include_empty |
| GET | /sources/:id |
Eine Quelle mit ihren Highlights, paginiert |
| POST | /sources |
Ein Buch, einen Podcast, ein Video, einen Tweet oder eine eigene Quelle erstellen (write-Scope). Webartikel laufen über POST /articles |
| PATCH | /sources/:id |
Titel, Autor, Cover und andere Metadaten bearbeiten (write-Scope) |
| DELETE | /sources/:id |
Eine Quelle löschen. Mit ?cascade=true auch ihre Highlights löschen (write-Scope) |
Tags
| Methode | Pfad | Hinweise |
|---|---|---|
| GET | /tags |
Alle deine Tags mit Zählern |
| POST | /tags |
Einen Tag per Name erstellen. Liefert den bestehenden Tag, wenn der Name schon vergeben ist (write-Scope) |
| PATCH | /tags/:id |
Einen Tag umbenennen oder umfärben (write-Scope) |
| DELETE | /tags/:id |
Einen Tag löschen und überall entfernen; Highlights und Artikel bleiben (write-Scope) |
Inkrementelle Synchronisierung
Um ein anderes Tool mit Screvi in Einklang zu halten, speichere den Zeitpunkt deines letzten Durchlaufs und übergib ihn beim nächsten als updated_since. Nur Highlights oder Quellen, die danach geändert wurden, kommen zurück. Ergänze include_deleted=true, wenn du Löschungen spiegeln musst.
Beispiel: Neue Highlights mit curl exportieren
curl "https://api.screvi.com/api/v1/highlights?updated_since=2026-09-01T00:00:00Z&per_page=100" \
-H "X-API-Key: sk_live_your_key_here"
Ideen
- Jeden Morgen ein zufälliges Highlight in Slack oder auf X posten
- Einen Raycast- oder Alfred-Befehl bauen, der deine Bibliothek durchsucht
- Highlights aus einer Lese-App einspielen, die Screvi noch nicht integriert
- Deine Highlights in eine persönliche Wissensdatenbank oder einen eigenen KI-Agenten einspeisen
Verwandte Themen
- Screvi MCP-Server
- Highlights exportieren für einmalige ZIP-Exporte ohne Code
Noch Fragen?