How do I get Bitcoin block header data with nonce? How do I get Bitcoin block header data with nonce?

There are tens of so called blockchain explorer websites, tens more offering on-line Bitcoin blockchain parsing.

But all I need are historic Bitcoin blockchain header data only for off-line mode study.

In theory I can set up blockchain parser on my own but I need to download full blockchain first and set up parser.

Since I live on wireless Internet 3G, it's not feasible to download 500GB data, so I would prefer an option just to buy historic Bitcoin blockchain header only data, no overheads, no transaction data.

If you know such place or can offer such download, let me know your terms.
There is no need to buy any data, and if someone is offering to sell you block headers, then you are being scammed.

The Bitcoin network protocol supports transmitting just block headers. So you can just use or create a software which can speak the Bitcoin network protocol and download just the block headers. The getheaders message is what you need in order to request the headers from a node, in addition to the normal network protocol stuff. Since block headers are just 80 bytes, the entire download will be 80*506612 = 40528960 bytes = 40.528960 MB.

Instead of writing such a software, you can also use Electrum. Electrum is a SPV wallet, but it downloads all of the block headers. If you create an Electrum wallet and let it sync (syncs very quickly), you will find a file in the Electrum data directory named blockchain_headers. This file contains all of the block headers in raw form (so just as bytes). You can then parse that as per the block header format.