API Integration

Plugging into the Gloria Data Platform is simple. You can fetch both our pre-curated feeds and custom feeds (set up on request) via REST, WebSocket or x402 API.


News API

Overview

The News API provides access to processed and curated content from various feeds like general crypto, macro, AI agent, and much more. Unlike the WebSocket API which provides real-time updates, this REST endpoint allows you to retrieve historical data within a specific date range.

Endpoint

GET /news

Query Parameters

Parameter
Type
Description

token

string

Authorization token. You can generate/manage your authorization tokens here: https://www.itsgloria.ai/api-keys-new

feed_categories

string

Comma-separated list of feed categories to fetch (e.g. crypto,ai_agents). Must be in your allowed feed categories, specified during token creation.

from_date

string

Optional. Start date in ISO format (YYYY-MM-DD). Defaults to 2025-05-01.

to_date

string

Optional. End date in ISO format (YYYY-MM-DD). Defaults to today.

page

number

Optional. Page number for pagination. Defaults to 1.

limit

number

Optional. Number of items per page. Defaults to 20.

Authentication

All requests to the News API require authentication using an authorization token. You can provide it as a query parameter:

https://ai-hub.cryptobriefing.com/news?token={{token}}&feed_categories=crypto,rwa

You can generate/manage your authorization tokens here: https://www.itsgloria.ai/api-keys-new

If a token is not provided or is invalid, the request will fail with a 401 Unauthorized response.

Feed Permissions

Each authorization token is associated with permissions for specific feed categories.

If at least one feed category you are trying to fetch from is not in the list of allowed (specified during authorization token creation), the request will fail with a 403 Forbidden response.

Available Feeds

The following feeds are available for subscription:

  • ai_agents: News on on-chain AI agents, agent frameworks, incentive structures, and ecosystem launches.

  • crypto: Broad crypto market updates, token launches, infra changes, and major protocol activity.

  • aptos: Aptos core protocol news, tokenomics, validator changes, and ecosystem-level updates.

  • rwa: Tokenized real-world asset (RWA) developments, including funds, issuers, platforms, and regulation.

  • ondo: Product, token, and roadmap news for Ondo Finance and its associated RWAs.

  • macro: High-impact macroeconomic and geopolitical events with market relevance.

  • ai: General AI industry news including LLMs, infrastructure, model launches, and major partnerships.

  • bitcoin: Bitcoin network upgrades, ETF flows, miner trends, and institutional adoption.

  • ethereum: Ethereum protocol upgrades, scaling tech, validator news, and ecosystem-level changes.

  • hyperliquid: Updates on the Hyperliquid exchange, HYPE token, governance, and ecosystem projects.

  • machine_learning: ML-focused news across academia, industry, and open-source development.

  • ripple: XRP, XRPL, and Ripple Labs updates including legal, infra, and ecosystem news.

  • solana: Solana protocol news, validator updates, outages, and core network developments.

  • tech: High-signal tech news across software, semiconductors, regulation, and AI infra.

  • virtuals: Virtuals Protocol and agent commerce ecosystem, including GAME, agents, and tokenomics.

Response Format

The API returns an array of feed items in JSON format. Each item has the following structure:

