# Etherscan Gas Tracker Scraper (`parseforge/etherscan-gas-tracker-scraper`) Actor

Scrapes Etherscan gas tracker snapshots every second. Returns safe, proposed, fast gas prices in gwei, base fee, priority fee, and gas used ratio as flat rows.

- **URL**: https://apify.com/parseforge/etherscan-gas-tracker-scraper.md
- **Developed by:** [ParseForge](https://apify.com/parseforge) (community)
- **Categories:** Automation, Integrations, Developer tools
- **Stats:** 1 total users, 1 monthly users, 89.7% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $7.50 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

[![ParseForge](https://raw.githubusercontent.com/ParseForge/apify-assets/main/banner.jpg)](https://apify.com/parseforge?fpr=vmoqkp)

### Etherscan Gas Tracker Scraper

**Scrape Etherscan gas tracker snapshots every second, up to 1,000 per run.** Each record includes safe, proposed, and fast gas prices in gwei, base fee, priority fee, and gas used ratio. No API key. Export to CSV, JSON, Excel, or XML.

Etherscan's official API needs a key and rate-limits you. This reads the public gas tracker page directly, polling it once per second for as many snapshots as you need. You get the live gas prices, base fee, and network utilization in one flat row per snapshot.

| Who uses it | What they scrape Etherscan for |
|---|---|
| DeFi traders | Timing transactions to avoid high gas fees |
| Blockchain developers | Monitoring gas price trends for dApp optimization |
| Crypto analysts | Studying gas fee patterns and network congestion |
| Arbitrage bots | Feeding real-time gas prices into automated strategies |

### What it does

This Actor collects Etherscan gas tracker snapshots on a one-second interval and returns each snapshot as a flat row.

- ⏱️ **One-second polling:** collect a snapshot every second, up to 1,000 per run.
- 📊 **Gas price fields:** safe, proposed, and fast prices in gwei, plus base fee and priority fee.
- 🔢 **Network utilization:** gas used ratio shows how full the latest block is.
- 📦 **Flat output:** every snapshot is one row, ready for CSV, JSON, Excel, or XML.

Results export to CSV, JSON, Excel, or XML, or straight from the API.

### What you can do with Etherscan data

**⛽ Time your transactions.**

A DeFi trader polls gas prices every second and submits a transaction when the safe price drops below a threshold.

**📈 Track gas fee trends.**

A crypto analyst collects hourly snapshots for a week and charts base fee and priority fee to spot congestion patterns.

**🤖 Feed an arbitrage bot.**

A developer runs this Actor on a schedule and pipes the JSON output into a bot that only trades when gas is cheap.

**🔍 Monitor network utilization.**

A blockchain researcher watches the gas used ratio to see how full blocks are and predict fee spikes.

### Why choose this scraper

| | What you get |
|---|---|
| **No API key** | Scrape the public gas tracker page directly, no registration or rate limits. |
| **Real-time data** | Snapshots are taken every second, so you see the latest gas prices. |
| **Fixed schema** | Every record has the same fields, making it easy to analyze or feed into a bot. |
| **Flexible export** | Download as CSV, JSON, Excel, or XML, or push to any Apify integration. |

### How it compares

This Actor focuses on one-second gas tracker snapshots, while the competitors below either cover multiple Etherscan surfaces or multiple blockchains.

| Feature | ParseForge | Etherscan Gas Tracker Scraper (3 users) | Etherscan Gas Tracker Scraper (2 users) | Multi-Chain Gas Tracker - ETH Arb OP Base Polygon BNB Live |
|---|---|---|---|---|
| One-second polling | Yes | Not listed | Not listed | Not listed |
| Safe, proposed, fast gas prices | Yes | Yes | Yes | Yes |
| Base fee and priority fee | Yes | Yes | Not listed | Not listed |
| Gas used ratio | Yes | Yes | Not listed | Not listed |
| Multi-chain support | No | Not listed | Not listed | Yes |
| Top ETH holders or token leaderboard | No | Not listed | Yes | Not listed |

### Configure the run

Set the number of snapshots to collect and the maximum records per run. Polling runs once per second until either limit is reached. The Input tab lists every parameter.

A first run with the defaults:

```json
{
 "pollCount": 1,
 "maxItems": 10
}
```

A larger pull:

```json
{
 "pollCount": 1,
 "maxItems": 200
}
```

### Pricing

Pay-per-result: **$0.0085 per result** collected. You pay only for the results written to your dataset.

| Results collected | Approximate cost |
|---|---|
| 100 results | $0.85 |
| 1,000 results | $8.50 |
| 10,000 results | $85.00 |

New Apify accounts start with $5 in free credit.

### Free users

Free-plan runs return up to 10 results as a preview. [Upgrade your Apify plan](https://console.apify.com/sign-up?fpr=vmoqkp) to collect up to 1,000,000 results per run.

### Run it

1. [Create a free Apify account with $5 in credit](https://console.apify.com/sign-up?fpr=vmoqkp).
2. Open the [Etherscan Gas Tracker Scraper](https://apify.com/parseforge/etherscan-gas-tracker-scraper?fpr=vmoqkp).
3. Set your inputs and any filters, then click **Start**.
4. Export the results as CSV, Excel, JSON, or XML from the **Dataset** tab.

Run it programmatically through the [Apify API](https://docs.apify.com/api/v2) (`run-sync-get-dataset-items`) or the [ApifyClient](https://docs.apify.com/api/client/js) for JavaScript and Python.

### Use with AI agents (MCP)

Give an AI agent live access to Etherscan through the Model Context Protocol. Add the Actor to Claude, Cursor, or any MCP client:

```bash
claude mcp add --transport http apify "https://mcp.apify.com/?tools=parseforge/etherscan-gas-tracker-scraper"
```

Then prompt it in plain language to run the scraper and read back the results.

### Troubleshooting

**Why am I getting no results?**

Check that pollCount and maxItems are both at least 1. If the run finishes instantly, the limits may be set too low. Also ensure Etherscan is reachable from your network.

**Why did the run stop before reaching pollCount?**

The maxItems limit may have been reached first. The Actor stops when either pollCount snapshots are taken or maxItems records are collected, whichever comes first.

**Why are some gas price fields missing?**

Etherscan occasionally omits a field if the network is congested or the page changes. The Actor returns whatever is present, so missing fields are rare but possible.

**Can I scrape more than 1,000 snapshots?**

The pollCount maximum is 1,000 per run. To collect more, run the Actor multiple times or set up a schedule to accumulate snapshots over time.

**Why is the output not updating?**

If you are viewing a cached dataset, refresh the page. The Actor always fetches fresh data from Etherscan on each run.

### FAQ

| Question | Answer |
|---|---|
| How often does this Actor scrape Etherscan? | It takes one snapshot per second, up to the pollCount you set. The default is 1 snapshot, but you can set up to 1,000. |
| What gas price fields are included? | Each snapshot includes safe, proposed, and fast gas prices in gwei, plus base fee, priority fee, and gas used ratio. |
| Do I need an Etherscan API key? | No. This Actor reads the public gas tracker page directly, so there is no key, registration, or rate limit. |
| Can I export the data to CSV or Excel? | Yes. You can download the dataset as CSV, JSON, Excel, or XML from the Apify platform, or use an integration to push it elsewhere. |
| What is the maximum number of snapshots per run? | You can collect up to 1,000 snapshots per run. The maxItems field also caps the total records, up to 1,000,000. |
| Does this Actor work with other blockchains? | No, it only scrapes the Ethereum gas tracker on Etherscan. For multi-chain gas prices, consider a dedicated multi-chain actor. |
| Can I schedule this Actor to run automatically? | Yes. You can set up a schedule in Apify to run it every minute, hour, or day, and the output will be stored as a new dataset each time. |
| What is the gas used ratio? | It is the fraction of the latest block's gas limit that was used. A value near 1 means the block is full and fees are likely to rise. |
| Is the data real-time? | Yes, each snapshot is taken at the moment of the request, so the data is as fresh as Etherscan's public page. |
| Can I use this for commercial purposes? | Yes, as long as you comply with Etherscan's terms of service and Apify's terms. The data is public, but you should review the source's policies. |

### Related actors

Browse the full [ParseForge collection](https://apify.com/parseforge?fpr=vmoqkp) for more scrapers.

🆘 **Need help?** Email parseforge@protonmail.com with your run ID, your input, and what you expected.

⚠️ **Disclaimer.** This Actor is unofficial and is not affiliated with, endorsed by, or sponsored by Etherscan. It collects only publicly available data. You are responsible for using the collected data in compliance with the source's terms of service and applicable data-protection laws, including GDPR, CCPA, and PIPL. Do not use it to collect personal data unlawfully.

# Actor input Schema

## `pollCount` (type: `integer`):

Number of snapshots to collect (one per second).

## `maxItems` (type: `integer`):

How many records to collect per run.

## Actor input object example

```json
{
  "pollCount": 1,
  "maxItems": 10
}
```

# Actor output Schema

## `results` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "pollCount": 1,
    "maxItems": 10
};

// Run the Actor and wait for it to finish
const run = await client.actor("parseforge/etherscan-gas-tracker-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "pollCount": 1,
    "maxItems": 10,
}

# Run the Actor and wait for it to finish
run = client.actor("parseforge/etherscan-gas-tracker-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "pollCount": 1,
  "maxItems": 10
}' |
apify call parseforge/etherscan-gas-tracker-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,parseforge/etherscan-gas-tracker-scraper"
        }
    }
}

```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/1v2uJUNSzK9eG26Iv/builds/mhnDv92osqKTE7z44/openapi.json
