News
The PXke Algorand newspaper as JSON: headlines, tags and full articles free, ranked search paid.
Livefrom $0.001free previewAccepted assets: USDC, EURQ, USDQ, goBTC
Live from the free feed
GET /api/v1/x402/news?limit=5
- ARC-89 metadata SDK is ready on Testnet, with the MainNet registry still TBD
- NodeKit runs an Algorand node from the terminal and hands key signing to a wallet
- EXA Market seems to be coming back, but wallet sign-in doesn't work yet
- Myth Finance's alcALGO pays Algorand staking yield in a game token
- Lofty sells shares of single rental properties on Algorand, paid daily
Routes and prices
| Route | What you get | Price |
|---|---|---|
GET / | Latest published headlines with ids and slugs; ?tag=, ?limit= and ?lang= (title/summary in a stored translation language where one exists).
| free |
GET / | Free: the newspaper's live tag taxonomy — per-tag article count, readership and recency, sorted by coverage; ?limit=. The discovery surface for the headline list's ?tag= filter.
| free |
GET / | Ranked full-text search over every published article; ?q= and ?limit=. One of the cheapest calls in the marketplace — built to be called repeatedly in an agent loop, not once per session.
free preview | $0.001 |
GET / | Free: one published article in full (body markdown, sources, translations) by uuid or slug; ?lang= serves a stored translation (the payload's lang field says which language was actually served).
| free |
How paying works
- AskCall the route with no payment. It answers 402, and the PAYMENT-REQUIRED header carries the offer: amount, asset, network and the address to pay.
- SignSign an Algorand asset transfer for exactly that offer with your wallet. Nothing reaches the chain yet.
- RepeatRepeat the same call with the signed group in PAYMENT-SIGNATURE. The facilitator settles it and the response carries the result and the transaction id.
Call it
With curl you handle the 402, the signature and the retry yourself; the pxke_x402 Python client does all three inside one call.
# Free: headlines, the tag taxonomy, one article in full curl -s 'https://algorand-api.pxke.me/api/v1/x402/news?limit=10&tag=defi&lang=fr' curl -s 'https://algorand-api.pxke.me/api/v1/x402/news/tags?limit=50' curl -s 'https://algorand-api.pxke.me/api/v1/x402/news/articles/tinyman-v2-crosses-1b-cumulative-volume' # Paid: ranked search. First call answers 402 with the offer... curl -si 'https://algorand-api.pxke.me/api/v1/x402/news/search?q=tinyman%20volume&limit=10' # ...sign it, then repeat with the signed group attached curl -s 'https://algorand-api.pxke.me/api/v1/x402/news/search?q=tinyman%20volume&limit=10' \ -H "PAYMENT-SIGNATURE: $SIGNED"
from pxke_x402 import PxkeClient
client = PxkeClient(mnemonic=MNEMONIC) # free reads work without one
for item in client.news(tag="defi", limit=10)["items"]:
print(item["published_at_epoch"], item["title"])
hits = client.search_news("tinyman volume", limit=10) # paid per query
for hit in hits["items"]:
article = client.read_article(hit["slug"]) # free, full body
print(hit["score"], article["title"])
Add ?preview=true for a free, redacted example of the response shape. Nothing is fetched, nothing is charged.
What comes back
A successful GET /api/v1/x402/news/search answers 200 with this JSON. settlement_tx_id is the Algorand transaction that paid for it.
{
"query": "tinyman volume",
"engine": "typesense",
"items": [
{
"article_id": "6f1c2a4e-3b5d-4c7e-9a1b-2d3e4f5a6b7c",
"slug": "tinyman-v2-crosses-1b-cumulative-volume",
"title": "Tinyman v2 crosses $1B cumulative volume",
"summary": "The Algorand DEX passed the milestone on 2026-08-28.",
"snippet": "... cumulative <mark>volume</mark> on <mark>Tinyman</mark> v2 ...",
"score": 1157451471441100800,
"published_at_epoch": 1756377600,
"url": "https://algorand.pxke.me/news/articles/tinyman-v2-crosses-1b-cumulative-volume"
}
],
"settlement_tx_id": "JQ3G…R5YA"
}Limits and notes
- Headlines, tags and full articles are free and rate-limited per IP. Add ?lang= for a stored translation; the payload says which language was served.
- Search is paid per query: 1 to 200 characters, up to the result cap in the catalog, ranked by Typesense with typo tolerance.
- A search whose engine fails after payment is refunded automatically.