RDB F1 WP Registry grade A. No security issues foundWP RegistryNo security issues foundOpen the reportA
OpenF1 data source for Remote Data Blocks.
Install
Upload it under Plugins → Add New Plugin → Upload Plugin, then activate.
Install straight from GitHub with WP-CLI:
wp plugin install https://github.com/s3rgiosan/rdb-f1/releases/download/1.0.1/rdb-f1-1.0.1.zipOpenF1 data source for Remote Data Blocks.
Description
A WordPress plugin that adds an OpenF1 API data source to Remote Data Blocks. Editors can insert blocks for Formula 1 drivers, race results, race-control messages, weather snapshots, and pit stops without writing any code.
Built on the public OpenF1 v1 REST API. Calls are made server-side and cached by Remote Data Blocks.
Features
- F1 Driver block: list current F1 drivers → pick → render full name, acronym, team, number, headshot
- F1 Session Results block: pick a race session → render finishing positions with intervals, gaps, and fastest laps (composed from
/position+/drivers+/intervals+/laps) - F1 Race Control block: pick a race session → render race-director messages (yellow flags, safety cars, penalties), most recent first
- F1 Weather block: pick a race session → render the latest weather snapshot (air/track temp, humidity, rain, wind)
- F1 Pit Stops block: pick a race session → render pit stops sorted by pit lane time (fastest first), enriched with driver name and team
- Optional Bearer token auth: anonymous tier works out of the box; add a token via the settings page when you have an OpenF1 paid plan
- Smart session search: type a year (e.g.
2024) or a circuit name (e.g.Bahrain) in the picker to filter races - Built-in caching: inherits Remote Data Blocks' object cache (5-minute default TTL)
Installation
Manual Installation
- Download the latest release ZIP from the Releases page.
- Go to Plugins > Add New > Upload Plugin in your WordPress admin area.
- Upload the ZIP file and click Install Now.
- Activate the plugin.
Install with Composer
To include this plugin as a dependency in your Composer-managed WordPress project:
- Add the plugin to your project using the following command:
composer require s3rgiosan/rdb-f1
- Run
composer install. - Activate the plugin from your WordPress admin area or using WP-CLI.
Setup
The OpenF1 API works without authentication for the anonymous (free) tier — no signup or token required to insert any of the blocks. The Bearer token is only needed if you have an OpenF1 paid plan or hit rate limits during live sessions.
Account Requirements
- Remote Data Blocks plugin active on the same WordPress site.
- (Optional) An OpenF1 API key if you want higher rate limits or live-session access.
Step 1: Add the Block
- In the block editor search for F1 Driver, F1 Session Results, F1 Race Control, F1 Weather, or F1 Pit Stops and insert the desired block.
- Click Choose data to open the picker.
- For session-scoped blocks (everything except F1 Driver), type a year (
2024) or a circuit name (Bahrain) in the search box. Default search is the current year. - Pick a row from the list — Remote Data Blocks carries the session key into the render query automatically.
- Use Remote Data Blocks' binding UI to wire fields into your layout.
Step 2: (Optional) Configure a Bearer Token
If you have an OpenF1 paid plan or need to query data during a live race weekend:
- In WordPress admin go to Settings → RDB F1.
- Paste your token into the Bearer token field.
- Click Save Changes.
The plugin then sends Authorization: Bearer <token> on every request to api.openf1.org/v1.
Live-Session Restriction
While a Formula 1 session is live, OpenF1 restricts all endpoints (including past sessions) to authenticated users. Anonymous requests return:
401 Unauthorized
{"detail":"Live F1 session in progress. Global API access (including past sessions) is restricted to authenticated users until the session ends.}
If blocks fail with "Unauthorized" during a race weekend, either wait for the session to end or buy an API key from https://openf1.org/#sponsorship and paste it into Settings → RDB F1.
License Considerations
OpenF1 publishes guidance on intended use:
What can I use OpenF1 for?
OpenF1 is intended for educational purposes, personal learning projects, research, and non-commercial fan engagement. For other use cases, please contact us to discuss appropriate licensing and ensure compliance with all applicable rights.
Practical guidance for plugin operators:
- Personal blogs, fan sites, learning projects: covered by the default policy. Insert blocks freely.
- Commercial F1 news/media sites, monetized content: contact OpenF1 directly via https://openf1.org/ to discuss licensing before launch.
- Caching is your friend. The plugin relies on Remote Data Blocks' built-in object cache. Keep it enabled. OpenF1 rate-limits aggressively; uncached production traffic can produce HTTP 429 responses.
- Server-side only. All API calls happen from the WordPress PHP process. Do not wire any Bearer token into client-side JavaScript.
- Trademarks. "F1", "FORMULA 1", and team/driver names are trademarks of their respective rights holders. OpenF1 is not affiliated with Formula 1; neither is this plugin.
- Policies can change. Check the OpenF1 site and OpenF1 docs periodically.
Usage
F1 Driver block
Insert → pick a driver from the latest session. The block exposes fields for driver number, full name, first/last name, acronym, team, team colour, headshot, and session key.
F1 Session Results block
Insert → search by year or circuit → pick a race session. The block exposes a repeating row per finishing position with: position, driver number, full name, acronym, team, team colour, headshot, gap to leader, interval, fastest lap, and total laps.
F1 Race Control block
Insert → search by year or circuit → pick a race session. The block exposes a repeating row per message (newest first) with: time, lap number, category, flag, scope, and message text.
F1 Weather block
Insert → search by year or circuit → pick a race session. The block exposes a single record with: air temperature, track temperature, humidity, rainfall (Yes/No), wind speed, wind direction, pressure, and reading time.
F1 Pit Stops block
Insert → search by year or circuit → pick a race session. The block exposes a repeating row per pit stop (fastest first) with: driver number, full name, acronym, team, lap number, and pit lane time.
Filters
rdb_f1_driver_patterns
Swap the default inner block pattern for the F1 Driver block.
add_filter( 'rdb_f1_driver_patterns', function ( array $patterns ): array {
$patterns[0]['html'] = file_get_contents( __DIR__ . '/patterns/my-driver.html' );
return $patterns;
} );
rdb_f1_session_results_patterns
Swap the default inner block pattern for the F1 Session Results block.
add_filter( 'rdb_f1_session_results_patterns', function ( array $patterns ): array {
$patterns[0]['html'] = file_get_contents( __DIR__ . '/patterns/my-results.html' );
return $patterns;
} );
rdb_f1_race_control_patterns
Swap the default inner block pattern for the F1 Race Control block.
rdb_f1_weather_patterns
Swap the default inner block pattern for the F1 Weather block.
rdb_f1_pit_stops_patterns
Swap the default inner block pattern for the F1 Pit Stops block.
Requirements
- WordPress 6.7 or higher
- PHP 8.2 or higher
- Remote Data Blocks plugin active
- (Optional) An OpenF1 API key for higher rate limits or live-session access
Changelog
All notable changes to this project are documented in CHANGELOG.md.
License
This project is licensed under the GPL-3.0-or-later.
Releases
2 releases. Each count is every asset in that release; expand a row for the breakdown.