---
title: "SofaScore event shot map"
method: GET
path: "/sofascore/event-shotmap"
tags: ["SofaScore"]
---

# SofaScore event shot map

`GET /sofascore/event-shotmap`

## Request

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

Returns every shot in a football or ice hockey match. Football shots carry the shooter, side, outcome (`shot_type`), situation, body part, expected goals (xG and xGOT), minute, and pitch and goal-mouth coordinates. Ice hockey shots carry the shooter, team, side, shot technique (`shot_type`, for example `wrist`), `outcome` (`made`, `saved`, `missed` or `blocked`), `strength` (`even`, `powerplay` or `shorthanded`), period and period clock, rink `coordinates` and, for most shots, `xg`. An empty `shots` list is a valid response (a live match with no shots yet). Returns 404 when SofaScore has no shot map for the match, which includes matches that have not started, basketball and other sports without one, and fixtures without expected-goals coverage.

## Query parameters

- `id` string, required

## Headers

- `x-api-key` string, required

## Response `200`

OK

- SofascoreEventShotmapResponseDoc
  - `code` integer
  - `data` SofascoreEventShotmapResponse
    - `count` integer
    - `event_id` integer
    - `fetched_at` string
    - `shots` SofascoreShot[]
      - `added_time` integer
      - `block_coordinates` SofascoreCoordinates
        - `x` number
        - `y` number
        - `z` number
      - `body_part` string
      - `coordinates` SofascoreCoordinates
        - `x` number
        - `y` number
        - `z` number
      - `goal_mouth_coordinates` SofascoreCoordinates
        - `x` number
        - `y` number
        - `z` number
      - `goal_mouth_location` string
      - `goal_type` string
      - `goalkeeper` SofascorePlayerBrief
        - `id` integer
        - `jersey_number` string
        - `name` string
        - `position` string
        - `short_name` string
        - `slug` string
      - `id` integer
      - `is_home` boolean
      - `minute` integer
      - `outcome` string
      - `period` string
      - `period_time_seconds` integer
      - `player` SofascorePlayerBrief
        - `id` integer
        - `jersey_number` string
        - `name` string
        - `position` string
        - `short_name` string
        - `slug` string
      - `player_coordinates` SofascoreCoordinates
        - `x` number
        - `y` number
        - `z` number
      - `reversed_period_time_seconds` integer
      - `shot_type` string
      - `situation` string
      - `strength` string
      - `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.
      - `time_seconds` integer
      - `xg` number
      - `xgot` number
    - `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)
