ATP Ranking Scraper avatar

ATP Ranking Scraper

Pricing

from $3.99 / 1,000 results

Go to Apify Store
ATP Ranking Scraper

ATP Ranking Scraper

Public-page metadata extraction Actor for the inventory entry ATP Ranking Scraper.

Pricing

from $3.99 / 1,000 results

Rating

0.0

(0)

Developer

Coding Frontned

Coding Frontned

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

14 days ago

Last modified

Categories

Share

ATP Ranking Scraper

This Actor reads the public ATP Tour ranking pages and extracts the ranking rows that are already present in the official HTML table. It supports both singles and doubles rankings and is intended for bounded, repeatable collection of public ranking metadata. It does not sign in, use a proxy, call an undocumented service, solve a CAPTCHA, or attempt to bypass a WAF or access-control page.

Input

{
"startUrls": ["https://www.atptour.com/en/rankings/singles"],
"rankingType": "singles",
"maxItems": 100,
"rankMin": 1,
"rankMax": 9999,
"playerQuery": "",
"includeDiagnostics": true
}

startUrls accepts public ATP Tour HTTPS URLs. When it is omitted or empty, the Actor uses the singles or doubles URL selected by rankingType. maxItems, rankMin, and rankMax are bounded integers, and the rank range must be ordered. playerQuery is an optional case-insensitive substring filter. timeoutSecs, maxRetries, and maxResponseBytes control bounded direct requests. Non-empty proxyConfiguration is rejected because this Actor is direct-only. fixtureHtml and fixtureFile are local testing inputs; either one disables network access.

Dataset contract

Normal rows have recordType: "data" and contain sourceDomain, extractionMethod, transport, rankingType, rank, playerName, sourceUrl, and scrapedAt. When the page publishes them, officialPoints, rankChange, tournamentsPlayed, and nextBest are included as well. The parser deliberately does not turn the responsive mobile table and desktop table into duplicate rows, and it does not emit the age column because age is not part of this Actor's established output contract.

Blocked, unavailable, invalid, or empty sources produce a minimal diagnostic only when includeDiagnostics is enabled. A diagnostic contains exactly recordType, diagnosticType, url, sourceUrl, error, errorCode, and scrapedAt. Operational counts, request attempts, response bytes, and failure evidence are written to the OUTPUT_SUMMARY and compatibility OUTPUT key-value records rather than being mixed into ranking rows.

Responsible use and limitations

Only ordinary public HTTP GET requests are made to ATP Tour hosts. A challenge page, non-success response, oversized response, or transport failure is reported as evidence instead of being interpreted as ranking data. A successful local run proves that the checked-out source works in the local environment; it does not prove that a remote Apify build or run is available.

Local verification

npm run check
$env:APIFY_LOCAL_STORAGE_DIR = "qa\local-only-batch-scraper-atp-ranking\fixture"
npx --yes apify run --purge --input-file .actor\input-fixture.json
npm run validate

You can download the dataset in various formats such as JSON, HTML, CSV, or Excel.