This API is a RESTful API that exposes official ATP Tour statistics in a developer-friendly format. It covers datasets like player profiles, match stats, rankings, win/loss records, and head-to-head comparisons. Each dataset is served via dedicated endpoints supporting query parameters. This API empowers developers, analysts, and sports enthusiasts to build tennis applications, visualizations, and predictive models without scraping the ATP website.
{
"ATP_Serve_Leaders": {
"players": [
{
"player_name": "Giovanni Mpetshi Perricard"
},
{
"player_name": "Alexander Zverev"
},
{
"player_name": "Matteo Berrettini"
},
{
"player_name": "Taylor Fritz"
},
{
"player_name": "Jannik Sinner"
},
{
"player_name": "Ben Shelton"
},
{
"player_name": "Hubert Hurkacz"
},
{
"player_name": "Brandon Nakashima"
},
{
"player_name": "Felix Auger-Aliassime"
},
{
"player_name": "Tallon Griekspoor"
},
{
"player_name": "Carlos Alcaraz"
},
{
"player_name": "Quentin Halys"
},
{
"player_name": "Jack Draper"
},
{
"player_name": "Zhizhen Zhang"
},
{
"player_name": "Ugo Humbert"
},
{
"player_name": "Stefanos Tsitsipas"
},
{
"player_name": "Gabriel Diallo"
},
{
"player_name": "Sebastian Korda"
},
{
"player_name": "Lorenzo Sonego"
},
{
"player_name": "Jakub Mensik"
},
{
"player_name": "Nicolas Jarry"
},
{
"player_name": "Jiri Lehecka"
},
{
"player_name": "Andrey Rublev"
},
{
"player_name": "Casper Ruud"
},
{
"player_name": "Holger Rune"
},
{
"player_name": "Arthur Rinderknech"
},
{
"player_name": "Karen Khachanov"
},
{
"player_name": "Alexei Popyrin"
},
{
"player_name": "Grigor Dimitrov"
},
{
"player_name": "Gael Monfils"
},
{
"player_name": "Frances Tiafoe"
},
{
"player_name": "Lorenzo Musetti"
},
{
"player_name": "Arthur Fils"
},
{
"player_name": "Alexander Bublik"
},
{
"player_name": "Jordan Thompson"
},
{
"player_name": "Alex Michelsen"
},
{
"player_name": "Juncheng Shang"
},
{
"player_name": "Aleksandar Vukic"
},
{
"player_name": "Aleksandar Kovacevic"
},
{
"player_name": "Tommy Paul"
},
{
"player_name": "Mattia Bellucci"
},
{
"player_name": "Roman Safiullin"
},
{
"player_name": "Laslo Djere"
},
{
"player_name": "Danil Medvedev"
},
{
"player_name": "Tomas Martin Etcheverry"
},
{
"player_name": "Denis Shapovalov"
},
{
"player_name": "Nuno Borges"
},
{
"player_name": "Miomir Kecmanovic"
}
]
}
}
curl --location --request POST 'https://zylalabs.com/api/9097/atp+statistics+api/16475/get+atp+ranking' --header 'Authorization: Bearer YOUR_API_KEY' --header 'Content-Type: application/json' --data-raw '{}'
{
"player_stats": {
"player_name": "Alexander Zverev",
"rank": 3,
"aces_per_match": 8.5,
"first_serve_percentage": 69.8,
"first_serve_points_won_percentage": 76.6,
"second_serve_points_won_percentage": 55,
"service_games_won_percentage": 89,
"double_faults_per_match": 2.3
}
}
curl --location --request POST 'https://zylalabs.com/api/9097/atp+statistics+api/16481/get+stats+by+player' --header 'Authorization: Bearer YOUR_API_KEY' --header 'Content-Type: application/json' --data-raw '{"player":"Required"}'
{
"ATP_Return_Leaders": [
{
"player_name": "Alex de Minaur"
},
{
"player_name": "Carlos Alcaraz"
},
{
"player_name": "Jannik Sinner"
},
{
"player_name": "Tommy Paul"
},
{
"player_name": "Francisco Cerundolo"
},
{
"player_name": "Alejandro Davidovich Fokina"
},
{
"player_name": "David Goffin"
},
{
"player_name": "Sebastian Baez"
},
{
"player_name": "Jack Draper"
},
{
"player_name": "Mariano Navone"
},
{
"player_name": "Lorenzo Musetti"
},
{
"player_name": "Alexander Zverev"
},
{
"player_name": "Novak Djokovic"
},
{
"player_name": "Tomas Machac"
},
{
"player_name": "Laslo Djere"
},
{
"player_name": "Cameron Norrie"
},
{
"player_name": "Karen Khachanov"
},
{
"player_name": "Denis Shapovalov"
},
{
"player_name": "Hugo Gaston"
},
{
"player_name": "Jaume Munar"
},
{
"player_name": "Matteo Arnaldi"
},
{
"player_name": "Nuno Borges"
},
{
"player_name": "Grigor Dimitrov"
},
{
"player_name": "Roberto Carballes Baena"
},
{
"player_name": "Alexander Shevchenko"
},
{
"player_name": "Alexandre Muller"
},
{
"player_name": "Holger Rune"
},
{
"player_name": "Arthur Fils"
},
{
"player_name": "Pedro Martinez"
},
{
"player_name": "Roberto Bautista Agut"
},
{
"player_name": "Alex Michelsen"
},
{
"player_name": "Corentin Moutet"
},
{
"player_name": "Flavio Cobolli"
},
{
"player_name": "Juncheng Shang"
},
{
"player_name": "Rinky Hijikata"
},
{
"player_name": "Taylor Fritz"
},
{
"player_name": "Andrey Rublev"
},
{
"player_name": "Marcos Giron"
},
{
"player_name": "Jakub Mensik"
},
{
"player_name": "Learner Tien"
},
{
"player_name": "Frances Tiafoe"
},
{
"player_name": "Jiri Lehecka"
},
{
"player_name": "Ugo Humbert"
},
{
"player_name": "Casper Ruud"
},
{
"player_name": "Sebastian Korda"
},
{
"player_name": "Daniel Altmaier"
},
{
"player_name": "Roman Safiullin"
},
{
"player_name": "Adrian Mannarino"
},
{
"player_name": "Zizou Bergs"
}
]
}
curl --location --request POST 'https://zylalabs.com/api/9097/atp+statistics+api/16486/get+rank+by+name' --header 'Authorization: Bearer YOUR_API_KEY' --header 'Content-Type: application/json' --data-raw '{"name":"Required"}'
Encabezado | Descripción |
---|---|
Autorización
|
[Requerido] Debería ser Bearer access_key . Consulta "Tu Clave de Acceso a la API" arriba cuando estés suscrito. |
Sin compromiso a largo plazo. Mejora, reduce o cancela en cualquier momento. La Prueba Gratuita incluye hasta 50 solicitudes.
The ATP Statistics API provides access to a variety of data types, including player profiles, match statistics, player rankings, win/loss records, and head-to-head comparisons.
The API delivers data in a RESTful format, typically in JSON, which is easy to parse and integrate into applications. Each dataset is served via dedicated endpoints that support query parameters for filtering.
Developers can use the ATP Statistics API to create tennis-related applications, such as performance analytics tools, player comparison features, ranking visualizations, and predictive models for match outcomes.
The core value proposition of the ATP Statistics API is to provide official ATP Tour statistics in a developer-friendly format, enabling users to access rich data without the need for web scraping, thus facilitating the development of innovative tennis applications.
The API includes fields such as player names, match scores, tournament details, and ranking points. The output format is primarily JSON, which allows for structured data retrieval, making it easy to integrate into various applications.
This endpoint returns a list of tennis players ranked in the ATP Serve Leaders category. Each entry includes the player's name, allowing users to identify top performers in serving statistics.
The response includes fields such as player name, rank, aces per match, first serve percentage, and service games won percentage, providing detailed insights into a player's serving performance.
The response is structured as a JSON object containing an array of players, each represented by their name. This format allows for easy parsing and integration into applications for further analysis.
Users can specify the player's name to retrieve specific statistics. This customization allows for targeted data requests, focusing on individual player performance metrics.
This endpoint provides a list of players ranked in the ATP Under Pressure Leaders category, highlighting those who excel in high-stakes situations during matches, which can be crucial for performance analysis.
Users can analyze individual player statistics such as serve rating and break points saved percentage to assess performance trends, compare players, or develop predictive models for match outcomes.
The API sources its data directly from official ATP statistics, ensuring high accuracy. Regular updates and validation processes are implemented to maintain data integrity and reliability.
Typical use cases include developing analytics dashboards, creating player comparison tools, generating visualizations for match statistics, and building predictive models for tournament outcomes based on player performance data.
Zyla API Hub es como una gran tienda de APIs, donde puedes encontrar miles de ellas en un solo lugar. También ofrecemos soporte dedicado y monitoreo en tiempo real de todas las APIs. Una vez que te registres, puedes elegir qué APIs quieres usar. Solo recuerda que cada API necesita su propia suscripción. Pero si te suscribes a varias, usarás la misma clave para todas, lo que hace todo más fácil para ti.
Los precios se muestran en USD (dólar estadounidense), EUR (euro), CAD (dólar canadiense), AUD (dólar australiano) y GBP (libra esterlina). Aceptamos todas las principales tarjetas de débito y crédito. Nuestro sistema de pago utiliza la última tecnología de seguridad y está respaldado por Stripe, una de las compañías de pago más confiables del mundo. Si tienes algún problema para pagar con tarjeta, contáctanos en [email protected]
Además, si ya tienes una suscripción activa en cualquiera de estas monedas (USD, EUR, CAD, AUD, GBP), esa moneda se mantendrá para suscripciones posteriores. Puedes cambiar la moneda en cualquier momento siempre que no tengas suscripciones activas.
La moneda local que aparece en la página de precios se basa en el país de tu dirección IP y se proporciona solo como referencia. Los precios reales están en USD (dólar estadounidense). Cuando realices un pago, el cargo aparecerá en tu estado de cuenta en USD, incluso si ves el monto equivalente en tu moneda local en nuestro sitio web. Esto significa que no puedes pagar directamente en tu moneda local.
Ocasionalmente, un banco puede rechazar el cargo debido a sus configuraciones de protección contra fraude. Te sugerimos comunicarte con tu banco primero para verificar si están bloqueando nuestros cargos. También puedes acceder al Portal de Facturación y cambiar la tarjeta asociada para realizar el pago. Si esto no funciona y necesitas más ayuda, por favor contacta a nuestro equipo en [email protected]
Los precios se determinan mediante una suscripción recurrente mensual o anual, dependiendo del plan elegido.
Las llamadas a la API se descuentan de tu plan en base a solicitudes exitosas. Cada plan incluye una cantidad específica de llamadas que puedes realizar por mes. Solo las llamadas exitosas, indicadas por una respuesta con estado 200, se contarán en tu total. Esto asegura que las solicitudes fallidas o incompletas no afecten tu cuota mensual.
Zyla API Hub funciona con un sistema de suscripción mensual recurrente. Tu ciclo de facturación comenzará el día en que compres uno de los planes de pago, y se renovará el mismo día del mes siguiente. Así que recuerda cancelar tu suscripción antes si quieres evitar futuros cargos.
Para actualizar tu plan de suscripción actual, simplemente ve a la página de precios de la API y selecciona el plan al que deseas actualizarte. La actualización será instantánea, permitiéndote disfrutar inmediatamente de las funciones del nuevo plan. Ten en cuenta que las llamadas restantes de tu plan anterior no se transferirán al nuevo plan, por lo que debes considerar esto al actualizar. Se te cobrará el monto total del nuevo plan.
Para verificar cuántas llamadas a la API te quedan en el mes actual, revisa el campo 'X-Zyla-API-Calls-Monthly-Remaining' en el encabezado de la respuesta. Por ejemplo, si tu plan permite 1,000 solicitudes por mes y has usado 100, este campo mostrará 900 llamadas restantes.
Para ver el número máximo de solicitudes a la API que permite tu plan, revisa el encabezado de la respuesta 'X-Zyla-RateLimit-Limit'. Por ejemplo, si tu plan incluye 1,000 solicitudes por mes, este encabezado mostrará 1,000.
El encabezado 'X-Zyla-RateLimit-Reset' muestra el número de segundos hasta que tu límite se restablezca. Esto te indica cuándo tu conteo de solicitudes se reiniciará. Por ejemplo, si muestra 3,600, significa que faltan 3,600 segundos para que el límite se restablezca.
Sí, puedes cancelar tu plan en cualquier momento desde tu cuenta, seleccionando la opción de cancelación en la página de Facturación. Ten en cuenta que las actualizaciones, degradaciones y cancelaciones tienen efecto inmediato. Además, al cancelar ya no tendrás acceso al servicio, incluso si te quedaban llamadas en tu cuota.
Puedes contactarnos a través de nuestro canal de chat para recibir asistencia inmediata. Siempre estamos en línea de 8 a. m. a 5 p. m. (EST). Si nos contactas fuera de ese horario, te responderemos lo antes posible. Además, puedes escribirnos por correo electrónico a [email protected]
Para darte la oportunidad de probar nuestras APIs sin compromiso, ofrecemos una prueba gratuita de 7 días que te permite realizar hasta 50 llamadas a la API sin costo. Esta prueba solo se puede usar una vez, por lo que recomendamos aplicarla a la API que más te interese. Aunque la mayoría de nuestras APIs ofrecen prueba gratuita, algunas pueden no hacerlo. La prueba finaliza después de 7 días o cuando realices 50 solicitudes, lo que ocurra primero. Si alcanzas el límite de 50 solicitudes durante la prueba, deberás "Iniciar tu Plan de Pago" para continuar haciendo solicitudes. Puedes encontrar el botón "Iniciar tu Plan de Pago" en tu perfil bajo Suscripción -> Elige la API a la que estás suscrito -> Pestaña de Precios. Alternativamente, si no cancelas tu suscripción antes del día 7, tu prueba gratuita finalizará y tu plan se cobrará automáticamente, otorgándote acceso a todas las llamadas a la API especificadas en tu plan. Ten esto en cuenta para evitar cargos no deseados.
Después de 7 días, se te cobrará el monto total del plan al que estabas suscrito durante la prueba. Por lo tanto, es importante cancelar antes de que finalice el periodo de prueba. No se aceptan solicitudes de reembolso por olvidar cancelar a tiempo.
Cuando te suscribes a una prueba gratuita de una API, puedes realizar hasta 50 llamadas. Si deseas realizar más llamadas después de este límite, la API te pedirá que "Inicies tu Plan de Pago". Puedes encontrar el botón "Iniciar tu Plan de Pago" en tu perfil bajo Suscripción -> Elige la API a la que estás suscrito -> Pestaña de Precios.
Las Órdenes de Pago se procesan entre el día 20 y el 30 de cada mes. Si envías tu solicitud antes del día 20, tu pago será procesado dentro de ese período.
Nivel de Servicio:
100%
Tiempo de Respuesta:
10.317ms
Nivel de Servicio:
100%
Tiempo de Respuesta:
397ms
Nivel de Servicio:
100%
Tiempo de Respuesta:
10.317ms
Nivel de Servicio:
100%
Tiempo de Respuesta:
10.317ms
Nivel de Servicio:
100%
Tiempo de Respuesta:
10.317ms
Nivel de Servicio:
100%
Tiempo de Respuesta:
10.317ms
Nivel de Servicio:
100%
Tiempo de Respuesta:
7.460ms
Nivel de Servicio:
100%
Tiempo de Respuesta:
469ms
Nivel de Servicio:
100%
Tiempo de Respuesta:
857ms
Nivel de Servicio:
100%
Tiempo de Respuesta:
299ms
Nivel de Servicio:
67%
Tiempo de Respuesta:
1.074ms
Nivel de Servicio:
100%
Tiempo de Respuesta:
664ms
Nivel de Servicio:
100%
Tiempo de Respuesta:
274ms
Nivel de Servicio:
100%
Tiempo de Respuesta:
3.192ms
Nivel de Servicio:
100%
Tiempo de Respuesta:
682ms
Nivel de Servicio:
100%
Tiempo de Respuesta:
2.530ms
Nivel de Servicio:
100%
Tiempo de Respuesta:
521ms
Nivel de Servicio:
100%
Tiempo de Respuesta:
1.372ms
Nivel de Servicio:
100%
Tiempo de Respuesta:
160ms
Nivel de Servicio:
100%
Tiempo de Respuesta:
1.954ms