STS Timing Results Scraper avatar

STS Timing Results Scraper

Pricing

from $0.01 / 1,000 results

Go to Apify Store
STS Timing Results Scraper

STS Timing Results Scraper

Extract structured runner results from generated STS Timing result pages on sts-timing.pl, including Polish road races, marathons, mass runs, and major Warsaw sport events.

Pricing

from $0.01 / 1,000 results

Rating

0.0

(0)

Developer

Alex Demeniuk

Alex Demeniuk

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Categories

Share

What does STS Timing Results Scraper do?

STS Timing Results Scraper extracts structured race results from generated result pages hosted on the STS Timing platform at https://sts-timing.pl. It is designed for Polish road races whose official results are published through the STS Timing infrastructure, and it returns normalized runner-level dataset items that can be used through the Apify platform, API, schedules, integrations, and exports.

STS Timing hosts results for both smaller local races and some of the most recognizable and prestigious running events in Poland, including major Warsaw races, constitutional and independence-day runs, and other high-attendance public events when their result pages are published through the same infrastructure. Some of these races can exceed 20,000 participants.

This Actor does not scrape the general event listing page itself. Instead, it expects the final generated results-page URL — the page that appears only after choosing the distance, selecting visible fields, and clicking Generuj on the STS Timing event page.

Why use STS Timing Results Scraper?

This Actor is useful when there is a need to collect race-result data from STS Timing in a structured format instead of copying rows manually from the browser.

Typical use cases include:

  • building structured datasets of race results,
  • collecting runner-level finish data for analysis,
  • exporting results to JSON, CSV, or Excel through Apify,
  • supporting sports analytics, event research, or result archiving workflows,
  • working with large public result tables that may contain thousands or even tens of thousands of participants,
  • reusing the same extraction flow through API calls or scheduled runs.

The Actor normalizes common result columns such as place, bib number, full name, category, city, sex, and times, and it can optionally keep the original source columns as raw_* fields.

How to use STS Timing Results Scraper

  1. Open the STS Timing results directory: https://sts-timing.pl/wyniki/
  2. Find a race whose results are hosted on STS Timing.
  3. Open the race page.
  4. In the left-side menu, click Generuj wyniki.
  5. At the top of the page, choose the correct Dystans if the event has more than one distance.
  6. In Wyświetl / Show, select the columns that should appear in the generated result table.
  7. Click Generuj.
  8. Confirm that the displayed result table is exactly the one you want.
  9. Copy the URL of that final generated page.
  10. Paste that URL into the Actor input and run the Actor.

This step matters because the Actor parses the generated results table page itself, not the event overview page.

Input

Use the Input tab in Apify Console.

Input fields

  • url — required; the full generated results-page URL from live.sts-timing.pl
  • include_raw — optional; when enabled, the Actor also includes the original source columns prefixed with raw_

Important input rule

The input must be the URL of the final generated results page.

A valid example is:

{
"url": "https://live.sts-timing.pl/biegkonstytucji2026/wyniki.php?search=1&dystans=1&filter[country]=&filtr=false&show[]=1&show[]=2&show[]=3&show[]=4&show[]=5&show[]=6&show[]=7&show[]=8&show[]=9&show[]=10&show[]=11&show[]=12&show[]=13&show[]=14",
"include_raw": false
}

Do not paste:

  • the main https://sts-timing.pl/wyniki/ listing page,
  • the race overview page before clicking Generuj wyniki,
  • external result pages hosted outside the STS Timing results infrastructure.

Output

The Actor returns one dataset item per visible result row from the generated STS Timing result table.

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

Output example

{
"place": "1",
"bib_number": "245",
"full_name": "Sample Runner",
"name": "Sample",
"surname": "Runner",
"city": "Warszawa",
"country": "POL",
"team": "Example Team",
"sex": "M",
"sex_place": "1",
"category": "M30",
"category_place": "1",
"net_time": "01:12:45",
"gross_time": "01:12:50"
}

If include_raw is enabled, the output also includes original raw source fields such as raw_Imię, raw_Nazwisko, or other visible columns from the generated table.

Data table

FieldDescription
placeOverall placing in the visible results table
bib_numberStart or bib number
full_nameCombined runner name when available
nameFirst name
surnameLast name
cityRunner city
countryRunner country
teamClub or team name
sexRunner sex/gender
sex_placePlace within sex/gender ranking
categoryCategory label
category_placePlace within category
net_timeNet time
gross_timeGross time

How much does it cost to scrape STS Timing results?

The cost depends on your Apify plan, the pricing model configured for this Actor, and how often you run it.

For most normal result pages, this Actor should be lightweight because it fetches and parses a single HTML results page rather than crawling many pages. Even when the selected event is large, the extraction model remains simple because it works from the generated STS results table page rather than from a multi-page crawl. A good practice is to test with one representative race first, confirm the output, and only then scale usage.

Tips and advanced notes

  • Always click Generuj first and confirm the visible table before copying the URL.
  • The Actor automatically removes the sort query parameter before fetching the page, which helps avoid unstable sorted-result URLs.
  • The output depends on the visible columns selected on the STS results page.
  • Some events on STS Timing are relatively small local races, while others are high-profile national events with very large participant counts.
  • If a race has multiple distances or classifications, run the Actor separately for each final generated result view you want to collect.