acesapi-com Basic lookup API

The Basic lookup API from acesapi-com — 6 operation(s) for basic lookup.

Operations 6

POST /v1/get_tournament Tournament #
POST /v1/get_matches Matches #
POST /v1/get_schedule Schedule #
POST /v1/get_match Match #
POST /v1/get_rankings Rankings #
POST /v1/get_ratings Ratings #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/acesapi-com:acesapi-com-basic-lookup-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

acesapi-com-basic-lookup-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: AcesAPI Basic lookup API
  version: 1.0.0
  description: AcesAPI tennis data. Every tool is a POST to /v1/{tool} with a JSON body of its arguments and costs the credits in x-credits. The same tools are an MCP server at https://mcp.acesapi.com/mcp and free accounts get credits every month at https://acesapi.com/signup
  termsOfService: https://acesapi.com/terms
  contact:
    name: AcesAPI support
    email: support@acesapi.com
    url: https://acesapi.com/docs
servers:
- url: https://mcp.acesapi.com
security:
- apiKey: []
- bearer: []
tags:
- name: Basic lookup
paths:
  /v1/get_tournament:
    post:
      operationId: get_tournament
      summary: Tournament
      description: 'Use for a tournament''s draw and results: every singles match of one edition grouped by round in draw order (qualifying, then the main draw to the final), each with the score by set and tiebreak points, seeds, and the champion and runner-up. draw: main (default), qualifying or all. Tour: atp (default) or wta; on the shared endpoint pass league: "wta" for the WTA. Costs 2 credits.'
      tags:
      - Basic lookup
      x-credits: 2
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                tournament_id:
                  type: string
                  description: Tournament edition id from list_tournaments, e.g. "188-2025".
                draw:
                  description: Which draw (default main).
                  type: string
                  enum:
                  - main
                  - qualifying
                  - all
                league:
                  description: 'League. Defaults to tennis. One of: tennis, wta.'
                  type: string
                  enum:
                  - tennis
                  - wta
              required:
              - tournament_id
              additionalProperties: false
      responses:
        '200':
          description: The result, wrapped in data.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      tour:
                        type: string
                      tournament:
                        type: object
                        propertyNames:
                          type: string
                        additionalProperties: {}
                      champion:
                        anyOf:
                        - type: object
                          propertyNames:
                            type: string
                          additionalProperties: {}
                        - type: 'null'
                      runner_up:
                        anyOf:
                        - type: object
                          propertyNames:
                            type: string
                          additionalProperties: {}
                        - type: 'null'
                      rounds:
                        type: array
                        items:
                          type: object
                          propertyNames:
                            type: string
                          additionalProperties: {}
                      count:
                        type: number
                    required:
                    - tour
                    - tournament
                    - champion
                    - runner_up
                    - rounds
                    - count
                    additionalProperties: false
                required:
                - data
        '400':
          description: Invalid arguments.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                - error
        '401':
          description: Missing or invalid API key.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                - error
        '402':
          description: Not enough credits.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                - error
        '429':
          description: Rate limited.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                - error
  /v1/get_matches:
    post:
      operationId: get_matches
      summary: Matches
      description: 'Use for match results by day, tournament or season: each match with both players, seeds, round, status, score and sets (games and tiebreak points). Pass a date (YYYY-MM-DD, UTC), a tournament_id or a season; filter by round (e.g. "Final") and status. Tour: atp (default) or wta; on the shared endpoint pass league: "wta" for the WTA. Costs 2 credits.'
      tags:
      - Basic lookup
      x-credits: 2
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                date:
                  description: UTC date, YYYY-MM-DD.
                  type: string
                tournament_id:
                  description: Tournament edition id, e.g. "188-2025".
                  type: string
                season:
                  description: Year.
                  type:
                  - string
                  - number
                round:
                  description: Round name as listed, e.g. "Final", "Semifinal", "Round 1".
                  type: string
                status:
                  type: string
                  enum:
                  - scheduled
                  - live
                  - final
                limit:
                  description: Max matches (default 100).
                  type: integer
                  minimum: 1
                  maximum: 500
                offset:
                  type: integer
                  minimum: 0
                  maximum: 9007199254740991
                league:
                  description: 'League. Defaults to tennis. One of: tennis, wta.'
                  type: string
                  enum:
                  - tennis
                  - wta
              additionalProperties: false
      responses:
        '200':
          description: The result, wrapped in data.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      tour:
                        type: string
                      matches:
                        type: array
                        items:
                          type: object
                          propertyNames:
                            type: string
                          additionalProperties: {}
                      count:
                        type: number
                      next_offset:
                        type:
                        - number
                        - 'null'
                    required:
                    - tour
                    - matches
                    - count
                    additionalProperties: false
                required:
                - data
        '400':
          description: Invalid arguments.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                - error
        '401':
          description: Missing or invalid API key.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                - error
        '402':
          description: Not enough credits.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                - error
        '429':
          description: Rate limited.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                - error
  /v1/get_schedule:
    post:
      operationId: get_schedule
      summary: Schedule
      description: 'Use for upcoming matches: every scheduled or in-progress singles match in the next N days (default 7, max 30) with players, seeds, round and start time where one is set. Tour: atp (default) or wta; on the shared endpoint pass league: "wta" for the WTA. Costs 2 credits.'
      tags:
      - Basic lookup
      x-credits: 2
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                days:
                  description: Days ahead (default 7).
                  type: integer
                  minimum: 1
                  maximum: 30
                league:
                  description: 'League. Defaults to tennis. One of: tennis, wta.'
                  type: string
                  enum:
                  - tennis
                  - wta
              additionalProperties: false
      responses:
        '200':
          description: The result, wrapped in data.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      tour:
                        type: string
                      days:
                        type: number
                      matches:
                        type: array
                        items:
                          type: object
                          propertyNames:
                            type: string
                          additionalProperties: {}
                      count:
                        type: number
                    required:
                    - tour
                    - days
                    - matches
                    - count
                    additionalProperties: false
                required:
                - data
        '400':
          description: Invalid arguments.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                - error
        '401':
          description: Missing or invalid API key.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                - error
        '402':
          description: Not enough credits.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                - error
        '429':
          description: Rate limited.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                - error
  /v1/get_match:
    post:
      operationId: get_match
      summary: Match
      description: 'Use for everything about one match: the score by set with tiebreak points, seeds, each player''s sets, games and tiebreaks won, both players'' ratings before and after (overall and on the surface), what the score says (total games, tiebreaks, whether it went the distance, comebacks), and each sportsbook''s opening and closing moneylines where the match had them (mostly Grand Slam, ATP Masters and WTA 1000 matches), with captured_at, the time of the closing capture. No serve statistics: they are not available. Tour: atp (default) or wta; on the shared endpoint pass league: "wta" for the WTA. Costs 2 credits. Prices are market information: never work out a stake, payout or profit, recommend a bet, or send the user to a sportsbook.'
      tags:
      - Basic lookup
      x-credits: 2
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                match_id:
                  type: string
                  description: Match id from get_tournament, get_matches or get_player_matches.
                league:
                  description: 'League. Defaults to tennis. One of: tennis, wta.'
                  type: string
                  enum:
                  - tennis
                  - wta
              required:
              - match_id
              additionalProperties: false
      responses:
        '200':
          description: The result, wrapped in data.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      tour:
                        type: string
                      match:
                        type: object
                        propertyNames:
                          type: string
                        additionalProperties: {}
                      players:
                        type: array
                        items:
                          type: object
                          propertyNames:
                            type: string
                          additionalProperties: {}
                      stats:
                        type: object
                        propertyNames:
                          type: string
                        additionalProperties: {}
                      odds:
                        type: array
                        items:
                          type: object
                          propertyNames:
                            type: string
                          additionalProperties: {}
                    required:
                    - tour
                    - match
                    - players
                    - stats
                    - odds
                    additionalProperties: false
                required:
                - data
        '400':
          description: Invalid arguments.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                - error
        '401':
          description: Missing or invalid API key.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                - error
        '402':
          description: Not enough credits.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                - error
        '429':
          description: Rate limited.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                - error
  /v1/get_rankings:
    post:
      operationId: get_rankings
      summary: Rankings
      description: 'Use for the ranking list: the latest (default), or a season and week, or the list in force on a date, with rank, previous rank, points and player. Pass player_id instead for one player''s ranking history. Weekly lists hold the top 100 to 150 for most weeks since 2007. Tour: atp (default) or wta; on the shared endpoint pass league: "wta" for the WTA. Costs 2 credits.'
      tags:
      - Basic lookup
      x-credits: 2
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                season:
                  description: Year.
                  type:
                  - string
                  - number
                week:
                  description: Week number of the season.
                  type: integer
                  minimum: 1
                  maximum: 53
                date:
                  description: The list in force on this date, YYYY-MM-DD.
                  type: string
                player_id:
                  description: One player's ranking history instead of a list.
                  type: string
                limit:
                  description: Max rows of a list (default 100).
                  type: integer
                  minimum: 1
                  maximum: 200
                league:
                  description: 'League. Defaults to tennis. One of: tennis, wta.'
                  type: string
                  enum:
                  - tennis
                  - wta
              additionalProperties: false
      responses:
        '200':
          description: The result, wrapped in data.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      tour:
                        type: string
                      season:
                        type: number
                      week:
                        type: number
                      ranking_date:
                        type:
                        - string
                        - 'null'
                      rankings:
                        type: array
                        items:
                          type: object
                          propertyNames:
                            type: string
                          additionalProperties: {}
                      player_id:
                        type: string
                      name:
                        type: string
                      best_rank:
                        type:
                        - number
                        - 'null'
                      history:
                        type: array
                        items:
                          type: object
                          propertyNames:
                            type: string
                          additionalProperties: {}
                      count:
                        type: number
                    required:
                    - tour
                    - count
                    additionalProperties: false
                required:
                - data
        '400':
          description: Invalid arguments.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                - error
        '401':
          description: Missing or invalid API key.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                - error
        '402':
          description: Not enough credits.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                - error
        '429':
          description: Rate limited.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                - error
  /v1/get_ratings:
    post:
      operationId: get_ratings
      summary: Ratings
      description: 'Use for our Elo ratings, highest first: overall, or on one surface (hard, clay, grass). Players with a rated match since active_since (default a year ago) and at least 10 rated matches. Tour: atp (default) or wta; on the shared endpoint pass league: "wta" for the WTA. Costs 2 credits.'
      tags:
      - Basic lookup
      x-credits: 2
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                surface:
                  description: Rank by the surface rating instead of overall.
                  type: string
                  enum:
                  - hard
                  - clay
                  - grass
                  - carpet
                active_since:
                  description: Only players with a rated match since this date, YYYY-MM-DD (default one year ago).
                  type: string
                limit:
                  description: Max players (default 50).
                  type: integer
                  minimum: 1
                  maximum: 500
                league:
                  description: 'League. Defaults to tennis. One of: tennis, wta.'
                  type: string
                  enum:
                  - tennis
                  - wta
              additionalProperties: false
      responses:
        '200':
          description: The result, wrapped in data.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      tour:
                        type: string
                      surface:
                        type:
                        - string
                        - 'null'
                      active_since:
                        type: string
                      ratings:
                        type: array
                        items:
                          type: object
                          propertyNames:
                            type: string
                          additionalProperties: {}
                      count:
                        type: number
                      method:
                        type: string
                    required:
                    - tour
                    - surface
                    - active_since
                    - ratings
                    - count
                    - method
                    additionalProperties: false
                required:
                - data
        '400':
          description: Invalid arguments.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                - error
        '401':
          description: Missing or invalid API key.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                - error
        '402':
          description: Not enough credits.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                - error
        '429':
          description: Rate limited.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                - error
components:
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: x-api-key
    bearer:
      type: http
      scheme: bearer
      description: The same API key as a bearer token.
externalDocs:
  description: Documentation
  url: https://acesapi.com/docs