[
    {
        "id": "3eb6c79c-6295-48e5-95ab-710b7ed66812",
        "signal": "BlackRock plans to launch Bitcoin ETF in Australia",
        "sentiment": "bullish",
        "sentiment_value": 0.95,
        "timestamp": 1762247231.193328,
        "feed_categories": [
            "crypto",
            "bitcoin",
            "macro"
        ],
        "short_context": "BlackRock has launched a spot Bitcoin ETF in Australia, giving local investors regulated access to cryptocurrency through a product listed on the country’s main stock exchange. This development marks a significant step for Australia’s financial markets, as it aligns with global movements toward mainstream and regulated adoption of cryptocurrency investment options.",
        "long_context": "Entities mentioned or implied in the tweet  \n- BlackRock  \n- BTC (Bitcoin)  \n- ETF (Exchange-Traded Fund)  \n- Australia  \n\nShort appositive descriptions for each entity  \n- BlackRock, a global asset manager expanding cryptocurrency investment products through spot Bitcoin ETF launches in new markets  \n- BTC (Bitcoin), a leading cryptocurrency gaining mainstream adoption via regulated exchange-traded funds in regions like Australia  \n- ETF (Exchange-Traded Fund), a financial product offering regulated exposure to Bitcoin without direct asset ownership  \n- Australia, a country advancing cryptocurrency integration by hosting major Bitcoin ETF launches on its stock exchange  \n\nExternal facts or contextual insights  \nAdoption  \n- BlackRock's Bitcoin ETF launch provides local Australian investors with regulated access to cryptocurrency, eliminating the need for offshore options.  \n\nMarket Context  \n- The move marks a historic step for Australia's financial markets, aligning with global trends in cryptocurrency legitimacy and liquidity.  \n\nProduct  \n- The ETF is designed for straightforward integration into Australian investment portfolios, targeting both retail and institutional participants on the ASX.",
        "sources": [
            "https://x.com/LLuciano_BTC/status/1859147055840538632",
            "https://x.com/DeItaone/status/1784729756543402332",
            "https://x.com/CryptoJelleNL/status/1745407033803768099",
            "https://x.com/SimplyBitcoin/status/1873777820184494571",
            "https://x.com/TheBitcoinConf/status/1873790451670802738",
            "https://x.com/BitcoinMagazine/status/1873773971159777317",
            "https://x.com/crypto/status/1784720358693618007",
            "https://x.com/EricBalchunas/status/1523659326396985344",
            "https://x.com/CryptosR_Us/status/1873775173608104403",
            "https://x.com/BritishHodl/status/1743686365571920380"
        ],
        "author": "solidintel_x",
        "tokens": [
            "$BTC"
        ],
        "tweet_url": "https://x.com/solidintel_x/status/1985634552664985964",
        "narrative_id": "32a92ee7-0dc1-47b6-a095-d27e830bdd5d"
    },
    {
        "id": "1d7ad6df-9c9c-4821-ab56-5af6dbf8918c",
        "signal": "The Trump Family partners with boutique banks for crypto deals in 2025",
        "sentiment": "neutral",
        "sentiment_value": 1.0,
        "timestamp": 1762245971.747684,
        "feed_categories": [
            "crypto"
        ],
        "short_context": "The Trump family is working with firms such as Dominari Holdings, based in Trump Tower, to advance digital-currency projects that involve external collaborators. Their crypto venture, World Liberty Financial, is specifically focused on tokenizing real estate assets as part of their broader efforts to expand into blockchain-based offerings.",
        "long_context": "Entities Mentioned or Implied\n- Trump family\n- Boutique banks\n- Trump Tower\n- New Jersey\n- Crypto deals\n\n### Entity Descriptions\n- Trump family, a group involved in real estate and cryptocurrency ventures through initiatives like World Liberty Financial\n- Boutique banks, small financial institutions supporting crypto financing, including one operating from Trump Tower and another in a modest New Jersey location\n- Trump Tower, a Manhattan skyscraper serving as a base for crypto-related firms linked to the Trump family\n- New Jersey, a state hosting unconventional sites for boutique banks aiding Trump family crypto projects\n- Crypto deals, blockchain-based transactions involving tokenization of assets by the Trump family through platforms like World Liberty Financial\n\n### Contextual Insights\nPartnership  \n- The Trump family has partnered with firms like Dominari Holdings, based in Trump Tower, to advance digital-currency projects involving external collaborators.  \n\nProduct  \n- World Liberty Financial, a Trump family crypto venture, is focusing on tokenizing real estate assets to expand their blockchain offerings.  \n\nMarket Context  \n- Boutique banks are facilitating the Trump family's shift toward integrating cryptocurrency with traditional assets amid growing involvement in decentralized finance.",
        "sources": [
            "https://x.com/Adya_crypt/status/1962487604202324179",
            "https://x.com/Coachjv_/status/1949586884449149279",
            "https://x.com/pdacosta/status/1118523840659955713",
            "https://x.com/simononchain/status/1940501346798784920",
            "https://x.com/eli5_defi/status/1963256193482441139",
            "https://x.com/MarioNawfal/status/1881209179009958036",
            "https://x.com/tomiahonen/status/1348969630451302402",
            "https://x.com/NathanOnCrypto/status/1978570702832668687",
            "https://x.com/CryptooIndia/status/1978684858839744701",
            "https://x.com/Heidi_Cuda/status/1177264208733294592"
        ],
        "author": "FT",
        "tokens": [
            "$BTC",
            "$WLFI"
        ],
        "tweet_url": "https://x.com/FT/status/1985629363790868500",
        "narrative_id": "5300d4a0-3d00-4abf-b2e7-51b9453509dc"
    },
    // More items...
]

