The latest daily cards are updated the night before racing, after final declarations. Declarations for racecards beyond the next day are sometimes available also.
Results updates from the previous day's racing are available from 5 am every morning.
The speed figure assigned to the run of a horse is part of the results updates, so will not appear in daily racecard information. However, you can capture the speed figure from a horse's last run and combine it with daily racecard data.
There are lots of ways to do this. The best way to get exactly the data you want and present it how you want is with a program script that uses a database interface, such as Perl, Ruby, PHP, Python, R etc.
Any script - or manual method using the database alone - will use a couple of key queries.
First, you'll need a list of all the horses you want to find the last speed figure for. This can be a list of horse names for all runners declared today (or a previous day), as follows:
>select course, distance_yards, scheduled_time, name from daily_runners join daily_races using (race_id) where meeting_date=CURDATE();
Second, you'll need to find the last speed figure for each of those runners. Here's one way to do that - in this example using a specific horse name - Opinion Poll - which in a program could be replaced by a variable representing a horse name:
>select course, distance_yards, scheduled_time, historic_runners.speed_rating, name from historic_runners join historic_races using (race_id) where name = "Opinion Poll" order by scheduled_time DESC LIMIT 1;
A suitable script would save the list of daily runners, then loop over that list and present the name of each horse to the second query shown, in order to retrieve its speed figure and display that figure alongside any of the other variables retrieved in the example query above (eg. course, distance etc).