---
title: "SofaScore event point-by-point"
method: GET
path: "/sofascore/event-point-by-point"
tags: ["SofaScore"]
---

# SofaScore event point-by-point

`GET /sofascore/event-point-by-point`

## Request

- Base URL: `https://api.crawlora.net/api/v1`
- URL: `https://api.crawlora.net/api/v1/sofascore/event-point-by-point`
- Auth: API key in header `x-api-key`

Returns a racket-sport match's point-by-point timeline, with sets and games in play order. Tennis sets list games and each game lists every point with the running score (`0`, `15`, `30`, `40`, `A`, or a plain count in a tie-break), the server, the game winner, a `description` of `ace` or `double_fault` where SofaScore flags it, and break point (`break_point`) or set or match point (`set_or_match_point`) markers per player. Table tennis and badminton sets list their points directly. The ace flag is a lower bound of the match's real ace count. Darts matches are not covered. Returns 404 when SofaScore has no point-by-point data for the match, which includes matches that have not started and sports without it.

## Query parameters

- `id` string, required

## Headers

- `x-api-key` string, required

## Response `200`

OK

- SofascoreEventPointByPointResponseDoc
  - `code` integer
  - `data` SofascoreEventPointByPointResponse
    - `event_id` integer
    - `fetched_at` string
    - `set_count` integer
    - `sets` SofascorePointByPointSet[]
      - `games` SofascorePointByPointGame[]
        - `game` integer
        - `points` SofascorePointByPointPoint[]
          - `away_marker` string
          - `away_point` string
          - `away_point_type` integer
          - `description` string: Description is `ace` or `double_fault` when SofaScore flags the point; omitted otherwise. DescriptionCode is the upstream code (0 none, 1 ace, 2 double fault).
          - `description_code` integer
          - `home_marker` string: HomeMarker and AwayMarker name the codes that mean a player holds a point opportunity after the point: `break_point` (code 2) and `set_or_match_point` (code 3).
          - `home_point` string: HomePoint and AwayPoint are the points as SofaScore prints them: `0`, `15`, `30`, `40` and `A` in a tennis game, a plain count in a tie-break, table tennis or badminton set.
          - `home_point_type` integer: HomePointType and AwayPointType are SofaScore's per-player point codes.
        - `score` SofascorePointByPointScore
          - `away_score` integer
          - `home_score` integer
          - `server` string: Server is `home` or `away`; omitted when SofaScore does not know it.
          - `winner` string: Winner is `home` or `away`; omitted while the game or set is unfinished.
      - `points` SofascorePointByPointPoint[]
        - `away_marker` string
        - `away_point` string
        - `away_point_type` integer
        - `description` string: Description is `ace` or `double_fault` when SofaScore flags the point; omitted otherwise. DescriptionCode is the upstream code (0 none, 1 ace, 2 double fault).
        - `description_code` integer
        - `home_marker` string: HomeMarker and AwayMarker name the codes that mean a player holds a point opportunity after the point: `break_point` (code 2) and `set_or_match_point` (code 3).
        - `home_point` string: HomePoint and AwayPoint are the points as SofaScore prints them: `0`, `15`, `30`, `40` and `A` in a tennis game, a plain count in a tie-break, table tennis or badminton set.
        - `home_point_type` integer: HomePointType and AwayPointType are SofaScore's per-player point codes.
      - `score` SofascorePointByPointScore
        - `away_score` integer
        - `home_score` integer
        - `server` string: Server is `home` or `away`; omitted when SofaScore does not know it.
        - `winner` string: Winner is `home` or `away`; omitted while the game or set is unfinished.
      - `set` 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/0497899e2016?raw)
