API Documentation

The Vintage Data API provides endpoints to retrieve match and event data from the MTGO Vintage Metagame dataset.

  • Requests are rate-limited to 100 per minute.
  • Response size is limited to 1000 rows (requests with more than 1000 rows will be paginated).
  • No authentication is required.

Base URL: https://api.vintagedata.io

General

Logging & Monitoring

All requests are logged and inserted into the API Logging Stats table to track API Endpoint usage statistics.

See Data Dictionary for more information.

Error Handling

Status Code Error Type Error Description
400 Bad Request Invalid query parameters.
404 Not Found Requested resource does not exist.
500 Internal Server Error Unexpected server error.

Example Requests

curl -X GET "https://api.vintagedata.io/matches/?start=2024-08-25&end=2024-10-30&page=1"
curl -X GET "https://api.vintagedata.io/events/?start=2024-08-25&end=2024-10-30&page=1"
curl -X GET "https://api.vintagedata.io/events/player/IamActuallyLvL1/"
curl -X GET "https://api.vintagedata.io/load-reports/"

Match Endpoints

Includes root redirect and all match retrieval endpoints.

GET /

Redirects to the Project Description page.

GET /matches/

Retrieves raw match data.

Query Parameter(s):

Parameter NameData TypeRequirementDescriptionDefault Value
startStringOptionalStart date (YYYY-MM-DD)2024-08-25
endStringOptionalEnd date (YYYY-MM-DD)Current Date
pageIntegerOptionalPage number1

GET /matches/{match_id}/

Retrieves a specific match by its match_id.

URL Parameter(s):

Parameter NameData TypeRequirementDescriptionDefault Value
match_idIntegerRequiredMatch ID (11000000000)NA

GET /matches/player/{player_id}/

Retrieves all matches involving a specific player.

URL Parameter(s):

Parameter NameData TypeRequirementDescriptionDefault Value
match_idIntegerRequiredMatch ID (11000000000)NA

Query Parameter(s):

Parameter NameData TypeRequirementDescriptionDefault Value
startStringOptionalStart date (YYYY-MM-DD)2024-08-25
endStringOptionalEnd date (YYYY-MM-DD)Current Date
pageIntegerOptionalPage number1

GET /matches/event/{event_id}/

Retrieves all matches from a specific event.

URL Parameter(s):

Parameter NameData TypeRequirementDescriptionDefault Value
event_idIntegerRequiredEvent ID (12000000000)NA

Event Endpoints

GET /events/

Retrieves all events. Returns event details and total number of players per event.

Query Parameter(s):

Parameter NameData TypeRequirementDescriptionDefault Value
startStringOptionalStart date (YYYY-MM-DD)2024-08-25
endStringOptionalEnd date (YYYY-MM-DD)Current Date
pageIntegerOptionalPage number1

GET /events/{event_id}/

Retrieves event details by event_id.

URL Parameter(s):

Parameter NameData TypeRequirementDescriptionDefault Value
event_idIntegerRequiredEvent ID (12000000000)NA

GET /events/{event_id}/standings/

Retrieves event standings by event_id.

URL Parameter(s):

Parameter NameData TypeRequirementDescriptionDefault Value
event_idIntegerRequiredEvent ID (12000000000)NA

Query Parameter(s):

Parameter NameData TypeRequirementDescriptionDefault Value
rankIntegerOptionalSearch for a player of a specific rank.0 (full standings)

GET /events/{event_id}/player/{P1}/

Retrieves event rank and record for a specific player (P1) by event_id.

URL Parameter(s):

Parameter NameData TypeRequirementDescriptionDefault Value
event_idIntegerRequiredEvent ID (12000000000)NA
P1StringRequiredPlayer identifierNA

GET /events/player/{P1}/

Retrieves events played by a specific player (P1). Returns a JSON object containing event details, deck details, and win-loss record.

URL Parameter(s):

Parameter NameData TypeRequirementDescriptionDefault Value
P1StringRequiredPlayer identifierNA

Query Parameter(s):

Parameter NameData TypeRequirementDescriptionDefault Value
startStringOptionalStart date (YYYY-MM-DD)2024-08-25
endStringOptionalEnd date (YYYY-MM-DD)Current Date
pageIntegerOptionalPage number1

Deck and Event Type Endpoints

GET /decks/

Retrieves a list of all valid decks.

GET /decks/{deck_id}/

Retrieves details of a specific deck by deck_id.

URL Parameter(s):

Parameter NameData TypeRequirementDescriptionDefault Value
deck_idIntegerRequiredUnique deck identifier (13000000000)NA

GET /event-types/

Retrieves a list of valid event types (e.g. Challenge, Showcase, etc.).

GET /event-types/{event_type_id}/

Retrieves details of a specific event type by event_type_id.

URL Parameter(s):

Parameter NameData TypeRequirementDescriptionDefault Value
event_type_idIntegerRequiredUnique event type identifier (14000000000)NA

Load and Rejection Endpoints

GET /load-reports/

Retrieves a list of all load reports. Load Reports contain statistics such as matches deleted, matches processed, matches skipped, etc.

GET /load-reports/{load_rpt_id}/

Retrieves a specific load report using load_rpt_id.

URL Parameter(s):

Parameter NameData TypeRequirementDescriptionDefault Value
load_rpt_idIntegerRequiredUnique load report identifier (15000000000)NA

GET /event-rejections/

Retrieves a list of all event rejections. Event Rejections will contain the post-processed event data along with a Rejection Type and Rejection Reason Text.

GET /event-rejections/{load_rpt_id}/

Retrieves event rejections for a specific load_rpt_id.

URL Parameter(s):

Parameter NameData TypeRequirementDescriptionDefault Value
load_rpt_idIntegerRequiredUnique load report identifier (15000000000)NA

GET /match-rejections/

Retrieves a list of all match rejections. Match Rejections will contain the post-processed event data along with a Rejection Type and Rejection Reason Text.

GET /match-rejections/{load_rpt_id}/

Retrieves match rejections for a specific load_rpt_id.

URL Parameter(s):

Parameter NameData TypeRequirementDescriptionDefault Value
load_rpt_idIntegerRequiredUnique load report identifier (15000000000)NA