USPS has one.
Canada Post has.
Australia Post has one.
Why doesn't Royal Mail have an API?
This bugs the hell out of me. They don't publish their prices in any useful data format, so every 6 months or so when they're updated, I need to go into my stock control system and manually update thousands of prices for half a dozen different shipping services. This is particularly irritating as I'm sure they will have a nice XML or CSV file floating around internally.
How much effort would it be to allow API access to tracking information too? They already give PayPal access to this data, so why can't they open it up? Instead we're forced to screen scrape.
Perhaps I should get a petition going?