# Evergreen Cargo Tracking Scraper (`muhammetakkurtt/evergreen-cargo-tracking-scraper`) Actor

Extract real-time Evergreen Line shipping data at scale. Track containers, bill of lading and booking numbers in bulk — get container movements, ports, dates and vessel/voyage history. Schedule automated runs or integrate via the Apify API.

- **URL**: https://apify.com/muhammetakkurtt/evergreen-cargo-tracking-scraper.md
- **Developed by:** [Muhammet Akkurt](https://apify.com/muhammetakkurtt) (community)
- **Categories:** Automation, Developer tools, Other
- **Stats:** 1 total users, 1 monthly users, 100.0% runs succeeded, 2 bookmarks
- **User rating**: 5.00 out of 5 stars

## Pricing

from $5.00 / 1,000 tracking 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?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## 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.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

![Evergreen Container Tracking & Shipment Data Scraper — Track by Container, B/L or Booking Number](https://i.postimg.cc/HWN3z7Cf/evergreen-banner.png)

## Evergreen Cargo Tracking Scraper

### What does Evergreen Cargo Tracking Scraper do?

**Evergreen Cargo Tracking Scraper** is an [Apify actor](https://apify.com/actors) that extracts real-time shipment tracking data from [Evergreen Line](https://www.evergreen-marine.com/) (Evergreen Marine), one of the world's largest container shipping lines. Simply enter your tracking numbers — **container numbers**, **B/L (Bill of Lading) numbers**, or **booking numbers** — and the scraper returns structured shipment data ready for analysis or integration.

No coding experience is needed. Paste your numbers, click **Start**, and download the results in JSON, CSV, Excel, or other formats.

### Why scrape Evergreen shipment data?

Manually checking the Evergreen website for container tracking updates is time-consuming, especially when managing multiple shipments across different routes. This actor automates Evergreen cargo tracking so you can:

- 📦 **Monitor shipment status** — Get real-time container movements, ports, vessels and status updates
- 🔄 **Track in bulk** — Track hundreds of containers, B/L numbers, or booking references in a single run
- 📊 **Feed data into dashboards** — Export structured tracking data to Google Sheets, Slack, email, or your own systems via [Apify integrations](https://apify.com/integrations)
- ⏰ **Set up automated tracking** — Schedule periodic runs to monitor shipment progress without manual checks
- 🔗 **Build logistics pipelines** — Use the [Apify API](https://docs.apify.com/api/v2) to integrate Evergreen tracking data into your supply chain management tools

### What data can you extract from Evergreen?

The scraper extracts the following data points from Evergreen's tracking system:

| Data Field | Description | Availability |
|---|---|---|
| **Tracking Number** | The number you submitted | Always |
| **Tracking Type** | Detected number type (`Container`, `BillOfLading`, or `Booking`) | Always |
| **B/L Number** | Bill of Lading number for the shipment | Always |
| **Port of Load / Discharge** | Loading and discharge ports | Always |
| **Vessel / Voyage** | Vessel and voyage on the ocean leg | When available |
| **Receipt / Delivery** | Place of receipt and final delivery | When available |
| **Service Mode & On-board Date** | Service mode and cargo on-board date | When available |
| **Container Number(s)** | Every container behind the number (a B/L can carry several) | Always |
| **Container Size & Current Status** | ISO size and latest status/location for each container | When available |
| **Movement Events** | Each event per container — empty pick-up, received, loaded, discharged, delivered — with date, location, description and vessel | Always |

### How to track Evergreen shipments step by step

1. Go to the [Evergreen Cargo Tracking Scraper](https://apify.com/muhammetakkurtt/evergreen-cargo-tracking-scraper) on Apify Store
2. Click **Try for free** to open the actor in the Apify Console
3. Enter your tracking numbers in the **Tracking Numbers** field — one per line. Container numbers (e.g., `DRYU9684015`), B/L numbers, and booking numbers are all accepted; the type is detected automatically
4. Click **Start** to run the scraper
5. When the run finishes, preview the results in the **Output** tab, or download them as **JSON**, **CSV**, **Excel**, **XML**, **HTML**, or **RSS**

#### Example input

```json
{
  "trackingNumbers": [
    "DRYU9684015"
  ]
}
```

#### Evergreen tracking input parameters

| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| `trackingNumbers` | Array of strings | ✅ Yes | — | The numbers to track. Container numbers, B/L numbers, and booking numbers are all accepted; the type is detected automatically. |

### Evergreen Cargo Tracking Scraper output example

Each tracked number produces one structured item in the dataset, with every container behind it and its full movement history. Here is a shortened example:

```json
{
  "tracking_number": "DRYU9684015",
  "tracking_type": "Container",
  "bl_no": "143655276476",
  "vessel_voyage": "EVER LINKING 1235-071E",
  "port_of_load": "NINGBO, CHINA (CN)",
  "port_of_discharge": "OAKLAND, CA (US)",
  "service_mode": "CY/CY",
  "onboard_date": "SEP-04-2026",
  "container_count": "1",
  "containers": [
    {
      "containerNumber": "DRYU9684015",
      "size": "40' HIGH CUBE DRY CONTAINER",
      "current_status": "Discharged (FCL)",
      "current_location": "OAKLAND, CA (US)",
      "vessel": "EVER LINKING 1235-071E",
      "events": [
        { "date": "AUG-26-2026", "location": "NINGBO, CHINA (CN)", "description": "Empty pick-up by merchant haulage", "vessel": "" },
        { "date": "SEP-04-2026", "location": "NINGBO, CHINA (CN)", "description": "Loaded (FCL) on vessel", "vessel": "EVER LINKING 1235-071E" },
        { "date": "SEP-24-2026", "location": "OAKLAND, CA (US)", "description": "Discharged (FCL)", "vessel": "EVER LINKING 1235-071E" }
      ]
    }
  ]
}
```

> The actual output includes every container on the shipment with the full movement history. The example above is shortened for clarity. You can download the complete dataset in **JSON**, **CSV**, **Excel**, and other formats from the **Output** tab.

### Integrations and Evergreen tracking API

Evergreen Cargo Tracking Scraper is built on the [Apify platform](https://apify.com/), which gives you powerful options to automate and integrate your cargo tracking workflow:

- **API access** — Call the actor programmatically via the [Apify API](https://docs.apify.com/api/v2) to track shipments from your own applications
- **Scheduled runs** — Set up [scheduled recurring runs](https://docs.apify.com/platform/schedules) to monitor shipment progress daily, hourly, or at any interval
- **Webhooks** — Receive notifications when a tracking run finishes so you can trigger downstream processes
- **Integrations** — Connect tracking results to [Google Sheets](https://apify.com/integrations/google-sheets), [Slack](https://apify.com/integrations/slack), [Zapier](https://apify.com/integrations/zapier), [Make](https://apify.com/integrations/make), and [many more](https://apify.com/integrations)
- **Data formats** — Download results in JSON, CSV, Excel, XML, HTML, or RSS

This makes Evergreen Cargo Tracking Scraper a drop-in solution for supply chain management systems, logistics dashboards, and automated shipping notifications.

### Frequently asked questions

#### Is it legal to scrape Evergreen?

Our scrapers are ethical and do not extract any private user data. They only extract publicly available shipment tracking information that any visitor can access on the Evergreen website. We therefore believe that our scrapers, when used for ethical purposes by Apify users, are safe. However, you should be aware that your results could contain data related to commercial shipments. If you're unsure about your use case, consult your legal team.

#### Can I track multiple shipments at once?

Yes. Enter as many tracking numbers as you need in the **Tracking Numbers** field — one per line. The scraper processes them in parallel batches for maximum speed and uses automatic IP rotation to handle rate limits.

#### What types of tracking numbers are supported?

The scraper accepts three types of numbers through the same field and detects the type automatically:

- **Container numbers** — ISO 6346 format (4 letters + 7 digits, e.g., `DRYU9684015`)
- **B/L (Bill of Lading) numbers** — Evergreen B/L reference numbers
- **Booking numbers** — Evergreen booking reference numbers

#### What if a tracking number is not found?

If a number returns no tracking data from Evergreen's system, the scraper logs a warning and skips it. You are not charged for numbers that return no results.

#### How do I get support or report issues?

If you encounter any issues or have questions about the Evergreen Cargo Tracking Scraper, you can:

- Open an issue on the [Issues tab](https://apify.com/muhammetakkurtt/evergreen-cargo-tracking-scraper/issues) of the actor page
- Reach out to the developer for a custom solution based on your specific tracking needs

We welcome all feedback and feature requests!

# Actor input Schema

## `trackingNumbers` (type: `array`):

The numbers to track — one per line. Container numbers, bill-of-lading numbers and booking numbers are all accepted; the type is detected automatically.

## Actor input object example

```json
{
  "trackingNumbers": [
    "DRYU9684015"
  ]
}
```

# Actor output Schema

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

Collected Evergreen shipment tracking data, one item per tracking number

# 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 = {};

// Run the Actor and wait for it to finish
const run = await client.actor("muhammetakkurtt/evergreen-cargo-tracking-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 = {}

# Run the Actor and wait for it to finish
run = client.actor("muhammetakkurtt/evergreen-cargo-tracking-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 '{}' |
apify call muhammetakkurtt/evergreen-cargo-tracking-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,muhammetakkurtt/evergreen-cargo-tracking-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/WOLm8srOUBEMESbdb/builds/dKXRgX9hXPahGnRWv/openapi.json