Response Fields

Field
Type
Description

id

string

Unique identifier for the news item.

signal

string

The main content of the news item.

sentiment

string

High-level tone of the news: bullish, bearish, or neutral. Based on language and phrasing.

sentiment_value

string

Sentiment score value.

timestamp

number

Unix timestamp (in seconds) of when the item was pushed.

feed_categories

string[]

Feed categories the news item belongs to.

short_context

string

One-line summary of the broader context behind the news.

long_context

string

Expanded context including related news events, historical developments, and background information to help understand the significance of the news.

author

string

The primary source of the news item.

tweet_url

string

Direct link to the original tweet on X (Twitter).

tokens

string[]

Mentioned tokens.

Status Codes

Status Code
Description

200

Success

400

Bad Request (invalid parameters)

401

Unauthorized (missing or invalid authorization token)

403

Forbidden (authorization token does not have permission for the requested feed)

404

Not Found (no data found for the specified parameters)

Example Requests

cUrl

curl -X GET "https://ai-hub.cryptobriefing.com/news?token={{token}}&feed_categories=crypto,ai_agents&page=1&limit=40&from_date=2025-05-10&to_date=2025-05-15"

Javascript

const fetchNews = async () => {
  const response = await fetch(
    'https://ai-hub.cryptobriefing.com/news?token={{token}}&feed_categories=crypto,ai_agents&page=1&limit=40&from_date=2025-05-10&to_date=2025-05-15'
  );
  
  if (!response.ok) {
    throw new Error(`HTTP error! Status: ${response.status}`);
  }
  
  const data = await response.json();
  return data;
};

// Usage
(async () => {
  try {
    const newsItems = await fetchNews();
    console.log(`Received ${newsItems.length} news items`);
    newsItems.forEach(item => {
      console.log(`${new Date(item.timestamp * 1000).toLocaleString()}: ${item.signal}`);
    });
  } catch (error) {
    console.error('Error fetching news:', error);
  }
})();

News WebSocket API

Overview

The WebSocket API provides real-time data feeds from various cryptocurrency and AI-related feeds. It allows to subscribe to specific data feeds and receive instant updates as new content becomes available.

Connection

Endpoint

wss://{{domain}}/ws/feed

Authentication

All WebSocket connections require authentication using an authorization token. You can provide it as a query parameter:

wss://{{domain}}/ws/feed?token={{token}}

You can generate/manage your authorization tokens here: https://www.itsgloria.ai/api-keys-new

If an authorization token is not provided or is invalid, the connection will be closed immediately with a 401 Unauthorized response.

Message Format

All messages exchanged between the client and server are in JSON format. Each message has a type field that indicates the message type.

Message Types

  • subscribe: Subscribe to a specific feed

  • unsubscribe: Unsubscribe from a specific feed

  • data: Data message containing feed item information

  • error: Error message

  • ping: Ping message to keep connection alive

  • pong: Response to a ping message

Client to Server Messages

Subscribe to a Feed

To receive updates from a specific feed, send a subscribe message:

{
    "type": "subscribe",
    "feed_category": "crypto"
}

The server will respond with a confirmation message:

{
    "type": "data",
    "action": "subscribed",
    "feed_category": "crypto"
}

Feed Permissions

Each authorization token is associated with permissions for specific feed categories.

If at least one feed category you are trying to subscribe to is not in the list of allowed (specified during authorization token creation), you will receive an error message.

Unsubscribe from a Feed

To stop receiving updates from a feed:

{
    "type": "unsubscribe",
    "feed_category": "crypto"
}

Server to Client Messages

Welcome Message

Upon successful connection, the server sends a welcome message:

