
Polymarket Sync Events
- 3 installs
- Updated February 16, 2026
- machina-sports/polymarket-template
Helps with ai & agent building tasks.
About
polymarket-sync-events is a Claude Code skill for ai & agent building. It helps solo builders move faster with AI-assisted development.
- polymarket-sync-events
- AI & Agent Building
- AI-coding skill
Polymarket Sync Events by the numbers
- 3 all-time installs (skills.sh)
- Ranked #13,677 of 16,546 AI & Agent Building skills by installs in the Skillselion catalog
- Data as of Aug 2, 2026 (Skillselion catalog sync)
npx skills add https://github.com/machina-sports/polymarket-template --skill polymarket-sync-eventsAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 3 |
|---|---|
| Last updated | February 16, 2026 |
| Repository | machina-sports/polymarket-template ↗ |
What it does
Helps with ai & agent building tasks.
Files
Polymarket - Sync Events
Syncs active sports events from Polymarket Gamma API into polymarket-events documents with vector embeddings.
Workflow
Name: polymarket-sync-events
| Input | Default | Description |
|---|---|---|
tag_id | 1 (Sports) | Polymarket tag filter |
series_id | "" (all) | Filter by series/league |
limit | 100 | Max events to fetch |
offset | 0 | Pagination offset |
Usage
# Sync all sports events
mcp__docker-localhost__execute_workflow(
name="polymarket-sync-events",
input_data={"tag_id": 1, "limit": 100}
)
# Sync events from a specific series/league
mcp__docker-localhost__execute_workflow(
name="polymarket-sync-events",
input_data={"series_id": "<series_id>", "limit": 50}
)Pipeline
get_sports_events → polymarket-event-mapping → bulk-save (polymarket-events)Dependencies
- polymarket connector (no auth required)
- machina-ai connector (for embeddings) — requires
$TEMP_CONTEXT_VARIABLE_SDK_OPENAI_API_KEY
Polymarket Events API
Reference for browsing and syncing sports events from Polymarket.
What is an Event?
An event groups related markets for a single game or match. For example, "Lakers vs Celtics" is an event that contains markets like moneyline, spread, total, and player props.
Fetching Events
# All active sports events
mcp__docker-localhost__connector_executor(
name="polymarket",
command="get_sports_events",
payload={"tag_id": 1, "limit": 50}
)
# Events from a specific series/league
mcp__docker-localhost__connector_executor(
name="polymarket",
command="get_sports_events",
payload={"series_id": "<series_id>", "limit": 50}
)
# Single event by ID
mcp__docker-localhost__connector_executor(
name="polymarket",
command="get_event_details",
payload={"event_id": "<event_id>"}
)
# Single event by slug
mcp__docker-localhost__connector_executor(
name="polymarket",
command="get_event_details",
payload={"slug": "lakers-vs-celtics"}
)Event Data Structure
Each synced event document contains:
{
"title": "Lakers vs Celtics",
"description": "NBA regular season game",
"slug": "lakers-vs-celtics-feb-20",
"status": "active",
"startDate": "2026-02-20T00:00:00Z",
"endDate": "2026-02-21T00:00:00Z",
"volume": 500000.0,
"liquidity": 200000.0,
"marketCount": 12,
"seriesId": "nba-2025-26",
"tags": ["NBA", "Basketball"]
}Query Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
tag_id | int | 1 | Tag filter (1 = Sports) |
series_id | string | "" | Filter by series/league |
limit | int | 50 | Max results (max 100) |
offset | int | 0 | Pagination offset |
active | bool | true | Only active events |
closed | bool | false | Include closed events |
order | string | "volume" | Sort field |
ascending | bool | false | Sort direction |
Event → Markets Relationship
Events contain embedded markets. When fetching event details, all associated markets are returned with current prices. Use event_id in market data to cross-reference.
Polymarket Search
Reference for searching markets and events across Polymarket.
Search Markets
Full-text search across event titles, descriptions, and slugs:
mcp__docker-localhost__connector_executor(
name="polymarket",
command="search_markets",
payload={
"query": "nba",
"limit": 20
}
)
# Search with market type filter
mcp__docker-localhost__connector_executor(
name="polymarket",
command="search_markets",
payload={
"query": "chiefs",
"sports_market_types": "moneyline",
"limit": 10
}
)Search Behavior
- Searches across event
title,description, andslugfields - Case-insensitive matching
- Returns markets from matching events (not events themselves)
- Results ordered by volume (highest first)
- Max 50 results per query
Search Examples
| Query | Finds |
|---|---|
"nba" | All NBA markets |
"chiefs" | Kansas City Chiefs markets |
"lakers celtics" | Won't match — search is single-term |
"lakers" | All Lakers markets |
"super bowl" | Super Bowl markets |
"messi" | Player markets mentioning Messi |
Tips
- Use specific team/player names for best results
- Combine with
sports_market_typesto narrow down (e.g., only moneyline) - For browsing by league, use
get_sports_eventswithseries_idinstead - For browsing all market types, use
get_sports_market_typesfirst
skill:
name: "polymarket-sync-events"
title: "Polymarket - Sync Events"
description: "Sync sports events from Polymarket to Machina documents."
version: "1.0.0"
category:
- "data-acquisition"
- "prediction-markets"
status: "available"
domain: "https://github.com/machina-sports/polymarket-template"
references:
- name: "skill-reference"
title: "Events API"
filename: "references/events-api.md"
filetype: "markdown"
metadata:
category: "reference"
skill: "polymarket-sync-events"
reference_id: "events-api"
- name: "skill-reference"
title: "Search"
filename: "references/search.md"
filetype: "markdown"
metadata:
category: "reference"
skill: "polymarket-sync-events"
reference_id: "search"
workflows:
- name: "polymarket-sync-events"
description: "sync-sports-events"
inputs:
tag_id: "$.get('tag_id', 1)"
series_id: "$.get('series_id', '')"
limit: "$.get('limit', 100)"
offset: "$.get('offset', 0)"
outputs:
workflow-status: "$.get('workflow-status', 'skipped')"