# Macrostrat Geology Units Scraper (`parseforge/macrostrat-geology-units-scraper`) Actor

Pull the full geologic column for any latitude and longitude from Macrostrat. Returns unit and formation names, top and bottom ages in millions of years, lithology, depositional environment, mapped thickness, and column id. Search by point or stratigraphic name for research and mapping.

- **URL**: https://apify.com/parseforge/macrostrat-geology-units-scraper.md
- **Developed by:** [ParseForge](https://apify.com/parseforge) (community)
- **Categories:** AI, Developer tools, Other
- **Stats:** 3 total users, 1 monthly users, 94.1% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.00 / 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/platform/actors/running/actors-in-store#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 Banner](https://github.com/ParseForge/apify-assets/blob/ad35ccc13ddd068b9d6cba33f323962e39aed5b2/banner.jpg?raw=true)

## 🪨 Macrostrat Geology Units Scraper

> 🚀 **Export the full geologic column for any location in seconds.** Drop a latitude/longitude and pull back every stacked rock unit with names, ages, lithology and depositional environment, ready as CSV, Excel, JSON or XML.

Macrostrat is a community geologic database that stitches together stratigraphic columns from across North America and beyond. This Actor turns that database into clean, structured rows: give it a point on the map (or a stratigraphic name) and it returns every geologic unit in that column, from the youngest surface formation down to the deepest mapped layer, with absolute ages in millions of years (Ma), rock type, depositional environment, mapped thickness and the official display color.

**Coverage:** Any location served by the Macrostrat column model (dense coverage across the United States, with growing global columns). A single query near Madison, Wisconsin returns 15 units spanning roughly 458 to 1100+ million years, ideal for testing before scaling out.

| 🎯 Target Audience | 💡 Primary Use Cases |
|---|---|
| Geologists, geoscience students, GIS analysts, data journalists, EdTech builders, environmental and resource consultants | Building geologic profiles, populating maps and dashboards, age dating a site, lithology lookups, teaching stratigraphy, enriching environmental reports |

### 📋 What the Macrostrat Geology Units Scraper does

- Accepts a **latitude/longitude** point and returns every geologic unit in the Macrostrat column at that location.
- Alternatively accepts a **stratigraphic name** (formation/group) to pull all matching units across columns.
- Extracts **unit and formation/group names**, **top and bottom ages in Ma**, **lithology**, **depositional environment**, **mapped thickness**, **column id and area**, **center coordinates** and the official **display color**.
- Outputs flat, analysis-ready rows. Download as CSV, Excel, JSON or XML, or pull via API.

### 📊 Data fields

Each record includes: `bottomAgeMa`, `color`, `columnAreaKm2`, `columnId`, `depositionalEnvironment`, `formation`, `group`, `lithology`, `results`, `scrapedAt`, `topAgeMa`, `unitName`. These field names come straight from the actor's dataset schema, so what you see here is what lands in your dataset.

### 🚀 How to use

1. **Sign up** for a free Apify account with this [referral link](https://console.apify.com/sign-up?fpr=vmoqkp).
2. Open the **Macrostrat Geology Units Scraper** and go to the input tab.
3. Enter a **latitude** and **longitude** (or a **stratigraphic name**) and set **Max Items**.
4. Click **Start** and watch the geologic column fill in.
5. **Download** your dataset as CSV, Excel, JSON or XML, or grab it via the API.

### 🔗 Recommended Actors

Browse more open-data and research scrapers in the [ParseForge collection](https://apify.com/parseforge) — including geospatial, scientific and public-records tools that pair well with geologic data.

> 💡 **Pro Tip:** browse the complete [ParseForge collection](https://apify.com/parseforge).

> **⚠️ Disclaimer:** independent tool, not affiliated with Macrostrat. Only publicly available data collected.

### 🆘 Need Help?

If you hit a bug, have questions about setup, or need a scraper we haven't built yet, open our [contact form](https://tally.so/r/BzdKgA) or write to parseforge@protonmail.com. We also take on paid custom data projects.

For faster answers, join our [Discord](https://parseforge.co/discord). It's the best place to get support and suggest new actors.

# Actor input Schema

## `lat` (type: `string`):

Latitude of the location to query (decimal degrees, WGS84). Returns all geologic units in the Macrostrat column at this point.

## `lng` (type: `string`):

Longitude of the location to query (decimal degrees, WGS84).

## `stratName` (type: `string`):

Optional. Look up units by formation/group name (e.g. 'Mancos', 'St Peter') instead of by location. When set, lat/lng are ignored.

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

How many units to collect per run.

## Actor input object example

```json
{
  "lat": "43",
  "lng": "-89.3",
  "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 = {
    "lat": "43",
    "lng": "-89.3",
    "maxItems": 10
};

// Run the Actor and wait for it to finish
const run = await client.actor("parseforge/macrostrat-geology-units-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 = {
    "lat": "43",
    "lng": "-89.3",
    "maxItems": 10,
}

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

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

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

```

## CLI example

```bash
echo '{
  "lat": "43",
  "lng": "-89.3",
  "maxItems": 10
}' |
apify call parseforge/macrostrat-geology-units-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=parseforge/macrostrat-geology-units-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/2vUeecWTpYsqO8KsX/builds/84VJVzhVQZocdgRa1/openapi.json
