API
If you ever want to integrate with newsku via API you can.
OpenAPI
The OpenAPI descriptions are here: https://your.newsku.url/v3/api-docs Swagger ui is available at https://your.newsku.url/swagger-ui/index.html
Authentication
All the endpoints under /api/ require authentication through the Authorization header. You can use either:
- A JWT token, obtained by logging in (
POST /login), passed with theBearerprefix:Authorization: Bearer <token> - An API key, passed as is, without the
Bearerprefix:Authorization: nsk_...
API keys
API keys are the easiest way to access your data from scripts, other applications or AI assistants.
To create one, go to Settings > API keys and click on Create API key. Give it a name so you remember where it is used, and optionally an expiry date.
The key is only displayed once, right after it is created, so copy it and store it somewhere safe. Newsku doesn't store the key itself, only a hash of it, so it can't be shown again. If you lose it, delete it and create a new one.
The API keys list shows when each key was last used. Deleting a key immediately revokes access for anything using it.
Example:
curl -H "Authorization: nsk_your_api_key" "https://your.newsku.url/api/users"
MCP server
Newsku has a built-in MCP server, so AI assistants can read your news for you, e.g. "What are the most important articles from yesterday?" or "Summarize this week's Linux news and mark those articles as read".
The server uses the Streamable HTTP transport and is available at:
https://your.newsku.url/api/mcp
It is authenticated with an API key passed in the Authorization header, without the Bearer prefix.
Available tools
| Tool | Description |
|---|---|
get_feed_items |
Gets the articles from your feeds published within a date range, most important first. Dates are ISO-8601, either a date (2025-11-01) or a date-time (2025-11-01T08:00:00Z). Articles below your minimum importance are excluded. |
mark_feed_items_as_read |
Marks articles as read, using the ids returned by get_feed_items. |
Reading articles through MCP doesn't mark them as seen for the new articles notifications.
Setting up a client
With Claude Code:
claude mcp add --transport http newsku https://your.newsku.url/api/mcp --header "Authorization: nsk_your_api_key"
Other clients that support remote MCP servers over HTTP usually take a configuration similar to this one:
{
"mcpServers": {
"newsku": {
"type": "http",
"url": "https://your.newsku.url/api/mcp",
"headers": {
"Authorization": "nsk_your_api_key"
}
}
}
}