DexScreener Alerts from Twitter: Token Detection Pipeline Guide (2026)

How to build a complete token detection pipeline — from tweet OCR to DexScreener pair validation to live price alerts for crypto trading.

From Tweet to Token Alert: Why Speed Matters

In crypto, alpha appears on Twitter before anywhere else. When an influencer mentions a new token, when a developer drops a contract address in a screenshot, or when a whale's on-chain activity gets called out — the first traders to act capture the move. Everyone else buys the top.

A tweet-to-trade pipeline needs three things: real-time tweet detection, automatic token extraction (from text and images), and instant price validation. DexScreener is the missing piece that turns a raw token symbol into a tradeable pair with live pricing.

What Is DexScreener?

DexScreener is a real-time DEX (decentralized exchange) aggregator that tracks token pairs across major blockchains including Ethereum, Solana, BSC, Arbitrum, Base, and dozens more. It provides live price charts, trading volume, liquidity data, and transaction history for any token with an active trading pair.

For trading bots and alert systems, DexScreener's API is the standard way to validate that a token mentioned in a tweet is real, liquid, and tradeable — and to get its current price.

DexScreener API: Key Endpoints

DexScreener exposes multiple public endpoints without an API key, but rate limits vary by endpoint family. Check the current reference before you wire a production pipeline to a specific route:

EndpointUse CaseExample
GET /latest/dex/search?q={query}Search for tokens by name or symbol/latest/dex/search?q=PEPE
GET /latest/dex/pairs/{chainId}/{pairId}Get a specific trading pair/latest/dex/pairs/solana/{pair_address}
GET /token-pairs/v1/{chainId}/{tokenAddress}Get all pairs for a token address on one chain/token-pairs/v1/solana/So11111111111111111111111111111112
GET /tokens/v1/{chainId}/{tokenAddresses}Look up one or more token addresses on one chain/tokens/v1/ethereum/0x6982508145454Ce325dDbE47a25d4ec3d2311933
GET /token-profiles/latest/v1Get recently updated token profiles/token-profiles/latest/v1

Response shape and rate limits differ across these routes, so confirm the current docs before you standardize your ingestion code.

Building the Token Detection Pipeline

A complete tweet-to-alert pipeline has four stages:

  1. Stage 1: Tweet ingestion — Receive tweets in real time from monitored accounts via WebSocket or streaming API
  2. Stage 2: Token extraction — Parse tweet text for $TICKER symbols, contract addresses (0x... for EVM, base58 for Solana), and DEX URLs (dexscreener.com, birdeye.so)
  3. Stage 3: OCR extraction — Run optical character recognition on attached images to catch tokens in screenshots, chart images, and announcement graphics
  4. Stage 4: Price validation — Hit DexScreener API to confirm the token is real, check liquidity, and get live pricing

OCR: Catching Tokens Hidden in Images

Many crypto influencers share token information as screenshots rather than plain text — chart screenshots, trading terminal images, or announcement graphics with contract addresses. A text-only pipeline misses these entirely.

OCR (Optical Character Recognition) extracts text from images attached to tweets. The extracted text is then scanned for the same patterns: $TICKER symbols, contract addresses, and DEX URLs. This is where a significant amount of early alpha gets caught — the contract address in a chart screenshot that manual traders have to type out character by character.

TweetStream runs OCR automatically on every image attachment and includes the extracted text in the alert payload, already scanned for token references.

Code Example: Token Lookup with DexScreener API

// Look up a token on DexScreener by chain + address
async function lookupToken(chainId: string, address: string) {
  const res = await fetch(
    `https://api.dexscreener.com/tokens/v1/${chainId}/${address}`
  );
  const pairs = await res.json();

  if (!pairs?.length) {
    console.log('No trading pairs found');
    return null;
  }

  // Get the highest-liquidity pair
  const topPair = pairs.sort(
    (a, b) => (b.liquidity?.usd ?? 0) - (a.liquidity?.usd ?? 0)
  )[0];

  return {
    symbol: topPair.baseToken.symbol,
    name: topPair.baseToken.name,
    price: topPair.priceUsd,
    priceChange24h: topPair.priceChange?.h24,
    volume24h: topPair.volume?.h24,
    liquidity: topPair.liquidity?.usd,
    dex: topPair.dexId,
    chain: topPair.chainId,
    pairUrl: topPair.url,
  };
}

// Example: look up PEPE on Ethereum
const token = await lookupToken('ethereum', '0x6982508145454Ce325dDbE47a25d4ec3d2311933');
console.log(token);
// { symbol: 'PEPE', price: '0.00001234', liquidity: 5200000, ... }

Code Example: Full Detection Pipeline

// Full tweet → token → price pipeline
const TICKER_REGEX = /\$([A-Z]{2,10})\b/g;
const EVM_ADDR_REGEX = /0x[a-fA-F0-9]{40}/g;
const SOLANA_ADDR_REGEX = /[1-9A-HJ-NP-Za-km-z]{32,44}/g;

async function searchToken(query: string) {
  const res = await fetch(
    `https://api.dexscreener.com/latest/dex/search?q=${encodeURIComponent(query)}`
  );
  const data = await res.json();
  return data.pairs ?? [];
}

async function processTweet(tweet: { text: string; ocrTexts?: string[] }) {
  const allText = [tweet.text, ...(tweet.ocrTexts ?? [])].join(' ');
  const results = [];

  // Extract $TICKER symbols
  for (const match of allText.matchAll(TICKER_REGEX)) {
    const pairs = await searchToken(match[1]);
    if (pairs[0]) {
      results.push(pairs[0]);
    }
  }

  // Extract EVM contract addresses
  for (const match of allText.matchAll(EVM_ADDR_REGEX)) {
    const data = await lookupToken('ethereum', match[0]);
    if (data && (data.liquidity ?? 0) > 10_000) {
      results.push(data);
    }
  }

  // Extract Solana addresses
  for (const match of allText.matchAll(SOLANA_ADDR_REGEX)) {
    const data = await lookupToken('solana', match[0]);
    if (data && (data.liquidity ?? 0) > 10_000) {
      results.push(data);
    }
  }

  return results;
}

Supported Chains and Token Types

DexScreener aggregates data across all major EVM and non-EVM chains:

  • EVM chains: Ethereum, BSC, Arbitrum, Base, Polygon, Avalanche, Optimism, Fantom
  • Solana: SPL tokens including pump.fun launches
  • Other L1s: Sui, Aptos, Near, Tron, Cosmos ecosystem
  • DEX coverage: Uniswap, Raydium, PancakeSwap, Jupiter, and hundreds more

For crypto Twitter monitoring, Solana and Base tokens make up the majority of new launches discussed. The pipeline should prioritize these chains for lowest-latency lookups.

TweetStream: The Pipeline, Pre-Built

Building and maintaining a tweet → OCR → token extraction → price lookup pipeline is a significant engineering effort. TweetStream provides this entire pipeline as a service.

Every TweetStream alert includes automatic token detection from text and images, DexScreener-compatible pricing data, OCR text extraction, and Polymarket market detection. See the payloads and OCR docs for the full payload structure.

Frequently Asked Questions

TweetStream Team

Last updated: April 2026

Start real-time Twitter WebSocket alerts today

WebSocket delivery, OCR, and token detection - no infrastructure to build.

Start 7-Day Trial

From $199/mo · Basic/Elite 7-day trial · OCR + token detection included

Related Pages