Ethereum Datafarm

Scrap blockchain data from the public API of

ethereum-datafarm v2.0

contributions welcome HitCount

Parse Smart Contract event data without requiring an archive/full node.

The ethereum-datafarm aims to provide quick access to historical Ethereum event data by offering an easy-to-use interface to parse event logs from contracts and save them in .csv format.

The ethereum-datafarm uses the API, which can be used for free up to fairly generous limits.


  • Scraps every type of event data from pre-defined contracts
  • Fetches Abis from contracts to detect events
  • No local or Infura node required
  • Low CPU and RAM requirements
  • Multiprocessing support
  • Custom storage location using the -loc or --location flag: E.g. python3 -loc ./myfolder

Example data output

image Or check out this sample output file of dai transfers


$ cd ./src
$ python3


from ethereum_datafarm import *

if __name__=="__main__":
    # Initialize Farm
    farm = Farm()
    # Load Contracts
    # Start parsing
NOTE: If the event-emitting contract is a proxie contract (e.g. upgradable contracts) then the abi detection may fail. In such cases, take the right abi from Etherscan and add the .abi file manually.
NOTE: If you have too many cores, you might reach the API limit (this will be logged). In such cases, use the -c or --cores flag to set the amount of cores to be used. A value of -c 4 is recommended.
NOTE: If you want to activate logging (useful for debugging), use the -log or --log flag. The logs are stored at "./logs.txt"

Install from source

$ git clone
$ cd ethereum-datafarm
$ python3 -m venv .
$ source bin/activate
$ pip install -r requirements.txt


  • Python 3.5 or higher
  • Etherscan API key (for free at
Make sure that contracts.csv has the following structure: (Contract address, custom name, canonical Event, start block, chunksize)


Initialize farm and starts parsing data:

  • Loads contracts from contracts.csv file
  • Starts farm instance
  • Loops over contracts and saves data into .csv


Cite as

	title = {Ethereum-datafarm},
	url = {},
	urldate = {2022-08-18},
	publisher = {Github},
	author = {Anton Wahrsttter},
	year = {2022},

Visit for further details!

Anton Wahrsttter, 18.08.2022

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.