---
title: "SofaScore player matches with per-match numbers"
method: GET
path: "/sofascore/player-events"
tags: ["SofaScore"]
---

# SofaScore player matches with per-match numbers

`GET /sofascore/player-events`

## Request

- Base URL: `https://api.crawlora.net/api/v1`
- URL: `https://api.crawlora.net/api/v1/sofascore/player-events`
- Auth: API key in header `x-api-key`

Returns one page (30 matches) of a player's matches, each with the player's own numbers merged in: `statistics` (football: rating and minutes_played; basketball: points, rebounds, assists and more), `incident_counts` (goals, assists, yellow and red cards, penalty goals), `on_bench` for an unused substitute and `played_for_team_id` (club or national team). Page 0 is the most recent window and can include upcoming fixtures (status type `notstarted`); matches inside a page run oldest first. Follow `has_next_page` for older pages; a page past the end returns 404.

## Query parameters

- `id` string, required
- `page` integer

## Headers

- `x-api-key` string, required

## Response `200`

OK

- SofascorePlayerEventsResponseDoc
  - `code` integer
  - `data` SofascorePlayerEventsResponse
    - `count` integer
    - `events` SofascorePlayerEventRow[]
      - `event` SofascoreEventSummary
        - `away_score` SofascoreScoreLine
          - `current` integer: Current score, which is the final score once the match is over.
          - `period1` integer: Score in the first period.
          - `period2` integer: Score in the second period.
        - `away_team` SofascoreTeamRef
          - `country` string: Country the team belongs to.
          - `id` integer: SofaScore team id. Use it with the team endpoints.
          - `name` string: Full team name.
          - `national` boolean: True for a national team.
          - `short_name` string: Shortened team name.
          - `slug` string: URL slug of the team on SofaScore.
        - `home_score` SofascoreScoreLine
          - `current` integer: Current score, which is the final score once the match is over.
          - `period1` integer: Score in the first period.
          - `period2` integer: Score in the second period.
        - `home_team` SofascoreTeamRef
          - `country` string: Country the team belongs to.
          - `id` integer: SofaScore team id. Use it with the team endpoints.
          - `name` string: Full team name.
          - `national` boolean: True for a national team.
          - `short_name` string: Shortened team name.
          - `slug` string: URL slug of the team on SofaScore.
        - `id` integer: SofaScore event id. Use it with the event endpoints.
        - `slug` string: URL slug of the match on SofaScore.
        - `start_time` string: Start time in UTC (RFC 3339).
        - `start_timestamp` integer: Start time as a Unix timestamp in seconds.
        - `status` SofascoreEventStatus
          - `code` integer: SofaScore's numeric status code, for example 0 for not started and 100 for ended.
          - `description` string: Status as displayed, for example "Ended".
          - `type` string: Status group, for example `notstarted`, `inprogress` or `finished`.
        - `tournament` SofascoreTournamentRef
          - `category` string: Category the tournament sits under, usually a country or region.
          - `id` integer: SofaScore id of the tournament the match is filed under. The seasons, standings and round endpoints take `unique_tournament_id` instead.
          - `name` string: Tournament name.
          - `slug` string: URL slug of the tournament on SofaScore.
          - `unique_tournament_id` integer: Id of the parent competition. This is the tournament id the tournament-seasons, standings and round-events endpoints take.
          - `unique_tournament_name` string: Name of the parent competition.
        - `winner_code` integer: Result code: 1 when the home side won, 2 when the away side won, 3 for a draw. Omitted until the match is decided.
      - `incident_counts` object: IncidentCounts holds counts of the player's match incidents, for example goals, assists, yellow_cards, red_cards and penalty_goals.
      - `on_bench` boolean: OnBench is true only when the player was an unused substitute.
      - `played_for_team_id` integer: PlayedForTeamID is the team the player represented in the match.
      - `statistics` object: Statistics holds the player's numbers in the match (football: rating and minutes_played; basketball: points, rebounds and more). It is absent when the player did not play or the match has not started.
    - `fetched_at` string
    - `has_next_page` boolean
    - `page` integer
    - `player_id` integer
    - `source_url` string
  - `msg` string

## Other responses

- `400`: Bad Request
- `404`: Not Found
- `429`: Too Many Requests
- `503`: Service Unavailable

---

[API](https://skmtc.dev/crawlora/apis/crawlora-api.md) · [All operations](https://skmtc.dev/crawlora/apis/crawlora-api/llms.txt) · [OpenAPI document](https://skmtc.dev/crawlora/apis/crawlora-api/revisions/028417aa35bb?raw)
