Run these tests against anyone
The harness that produces the figures on this site is public. It takes a base URL and a key and prints the same metric set — it has no idea which provider it is pointed at, which is the only reason its output about us is worth anything.
Quickstart
git clone https://github.com/livetennisapi/tennis-api-benchmark cd tennis-api-benchmark pip install -r requirements.txt # Against Live Tennis API (free key, no card): python -m benchmark --base-url https://api.livetennisapi.com/api/public/v1 --api-key "$KEY" --samples 40 # Against anything else you are evaluating: python -m benchmark --base-url https://your-provider.example/v1 \ --api-key "$OTHER_KEY" --samples 40
What it measures
| Metric | How | Needs |
|---|---|---|
| Response time | Sequential spaced GETs, non-2xx timings discarded | any key |
| Observed availability | Success share over the run | any key |
| Processing latency | Publication stamp minus event stamp on push frames | a feed that carries both |
| Point completeness | Whole sequences over completed matches in a window | history access |
| Tour coverage | Live slate grouped by tour against the calendar | any key |
What it deliberately will not do
It will not scrape a provider that has not given you a key, it will not hammer an endpoint fast enough to distort what it is measuring, and it will not print a percentile from a sample too small to support one. If your run produces fewer metrics than ours, that is the harness refusing to guess.
If you find we are wrong
Open an issue on the repository with your run's JSON output. A figure on this site that someone else cannot reproduce is a figure we need to withdraw or explain, and we would rather hear it from you than not hear it.