{
    "type": "data",
    "message": "Connection established. Use subscribe/unsubscribe messages to manage feeds."
}

Data Message

When new content is available in a subscribed feed, the server sends a data message:

{
    "type": "data",
    "content": {
        "id": "49683a70-ce26-46ef-9db8-218b6f9b9748",
        "signal": "Blink Charging to accept crypto payments at EV chargers",
        "sentiment": "neutral",
        "sentiment_value": "0.87",
        "timestamp": "2025-09-04T14:46:40.119015+00:00",
        "feed_categories": [
            "crypto",
            "tech"
        ],
        "short_context": "Blink Charging has announced that it will begin accepting cryptocurrency payments at its electric vehicle charging stations. The rollout will start at select locations in the United States and could expand to other countries where Blink operates.",
        "long_context": "### Facts\n- Blink Charging, a provider of electric vehicle charging stations, has announced plans to accept cryptocurrency as a payment method at its EV chargers.\n- The initiative aims to integrate crypto payments directly into the charging process for users of Blink's network of Level 2 and DC fast chargers.\n- This feature will be compatible with major cryptocurrencies, though specific ones like Bitcoin or Ethereum were not detailed in the announcement.\n- Rollout is expected to begin in select locations in the United States, with potential expansion to global markets where Blink operates.\n- The company stated this move is part of broader efforts to enhance payment flexibility and attract tech-savvy EV drivers.\n\n### Why it matters\nIntegrating cryptocurrency payments into EV charging stations could make electric vehicle ownership more convenient for people who use digital currencies, potentially speeding up adoption in a market where payment options have traditionally been limited to credit cards or apps. This step aligns with growing consumer interest in seamless, modern transactions, and it positions Blink Charging as an innovator in the competitive EV infrastructure space, where companies are racing to meet rising demand from electric car owners.\n\n### Zooming out\nEV Market Growth: Global electric vehicle sales reached over 14 million units in 2023, up from 6.6 million in 2021, driven by incentives like the U.S. federal tax credit of up to $7,500 per vehicle under President Trump's administration.\nCryptocurrency Adoption in Payments: Around 420 million people worldwide own cryptocurrency as of 2024, with payment integrations in retail and services increasing by 30% year-over-year, reflecting a trend toward mainstream use beyond investment.\nSustainability Trends: EV charging networks like Blink's support environmental goals, with the U.S. aiming for 50% of new vehicle sales to be electric by 2030, tying into broader efforts to reduce carbon emissions through innovative tech integrations.",
        "author": "DeItaone",
        "tweet_url": "https://x.com/DeItaone/status/1963614452806238544"
    }
}

Error Message

If an error occurs, the server sends an error message:

{
    "type": "error",
    "error": "Permission denied",
    "details": "No permission for crypto feed"
}

Ping/Pong

The server sends ping messages every 30 seconds to keep the connection alive:

{
  "type": "ping",
  "timestamp": 1148216.120805222
}

Clients should respond with a pong message:

{
  "type": "pong",
  "timestamp": 1148216.120805222
}

Available Feeds

See Available Feeds.

Error Handling

The server may close the connection with the following status codes:

  • 1000: Normal closure (server shutting down or inactive connection)

  • 1008: Policy violation (missing or invalid authorization token)

Connection Lifecycle

  1. Connect to the WebSocket endpoint with a valid authorization token

  2. Receive the welcome message

  3. Subscribe to desired feeds

  4. Receive real-time updates

  5. Respond to ping messages to keep the connection alive

  6. Unsubscribe when no longer interested in a feed

  7. The connection will be automatically closed after 5 minutes of inactivity

Client Example (JavaScript)

// Create WebSocket connection
const socket = new WebSocket('wss://ai-hub.cryptobriefing.com/ws/feed?token={{token}}');

// Connection opened
socket.addEventListener('open', (event) => {
  console.log('Connected to WebSocket server');
  
  // Subscribe to a feed
  socket.send(JSON.stringify({
    type: 'subscribe',
    feed_category: 'crypto'
  }));
});

