The API from etherscan do not have methods to get a list of the last N transactions. The solution is to download the blocks (with the transactions) and read the data from them.
Assuming an average of 250 transactions per block (source: https://bitinfocharts.com/ethereum/) having 5 requests per second, you will get the data in a couple of hours.
This can be easily done with python and you can use these tools:
https://github.com/corpetty/py-etherscan-api
or
https://github.com/jfdelgad/etherscanAPI
in this last one you can just do:
from etherscanAPI import etherscan
apikey = 'yourAPIkey'
myapi = etherscan(apikey, 'mainnet')
currentblock = myapi.getBlockNumber()
txlist = []
i = 0
txcount = 0;
while txcount < 1000:
block = myapi.getBlockByNumber(int(currentblock,16)-i)
txlist.append(block['transactions'])
txcount = txcount + len(block['transactions'])
i = i + 1
print(txcount)
txlist = [i for sublist in txlist for i in sublist]
then txlist
will be a list of dictionaries containing all the data of last (>) 1000 transactions.
for instance, txlis[0] will have a dictionary:
{'blockHash': '0x60265fe6cffcbd2dc5f3872c4eb151e17919296270210985df3ef2249d99171c',
'blockNumber': '0x63973b',
'from': '0x5e032243d507c743b061ef021e2ec7fcc6d3ab89',
'gas': '0xafc8',
'gasPrice': '0xcce416600',
'hash': '0x940cdd338b4ec8f9b2b63c01a88683f8658f9a388d79873c6bb913b34e579dd8',
'input': '0x',
'nonce': '0x193dd',
'r': '0xcffe406e06ac7f5049798785d1ead4d9420aa763838592e275b997d6efb411d7',
's': '0x5db6e46eae1dae407b4e54c49e50ccb17a41a6569cb848aae021f06d4d7fb450',
'to': '0xf67fa6500b490a05c29a47b40a9e3b72e3044a15',
'transactionIndex': '0x0',
'v': '0x26',
'value': '0x4563918244f40000'}
and you can get the parameters doing for instance: txlist[0]['gas']
hope this helps