# Card Player — Wrapped API

> **You are on:** `https://api.paywithlocus.com/api` | [llms.txt](https://paywithlocus.com/llms.txt) | [docs](https://docs.paywithlocus.com)
>
> Locus runs on multiple environments -- make sure every URL you call matches your expected environment.
> | Environment | Landing | API | Docs |
> |---|---|---|---|
> | Production | paywithlocus.com | api.paywithlocus.com | docs.paywithlocus.com |
> | Beta | beta.paywithlocus.com | api.beta.paywithlocus.com | docs.paywithlocus.com |
> | Stage | stage.paywithlocus.com | api.stage.paywithlocus.com | docs.paywithlocus.com |
>
> If the API URL above doesn't match your expected environment, re-fetch this file from the correct domain.

> Calculate poker odds, compare hand matchups, and access real-time tournament schedules and player profiles from Card Player. Search poker news articles, view detailed hand analysis, and research player statistics all in one place.

**Category:** Sports | **Website:** [cardplayer.com/](https://cardplayer.com/) | **Docs:** [parse.bot/marketplace/d83226b5-5b44-4086-99a7-24f5fbd17d34/cardplayer-com-api](https://parse.bot/marketplace/d83226b5-5b44-4086-99a7-24f5fbd17d34/cardplayer-com-api)

Pay-per-use API proxy. Each call is automatically billed to your wallet in USDC.

## Access

**Base URL:** `https://api.paywithlocus.com/api/wrapped/parse-cardplayer-com-api-d83226b5/`
**Auth:** `Authorization: Bearer <LOCUS_API_KEY>`

## Endpoints

### calculate_odds

Calculate poker odds for given seat hands using the Card Player odds calculator. Accepts seat configurations with hands and optional board/dead cards. Returns win/lose/tie percentages and expected value for each seat. Requires at least two seats with valid card hands.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `board` | string | No | JSON-encoded array of board card strings. Example: ["7s", "8s", "9s"] |
| `dead_cards` | string | No | JSON-encoded array of dead card strings removed from play. Example: ["2h", "3h"] |
| `game_type` | string | No | Poker game variant for odds calculation. |
| `seats` | string | Yes | JSON-encoded array of seat objects. Each seat has 'hand' (array of card strings like 'As', 'Kc') and 'position' (integer). Example: [{"hand": ["As", "Ac"], "position": 1}, {"hand": ["Ks", "Kc"], "position": 2}] |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-cardplayer-com-api-d83226b5/calculate_odds \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"board":"<string>","dead_cards":"<string>","game_type":"<string>","seats":"<string>"}'
```

### get_calculator_info

Get list of available poker calculator types and their slugs. Use the slug values as the game_type parameter in calculate_odds. Returns a static list of supported game variants.

**Estimated cost:** Metered

_No parameters required._

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-cardplayer-com-api-d83226b5/get_calculator_info \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'
```

### get_hand_matchup_detail

Get a single hand matchup post by its numeric ID. Returns full post content with title, SEO data, and metadata.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `matchup_id` | string | Yes | Numeric matchup ID (e.g. '1665643'). Obtainable from get_hand_matchups results. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-cardplayer-com-api-d83226b5/get_hand_matchup_detail \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"matchup_id":"<string>"}'
```

### get_hand_matchups

Get a paginated list of poker hand matchup analyses. Returns WordPress post objects including title, slug, date, and SEO metadata. Ordered by most recent first.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `page` | integer | No | Page number for pagination. |
| `per_page` | string | No | Number of results per page (max 100). |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-cardplayer-com-api-d83226b5/get_hand_matchups \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"page":"<integer>","per_page":"<string>"}'
```

### get_news_article

Get a single poker news article by its numeric ID. Returns the full article content, metadata, SEO data, and related taxonomy terms.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `article_id` | string | Yes | Numeric article ID (e.g. '1665344'). Obtainable from get_poker_news results. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-cardplayer-com-api-d83226b5/get_news_article \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"article_id":"<string>"}'
```

### get_odds_and_outs

Get poker odds and outs reference tables including starting hand probabilities, drawing odds by number of outs, overcards probability, and pre-flop matchup statistics.

**Estimated cost:** Metered

_No parameters required._

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-cardplayer-com-api-d83226b5/get_odds_and_outs \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'
```

### get_player_profile

Get a detailed player profile including biographical summary, career stats (recorded earnings, tournament wins, total cashes), recent cashes, and top cashes. Requires the player's URL path from get_players results.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `player_path` | string | Yes | Player URL path (e.g. '/poker-players/1185-daniel-negreanu'). Obtainable from the url field in get_players results by removing the base URL. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-cardplayer-com-api-d83226b5/get_player_profile \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"player_path":"<string>"}'
```

### get_players

List or search poker players from the Card Player leaderboard. Returns player names, locations, earnings, and last cash information parsed from the leaderboard page.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `page` | integer | No | Page number for pagination. |
| `player_name` | string | No | Player name to search for. Omitting returns the default leaderboard listing. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-cardplayer-com-api-d83226b5/get_players \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"page":"<integer>","player_name":"<string>"}'
```

### get_poker_news

Get a paginated list of poker news articles from cardplayer.com. Returns article summaries with id, title, and URL. Ordered by most recent first.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `page` | integer | No | Page number for pagination. |
| `per_page` | string | No | Number of results per page (max 100). |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-cardplayer-com-api-d83226b5/get_poker_news \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"page":"<integer>","per_page":"<string>"}'
```

### get_tournaments

Get a paginated list of poker tournament series from the Card Player tournament directory. Returns tournament series titles, dates, slugs, and links. Ordered by most recently added first.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `page` | integer | No | Page number for pagination. |
| `per_page` | string | No | Number of results per page (max 100). |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-cardplayer-com-api-d83226b5/get_tournaments \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"page":"<integer>","per_page":"<string>"}'
```

### search_site

Sitewide search for articles, players, pages, and other content on cardplayer.com. Returns matching results with id, title, URL, and content type. Results are relevance-ranked.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `page` | integer | No | Page number for pagination. |
| `per_page` | string | No | Number of results per page (max 100). |
| `query` | string | Yes | Search query string. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-cardplayer-com-api-d83226b5/search_site \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"page":"<integer>","per_page":"<string>","query":"<string>"}'
```
