Aevum News API Reference
Integrate Aevum News into your applications. Our RESTful API provides comprehensive access to articles, stories, authors, categories, analytics, and more. Build real-time news dashboards, content aggregators, and automated journalism workflows.
Authentication
Aevum News API supports three authentication methods depending on your use case.
API Key (Simple)
Include your API key in the request header. Best for server-to-server communication and read-only access.
Authorization: Bearer YOUR_API_KEY
OAuth 2.0 (Full)
For write operations and user-specific data. Requires a registered application and redirect URI.
GET https://api.aevumnews.com/oauth/authorize ?client_id=YOUR_CLIENT_ID &response_type=code &redirect_uri=https://yourapp.com/callback &scope=read write admin
Webhook Signature
Verify webhook payloads using HMAC-SHA256. The signature is sent in the Aevum-Signature header.
Aevum-Signature: t=1698765432,v1=a1b2c3d4e5...
Rate Limiting
API requests are rate-limited based on your subscription tier. Exceeded limits return a 429 Too Many Requests status.
X-RateLimit-Limit, X-RateLimit-Remaining, and X-RateLimit-Reset.Error Handling
The API uses conventional HTTP response codes. Errors are returned in a standardized JSON format.
{
"error": {
"code": "invalid_request",
"message": "The 'q' parameter is required for search endpoints.",
"status": 400,
"documentation_url": "https://docs.aevumnews.com/errors#invalid_request"
}
}| HTTP Code | Error | Description |
|---|---|---|
| 400 | bad_request | Malformed request or missing required parameters. |
| 401 | unauthorized | Missing or invalid authentication credentials. |
| 403 | forbidden | Insufficient permissions for the requested resource. |
| 404 | not_found | The requested resource does not exist. |
| 429 | rate_limited | Too many requests. Retry after X-RateLimit-Reset. |
| 500 | internal_error | Server error. If persistent, contact support. |
| 502 | bad_gateway | Upstream service unavailable. |
| 503 | unavailable | Service temporarily down for maintenance. |
Pagination
All list endpoints support cursor-based pagination for consistent performance with large datasets.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| page | integer | Optional | 1 | Page number for offset-based pagination. |
| per_page | integer | Optional | 20 | Number of items per page (max 100). |
| cursor | string | Optional | โ | Cursor for next/previous page navigation. |
| sort | string | Optional | created_at | Sort field: created_at, updated_at, relevance. |
| order | string | Optional | desc | Sort order: asc or desc. |
{
"data": [ ... ],
"pagination": {
"page": 1,
"per_page": 20,
"total_items": 1847,
"total_pages": 93,
"has_next": true,
"has_prev": false,
"next_cursor": "eyJpZCI6MTIzLCJjdXJzb3IiOiIyMDI1LTAxLTE1In0=",
"prev_cursor": null
}
}Articles
Read and manage Aevum News articles. Articles are the core content objects in our system.
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| category | string | Optional | Filter by category slug (e.g., politics, tech). |
| author_id | string | Optional | Filter by author UUID. |
| tag | string | Optional | Filter by tag slug. Can be repeated. |
| status | string | Optional | Filter by status: published, draft, archived. |
| published_after | datetime | Optional | ISO 8601 timestamp. Inclusive. |
| published_before | datetime | Optional | ISO 8601 timestamp. Inclusive. |
| language | string | Optional | ISO 639-1 language code. Default: en. |
| featured | boolean | Optional | Only return featured articles. Default: false. |
Example Request
curl https://api.aevumnews.com/v2/articles \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "category": "technology", "featured": true, "per_page": 10, "sort": "relevance", "order": "desc" }'
{
"data": [
{
"id": "art_9f8e7d6c5b4a3210",
"title": "Global Markets Reach All-Time High Amid Tech Rally",
"slug": "global-markets-tech-rally",
"summary": "Major indices surge as technology sector reports record earnings.",
"content": "Full article content in markdown format...",
"author": {
"id": "aut_a1b2c3d4e5f6",
"name": "Elena Rodriguez",
"slug": "elena-rodriguez"
},
"category": {
"id": "cat_biz_finance",
"name": "Business & Finance",
"slug": "business"
},
"tags": ["markets", "tech", "earnings"],
"featured": true,
"language": "en",
"reading_time": 8,
"status": "published",
"views": 48293,
"created_at": "2025-01-15T09:30:00Z",
"updated_at": "2025-01-15T11:45:00Z",
"published_at": "2025-01-15T10:00:00Z",
"cover_image": "https://cdn.aevumnews.com/images/abc123.jpg"
}
],
"pagination": { ... }
}Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | Required | The article's unique UUID. |
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| include | string | Optional | Comma-separated: author,category,comments,related. |
| format | string | Optional | Output format: json or markdown. Default: json. |
curl https://api.aevumnews.com/v2/articles/art_9f8e7d6c5b4a3210 \ -H "Authorization: Bearer YOUR_API_KEY" \ -d '{ "include": "author,category,related" }'
{
"data": {
"id": "art_9f8e7d6c5b4a3210",
"title": "Global Markets Reach All-Time High Amid Tech Rally",
"slug": "global-markets-tech-rally",
"summary": "Major indices surge as technology sector reports record earnings.",
"content": "Full article content in markdown format...",
"author": { /* expanded author object */ },
"category": { /* expanded category object */ },
"related": [ /* array of related article IDs */ ],
"created_at": "2025-01-15T09:30:00Z",
"published_at": "2025-01-15T10:00:00Z"
}
}write scope. Only Pro and Enterprise tiers can create articles.Request Body
{
"title": "Your Article Title",
"slug": "your-article-slug",
"summary": "A brief summary of the article.",
"content": "Article content in markdown format.",
"category_id": "cat_biz_finance",
"author_id": "aut_a1b2c3d4e5f6",
"tags": ["markets", "tech"],
"status": "draft",
"featured": false,
"cover_image_url": "https://example.com/image.jpg",
"language": "en"
}{
"data": {
"id": "art_new1234567890",
"title": "Your Article Title",
"slug": "your-article-slug",
"status": "draft",
"created_at": "2025-01-15T14:22:00Z"
}
}Accepts the same body as POST /articles. All fields are optional โ only provided fields will be updated.
curl -X DELETE https://api.aevumnews.com/v2/articles/art_9f8e7d6c5b4a3210 \ -H "Authorization: Bearer YOUR_API_KEY"
Stories
Stories are long-form investigative pieces or serialized content that span multiple articles.
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| status | string | Optional | published, in_progress, draft. |
| series | string | Optional | Filter by series slug. |
| completed | boolean | Optional | Only completed stories. |
{
"data": [
{
"id": "st_abc123def456",
"title": "The Future of AI in Journalism",
"series": "ai-journalism-2025",
"status": "in_progress",
"total_chapters": 5,
"published_chapters": 3,
"authors": ["aut_001", "aut_002"],
"created_at": "2025-01-10T08:00:00Z"
}
]
}Categories
{
"data": [
{ "id": "cat_politics", "name": "Politics", "slug": "politics", "article_count": 2100 },
{ "id": "cat_tech", "name": "Technology", "slug": "tech", "article_count": 1800 },
{ "id": "cat_business", "name": "Business & Finance", "slug": "business", "article_count": 1500 },
{ "id": "cat_world", "name": "World Affairs", "slug": "world", "article_count": 2400 },
{ "id": "cat_science", "name": "Science", "slug": "science", "article_count": 1200 },
{ "id": "cat_culture", "name": "Culture & Arts", "slug": "culture", "article_count": 980 },
{ "id": "cat_health", "name": "Health", "slug": "health", "article_count": 860 },
{ "id": "cat_climate", "name": "Climate & Environment", "slug": "climate", "article_count": 1100 }
]
}Search
Full-text search across all articles, stories, and authors with advanced filtering.
q parameter is required. Searches use Aevum's proprietary relevance engine optimized for news content.| Parameter | Type | Required | Description |
|---|---|---|---|
| q | string | Required | Search query string (min 2 characters). |
| type | string | Optional | Content type: articles, stories, authors, all. |
| lang | string | Optional | Language filter. Default: en. |
| date_range | string | Optional | day, week, month, year, all. |
| sort | string | Optional | relevance (default), date, popularity. |
curl -G --data-urlencode "q=artificial intelligence regulation" \ --data-urlencode "type=articles" \ --data-urlencode "date_range=week" \ --data-urlencode "sort=relevance" \ https://api.aevumnews.com/v2/search \ -H "Authorization: Bearer YOUR_API_KEY"
{
"data": {
"results": [
{
"type": "article",
"id": "art_xxx",
"title": "EU Passes Landmark AI Regulation Act",
"score": 0.97,
"highlight": "...comprehensive framework for artificial intelligence governance...",
"published_at": "2025-01-14T12:00:00Z"
}
],
"total_results": 847,
"took_ms": 23,
"query": "artificial intelligence regulation"
}
}Analytics
Access detailed metrics about your content performance, audience engagement, and content trends.
| Parameter | Type | Required | Description |
|---|---|---|---|
| from | datetime | Required | Start date (ISO 8601). |
| to | datetime | Required | End date (ISO 8601). |
| granularity | string | Optional | hourly, daily, weekly, monthly. Default: daily. |
{
"data": {
"period": { "from": "2025-01-01T00:00:00Z", "to": "2025-01-31T23:59:59Z" },
"summary": {
"total_views": 2847593,
"total_reads": 1923847,
"avg_read_time": 4.2,
"engagement_rate": 0.675,
"top_article": { "id": "art_top1", "views": 142380 },
"articles_published": 847,
"articles_trending": 23
},
"daily": [
{ "date": "2025-01-15", "views": 89234, "reads": 61234 },
{ "date": "2025-01-14", "views": 91020, "reads": 62800 }
]
}
}Subscriptions
{
"data": [
{
"id": "sub_xxxxxxxxx",
"type": "newsletter",
"frequency": "daily",
"categories": ["tech", "science"],
"email": "user@example.com",
"active": true,
"created_at": "2024-11-20T10:00:00Z"
}
]
}Webhooks
Subscribe to real-time event notifications. Aevum News will POST to your configured endpoint when events occur.
curl -X POST https://api.aevumnews.com/v2/webhooks \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "url": "https://your-app.com/webhook/aevum", "events": ["article.published", "article.updated", "trending.article"], "secret": "whsec_your_secret_key" }'
Aevum-Signature header and HMAC-SHA256 with your secret key. Payloads expire after 24 hours.SDKs & Libraries
Official and community-maintained SDKs for popular languages.
| Language | Package | Version | Link |
|---|---|---|---|
| Python | aevum-news-python | 3.2.1 | GitHub โ |
| JavaScript | @aevum/news-sdk | 4.1.0 | npm โ |
| Go | github.com/aevum/news-go | 2.0.3 | GitHub โ |
| Ruby | aevum_news | 1.8.0 | RubyGems โ |
| Rust | aevum-news | 0.9.5 | crates.io โ |
| PHP | aevum/news-sdk | 2.3.0 | Packagist โ |
import { AevumClient } from "@aevum/news-sdk"; const aevum = new AevumClient({ apiKey: "YOUR_API_KEY", timeout: 10000 }); // Search for articles const results = await aevum.search({ q: "climate change", type: "articles", dateRange: "week", }); console.log(results.data.results); // โ Array of matched articles // Get article details const article = await aevum.articles.getById("art_9f8e7d6c", { include: ["author", "category"] }); // Subscribe to webhooks await aevum.webhooks.subscribe({ url: "https://myapp.com/webhook", events: ["article.published"] });
Changelog
- โ
Added
analytics/audienceendpoint with geographic breakdown - โ
Added
languagefilter to search endpoint - โ Fixed pagination cursor encoding for non-ASCII characters
- โ
New
/storiesendpoints for serialized content - โ
Webhook event
analytics.milestoneadded - โ Rate limit increase: Free tier from 50 โ 100 req/hr
- ๐ด API v1 deprecated โ all routes prefixed with /v2
- ๐ด OAuth 1.0 replaced with OAuth 2.0
- ๐ด UUID identifiers replace numeric IDs
- โ Cursor-based pagination replaces offset pagination
Support
Need help? Our developer support team is here to assist you.
๐ฌ Community Forum
Ask questions and share solutions with other developers.
community.aevumnews.com