besttennisapi
Open source · MIT

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

MetricHowNeeds
Response timeSequential spaced GETs, non-2xx timings discardedany key
Observed availabilitySuccess share over the runany key
Processing latencyPublication stamp minus event stamp on push framesa feed that carries both
Point completenessWhole sequences over completed matches in a windowhistory access
Tour coverageLive slate grouped by tour against the calendarany 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.