Match Signals
This endpoint allows you to retrieve derived basketball match signals generated from collected source items.
Current signal types emitted by the fresh rule-based extractor are injury_news, discipline_news, lineup_news, and availability_news.
entity_type is currently team or match. market_direction is populated when a team-scoped positive or negative signal implies a home or away edge.
Filtering: This endpoint uses PostgREST filter syntax such as
eq.,gte.,lte., andorder=impact_score.desc.
Pagination: Use
offsetandlimitto page through signal rows.
Update Period: The endpoint is refreshed whenever the basketball signals sync derives signals from fresh source items.
Recommended Calls: Filter by match_id, league_id, or signal_type and sort by impact_score or confidence_score.
Use Cases
Get high-confidence signals for a specific match_idhttps://signals.sportmicro.com/basketball_match_signals?match_id=eq.{match_id}&confidence_score=gte.0.70&order=impact_score.desc
Get signals from a specific league_id and signal_typehttps://signals.sportmicro.com/basketball_match_signals?league_id=eq.{league_id}&signal_type=eq.{signal_type}&limit=20
Query Parameters
- match_id string
The string match id from the sport-specific matches table.
Example: eq.200001 - league_id string
The league id attached to the derived signal.
Example: eq.1819 - source_item_id string
The UUID of the source item that produced the signal.
Example: eq.362d517b-cdc6-bb2d-9279-2334a854308d - signal_type string
The derived signal type.
Example: eq.injury_news - entity_type string
The scoped entity type emitted by the extractor.
Example: eq.team - entity_id string
The scoped entity id emitted by the extractor.
Example: eq.8569 - market_direction string
The implied market direction when available.
Example: eq.away - sentiment string
The derived sentiment.
Example: eq.negative - confidence_score string
A PostgREST numeric filter, for example
gte.0.70.Example: gte.0.70 - order string
Sorting instruction such as
impact_score.desc.Example: impact_score.desc - offset string
Pagination offset.
Example: 0 - limit string
Pagination limit.
Example: 20
- 200
- application/json
- Schema
- Example (from schema)
Schema array
- id uuid
The UUID of the signal row.
- source_item_id uuid
The UUID of the source item that produced this signal.
- match_id text
The string match id from the sport-specific matches table.
- league_id bigint
The league id attached to the derived signal.
- signal_type text
The derived signal type.
- entity_type text
The scoped entity type emitted by the extractor.
- entity_id text
The scoped entity id emitted by the extractor.
- sentiment text
The derived sentiment.
- sentiment_score numeric(5,2)
Signed sentiment score derived from the signal.
- impact_score numeric(5,2)
Impact score derived from matched keywords.
- confidence_score numeric(5,2)
Confidence score derived from context strength.
- market_direction text
The implied home or away edge when a team-scoped signal suggests one.
- summary text
Human-readable signal summary.
- reason text
Human-readable reason containing matched keywords.
- tags jsonb
Keyword and context tags stored as JSON.
- metadata jsonb
Extractor metadata stored as JSON.
- created_at timestamp with time zone
The row creation timestamp.
- updated_at timestamp with time zone
The row update timestamp.
[
{
"id": "fb9aa9f1-317d-d135-4325-aa917f194536",
"source_item_id": "362d517b-cdc6-bb2d-9279-2334a854308d",
"match_id": "200001",
"league_id": 1819,
"signal_type": "injury_news",
"entity_type": "team",
"entity_id": "8569",
"sentiment": "negative",
"sentiment_score": -0.68,
"impact_score": 0.68,
"confidence_score": 0.75,
"market_direction": "away",
"summary": "injury news (negative) for Boston Celtics ahead of Boston Celtics vs Miami Heat via @celtics",
"reason": "Matched keywords: questionable",
"tags": [
"questionable",
"home_team"
],
"metadata": {
"source": "x",
"extractor": "rule-based-v1",
"search_query": "Boston Celtics Miami Heat team news",
"matched_keywords": [
"questionable"
],
"strong_keywords": [],
"source_url": "https://x.com/celtics/status/1919112345678901234",
"source_external_id": "1919112345678901234",
"author_handle": "celtics"
},
"created_at": "2026-05-08T17:05:28+00:00",
"updated_at": "2026-05-08T17:05:28+00:00"
}
]
Common filters
match_id=eq.{match_id}league_id=eq.{league_id}signal_type=eq.{signal_type}entity_type=eq.{entity_type}entity_id=eq.{entity_id}sentiment=eq.{sentiment}confidence_score=gte.{score}order=impact_score.desc
Current signal types
injury_newsdiscipline_newslineup_newsavailability_news
Notes
source_item_idjoins back tosignals.basketball_source_items.id.metadata.extractoris currentlyrule-based-v1.market_directionis set when a team-scoped positive or negative signal implies a home or away edge and is otherwisenull.