Skip to main content

Coverage Quality Gate Status

About

iracing-data-api is a simple Python wrapper around the General Data API released by iRacing in January 2022 and documented here.

The client allows easy access to some of the most useful endpoints of the data API.

Installation

pip install iracingdataapi

Examples

from iracingdataapi.client import irDataClient

idc = irDataClient(username=[YOUR iRACING USERNAME], password=[YOUR iRACING PASSWORD])

# get the summary data of a member
idc.stats_member_summary(cust_id=20979)

# get latest results of a member
idc.stats_member_recent_races(cust_id=209179)

# get all laps for a specific driver in a race
idc.result_lap_data(subsession_id=43720351, cust_id=209179)

All available methods of irDataClient are included in client.py.

Contributing

I welcome all pull requests for improvements or missing endpoints over time as they are added by iRacing.

Changelog

1.2.2

  • Added driver_list endpoint, thanks to @nylanderj for that
  • Corrected issues where if [parameter] would skip if the parameter was correctly set to 0, e.g. race_week_num. Thanks to @abelsm2 for that
  • Added initial test setup
  • Added type hints throughout

1.2.0 Thanks to @ablesm2 for these changes.

  • Added missing endpoints
    • time_attack_member_season_results() stats_member_recap() stats_member_division() series_past_seasons() league_roster()
  • Removed check for cust_id on methods that default the currently logged in member:
    • stats_member_summary() stats_member_yearly() stats_member_recent_races()

1.1.6

  • More rate limiting fixes

1.1.5

  • Add rate limiting to _get_resource

1.1.4

  • Fix result_search_series to correctly include finish_range_begin as an option
  • Fix season_spectator_subsessionids to correctly return the IDs rather than the object

1.1.3

  • Bug fix for some 5xx errors that are thrown by iRacing
  • Added the season_spectator_subsessionids() endpoint

1.1.0

  • Added docstrings to all methods for developer experience
  • Renamed series() to get_series() for consistency. Breaking change: For that same consistency, series has been reimplemented as a property which returns the series with their assets. To amend your implementation, either switch to get_series() or remove any brackets in your call of series.
  • Renamed get_carclass() to get_carclasses() to be more consistent with other endpoints. NOTE: get_carclass() will be removed in a future release.
  • Added assets to the returned data of tracks. If you prefer not to get those assets, use get_tracks().
  • Removed redundant cookie handling code, as that is all handled within requests.Session
  • Fixed a ratelimiting error
  • Fixed a ratelimiting bug
  • Fixed a bug related to empty results
  • Improved handling of results

1.0.6

  • Bug fix in result_lap_data method, which will now return an empty list for any cust_id/subsession_id combinations for which laps were not turned.

1.0.5

  • Added a wait when hitting a rate limit

1.0.4

  • Bug fix: Previously an attempt wouldn't be retried if the authentication data became stale. This release fixes that

1.0.3

1.0.2

  • Adjusted login flow to avoid logging in on instantiation of an irDataClient object
  • Login now happens either on the initial call to an iRacing endpoint, or whenever a 401 Unauthorized response is received form iRacing

1.0.1

  • Adjusted result_search_series to allow searches by date range without using season years and quarters.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

iracingdataapi-1.2.2.tar.gz (15.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

iracingdataapi-1.2.2-py3-none-any.whl (13.3 kB view details)

Uploaded Python 3

File details

Details for the file iracingdataapi-1.2.2.tar.gz.

File metadata

  • Download URL: iracingdataapi-1.2.2.tar.gz
  • Upload date:
  • Size: 15.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.9

File hashes

Hashes for iracingdataapi-1.2.2.tar.gz
Algorithm Hash digest
SHA256 92f94497b474fe825fc20fb930c00087154bb11c5ac7c9c72cff16e57905f057
MD5 d39a00d44f2a9011f698da49e9a87804
BLAKE2b-256 369caf93d186075a02e65a327e54d47993707472c08f1c6346fcc8998a2c44dc

See more details on using hashes here.

File details

Details for the file iracingdataapi-1.2.2-py3-none-any.whl.

File metadata

  • Download URL: iracingdataapi-1.2.2-py3-none-any.whl
  • Upload date:
  • Size: 13.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.9

File hashes

Hashes for iracingdataapi-1.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 6a3347122873d5e94c38c2d1837979982ea116fbe1306fcbe7726ce9e1bc1690
MD5 766c8a42e1cba88d81cea13e650840cb
BLAKE2b-256 a8931ee3773740f5c0223093b9bf89dddf3ca7a1fdbe18754c4f682090ec5f68

See more details on using hashes here.

Release history Release notifications | RSS feed

1.4.4

2 files

1.4.2

2 files

1.4.1

2 files

1.4.0

2 files

1.3.0

2 files

1.2.3

2 files

This release

1.2.2 This release

2 files

1.2.1

2 files

1.2.0

2 files

1.1.6

2 files

1.1.5

2 files

1.1.4

2 files

1.1.3

2 files

1.1.2

2 files

1.1.1

2 files

1.1.0

2 files

1.0.6

2 files

1.0.5

2 files

1.0.4

2 files

1.0.3

2 files

1.0.2

2 files

1.0.1

2 files

1.0.0

2 files

0.0.8

2 files

0.0.7

2 files

0.0.6

2 files

0.0.5

2 files

0.0.4

1 file

0.0.3

2 files

0.0.2

2 files

0.0.1

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page