Skip to main content

Source Items

This endpoint allows you to retrieve collected source items for esports signals.

The current fresh signals ingestion pipeline stores X posts only, so source and publisher are currently x.

Filtering: This endpoint uses PostgREST filter syntax such as eq., gte., lte., and order=published_at.desc.

Pagination: Use offset and limit to page through source items.

Update Period: The endpoint is refreshed whenever the esports signals sync ingests new X posts.
Recommended Calls: Query it by match_id or league_id during pre-match monitoring windows.

Use Cases

Get the latest source items for a specific match_id
https://signals.sportmicro.com/esports_source_items?match_id=eq.{match_id}&source=eq.x&order=published_at.desc

Get source items from a specific league_id
https://signals.sportmicro.com/esports_source_items?league_id=eq.{league_id}&limit=20

Query Parameters
  • match_id string

    The string match id from the sport-specific matches table.

    Example: eq.500001
  • league_id string

    The league id attached to the source item.

    Example: eq.560
  • source string

    The upstream source. The current fresh pipeline stores x only.

    Example: eq.x
  • external_id string

    The upstream X post id.

    Example: eq.1919412345678901234
  • published_at string

    A PostgREST timestamp filter, for example gte.{timestamp}.

    Example: gte.2026-05-08T14:35:00+00:00
  • dedupe_hash string

    The dedupe hash used to avoid duplicate source items.

    Example: eq.e78df409474c42cc0db340b6e09d6ddb
  • order string

    Sorting instruction such as published_at.desc.

    Example: published_at.desc
  • offset string

    Pagination offset.

    Example: 0
  • limit string

    Pagination limit.

    Example: 20
Responses

OK

Schema array
  • id uuid

    The UUID of the source item.

  • match_id text

    The string match id from the sport-specific matches table.

  • league_id bigint

    The league id attached to the source item.

  • source text

    The upstream content source. The current fresh pipeline stores x only.

  • external_id text

    The upstream X post id.

  • url text

    The canonical URL of the source item.

  • title text

    A trimmed title derived from the source content.

  • content_snippet text

    The collected source text snippet.

  • author_name text

    The display name of the source author.

  • author_handle text

    The handle of the source author.

  • publisher text

    The publisher label stored by the pipeline. The current fresh pipeline stores x only.

  • published_at timestamp with time zone

    The upstream publish timestamp.

  • collected_at timestamp with time zone

    The time when Sportmicro collected the source item.

  • language text

    The detected language. The current fresh X pipeline stores null.

  • engagement jsonb

    Engagement metrics from the upstream X payload.

  • teams jsonb

    Matched competitors with id, name, side, and matched.

  • players jsonb

    Player enrichment payload. The current fresh pipeline returns an empty array.

  • raw_payload jsonb

    The sanitized raw upstream X payload.

  • dedupe_hash text

    The hash used to deduplicate repeated source items.

  • created_at timestamp with time zone

    The row creation timestamp.

  • updated_at timestamp with time zone

    The row update timestamp.

Common filters

  • match_id=eq.{match_id}
  • league_id=eq.{league_id}
  • source=eq.x
  • published_at=gte.{timestamp}
  • published_at=lte.{timestamp}
  • order=published_at.desc

Notes

  • The current fresh extractor stores X content only, so source and publisher are both x.
  • raw_payload stores the sanitized upstream X payload for the source item.
  • teams contains matched competitors with id, name, side, and matched.
  • players is currently an empty JSON array in the fresh pipeline output.
Loading...