Trusted technology news, ready for any screen.
A public JSON API for prototypes, apps, dashboards, smart displays, assistants, and bots. No API key is required for the initial release.
Authentication
Optional API key
Languages
English · العربية
Default limit
60 req / minute
GET
/v1/news/today
Returns articles published today using the Asia/Dubai day boundary. It returns an empty array when nothing has been published today.
curl "https://api.newtqnia.com/v1/news/today?locale=en&limit=5"
GET
/v1/news/latest
Returns the latest published articles, including when today’s digest is empty.
curl "https://api.newtqnia.com/v1/news/latest?locale=en&limit=5"
Parameters
| Parameter | Values | Description |
|---|---|---|
| locale | en, ar | Response language; English by default. |
| limit | 1–10 | Maximum number of articles. |
| category | slug | Optional category-slug filter. |
Optionally identify your application
The public API remains available without a key. Optional headers distinguish your application and website usage; a website is considered verified only after it is associated with a recognized key.
X-API-Key: ntq_…
X-NewTqnia-Application: example-dashboard
X-NewTqnia-Website: https://example.com
Create, label, replace, or revoke optional API keys from your profile.
Manage API keysThe same key also gives your AI assistant (ChatGPT, Claude, etc.) access over MCP. Connect an AI assistant →
Official package
PHP SDK
Use typed PHP objects to retrieve today’s digest or the latest news in PHP and Laravel applications. The package requires PHP 8.2 or later.
composer require newtqnia/php guzzlehttp/guzzle
use NewTqnia\Client;
$client = new Client();
$digest = $client->news()->today(locale: 'en', limit: 5);
foreach ($digest->articles as $article) {
echo $article->title.PHP_EOL;
}
Official package
Node.js SDK
A TypeScript-first SDK for retrieving NewTqnia news from Node.js applications, with strong types, safe retries, and ESM and CommonJS support. Requires Node.js 18 or later.
npm install newtqnia-node
npx jsr add @newtqnia/newtqnia-node
import { NewTqniaClient } from "newtqnia-node";
const client = new NewTqniaClient();
const digest = await client.news.latest({
locale: "en",
limit: 5,
});
for (const article of digest.articles) {
console.log(article.title, article.url);
}
Official package
Go SDK
The dependency-free official Go SDK provides typed responses, context cancellation, timeouts, safe retries, and structured errors. Requires Go 1.22 or later.
go get github.com/newtqnia/newtqnia-go@latest
package main
import (
"context"
"fmt"
"log"
newtqnia "github.com/newtqnia/newtqnia-go"
)
func main() {
client := newtqnia.New()
digest, err := client.News.Latest(context.Background(), &newtqnia.NewsListParams{
Locale: newtqnia.LocaleEnglish,
Limit: 5,
})
if err != nil {
log.Fatal(err)
}
for _, article := range digest.Articles {
fmt.Println(article.Title, article.URL)
}
}
JavaScript
const response = await fetch(
'https://api.newtqnia.com/v1/news/today?locale=en&limit=5'
);
const digest = await response.json();
for (const article of digest.articles) {
console.log(article.title, article.url);
}
Official package
Python SDK
The official Python SDK includes synchronous and asynchronous clients, typed models, safe retries, and attributed HTML rendering that preserves article links. Requires Python 3.10 or later.
pip install newtqnia
from newtqnia import NewTqnia
with NewTqnia() as client:
digest = client.news.latest(locale="en", limit=5)
for article in digest.articles:
print(article.title, article.url)
# Safe, RTL-aware article markup with visible attribution.
html = digest.render_html()
Async example for FastAPI and Django
from newtqnia import AsyncNewTqnia
async with AsyncNewTqnia() as client:
digest = await client.news.today(locale="en", limit=5)