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 API key
Observed availabilitySuccess share over the runany API 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 API 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. A percentile from a sample too small to support one never prints. 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 one we need to withdraw or explain. We want to hear it from you.