// Listen for messages
socket.addEventListener('message', (event) => {
  const message = JSON.parse(event.data);
  
  switch(message.type) {
    case 'data':
      if (message.content) {
        // New news item received
        console.log(`WebSocketClient: New update for ${message.content.feed_category}:`, message.content.signal);
        this.emit('news', message.content);
      } else if (message.action === 'subscribed') {
        console.log(`WebSocketClient: Successfully subscribed to ${message.feed_category}`);
        this.emit('subscribed', message.feed_category);
      } else {
        console.log('WebSocketClient: Data message:', message);
      }
      break;
    case 'error':
      console.error('Error:', message.error, message.details);
      break;
    case 'ping':
      // Respond with pong to keep connection alive
      socket.send(JSON.stringify({
        type: 'pong',
        timestamp: message.timestamp
      }));
      break;
  }
});

// Handle connection close
socket.addEventListener('close', (event) => {
  console.log('Connection closed:', event.code, event.reason);
});

// Handle errors
socket.addEventListener('error', (event) => {
  console.error('WebSocket error:', event);
});

Recaps API

Overview

The Recaps API provides a condensed summary of the most important news published on Gloria in the last 12 hours, making it easy to track key developments at a glance.

Endpoint

GET /recaps

Query Parameters

Parameter
Type
Description

token

string

Authorization token. You can generate/manage your authorization tokens here: https://www.itsgloria.ai/api-keys-new.

feed_category

string

Feed category to get the recap for (e.g. crypto,ai_agents). Must be in your allowed feed categories, specified during token creation.

timeframe

string

Defines the news collection window. Available options: 12h .

Authentication

All requests to the Recaps API require authentication using an authorization token. You can provide it as a query parameter:

https://ai-hub.cryptobriefing.com/recaps?token={{token}}&feed_category=crypto&timeframe=12h

You can generate/manage your authorization tokens here: https://www.itsgloria.ai/api-keys-new

If a token is not provided or is invalid, the request will fail with a 401 Unauthorized response.

Feed Permissions

Each authorization token is associated with permissions for specific feed categories.

If the feed category you are trying to fetch recap for is not in the list of allowed (specified during authorization token creation), the request will fail with a 403 Forbidden response.

Response Format

The API returns a recap of news for the specified feed category in JSON format:

{
    "feed_category": "macro",
    "timeframe": "12h",
    "recap": "Bitcoin ETFs recorded $1.7 billion in net purchases this week, a pace that points to renewed institutional demand after a quieter start to the year. Market analysts view this surge as an indicator that risk appetite and bullish sentiment are returning, with ETF inflows often preceding wider price rallies.\n\nThe entry of large investors into Bitcoin ETFs is helping to stabilize the asset’s value, encouraging retail participation and giving credence to the view that Bitcoin is maturing as an investment product. Persistent inflows, especially during market recoveries, can set new price floors.\n\nPosts on social media platforms suggest that weekly inflows surpassing $1 billion have occurred multiple times in 2024 and 2025, with leading asset managers reportedly among the buyers. However, these claims remain partially unverified in the absence of official disclosures.\n\nBitcoin's current $1.2 trillion market capitalization underscores its dominant position, accounting for roughly half of the entire cryptocurrency sector. Its adoption by companies and reserve managers continues to grow amid concerns over inflation and changing global monetary policy.",
    "created_at": "2025-09-12T14:50:18.849965Z"
}

Response Fields

Field
Type
Description

feed_category

string

Indicates the category the recap was generated for (e.g. crypto, macro).

timeframe

string

The news collection window.

recap

string

Recap content.

created_at

string

Timestamp indicating when the recap was generated.

Example Requests

cUrl

curl -X GET "https://ai-hub.cryptobriefing.com/recaps?token={{token}}&feed_category=crypto&timeframe=12h"

Javascript

const fetchRecap = async (category) => {
  const token = "my_token";
  const response = await fetch(
    `https://ai-hub.cryptobriefing.com/recaps?token=${token}&feed_category=${category}&timeframe=12h`
  );
  
  if (!response.ok) {
    throw new Error(`HTTP error! Status: ${response.status}`);
  }
  
  const data = await response.json();
  return data;
};

// Usage
(async () => {
  try {
    const recap = await fetchRecap("crypto");
    console.log("Recap:", recap);
  } catch (error) {
    console.error('Error fetching recap:', error);
  }
})();

Last updated