# Freight Forwarder List Scraper — Logistics Leads (FIATA) (`mochiboo/freight-forwarder-directory-scraper`) Actor

Build B2B lead lists of freight forwarders & logistics companies worldwide. Scrapes 5,500+ FIATA member firms across 150 countries — company-level data, filter by country. JSON/CSV, no personal contacts.

- **URL**: https://apify.com/mochiboo/freight-forwarder-directory-scraper.md
- **Developed by:** [mochi](https://apify.com/mochiboo) (community)
- **Categories:** Lead generation, Business
- **Stats:** 2 total users, 0 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $4.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.

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

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
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.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use 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

## Freight Forwarder Directory Scraper — logistics companies worldwide (FIATA)

**Get clean, structured data on freight forwarders and logistics companies worldwide** from the FIATA Members Directory (~150 countries, ~5,500 member firms). Filter by **country** and **member type**, export to JSON or CSV, ready for your CRM, spreadsheet, or LLM pipeline. **Company-level B2B data only — no personal contacts.**

Built for anyone who sells **to** freight forwarders — carriers, NVOCCs, cargo insurers, customs brokers, logistics software/TMS vendors, port & warehouse services — plus shippers building a vetted forwarder shortlist by country.

---

### Why this actor

FIATA membership is a quality signal (vetted, association-backed forwarders), but the directory is one country page at a time with no export. This actor turns it into a **clean, country × member-type-filtered, de-duplicated feed**, on demand and pay-per-result. There's no comparable freight-forwarder directory feed on the market.

### What you get per company

Company-level fields only:

- **Company:** name, FIATA member type (Individual Member / Association Member / Affiliate Member)
- **Location:** country, postal address
- **Contact (company-level):** website, phone, and a generic role email when one is published (personal/named emails are filtered out)

> **No personal data.** This actor returns only company-level information. The source lists "Responsible persons" (named individuals) on each profile — **this actor strips that entirely** and never emits a person's name, title, or personal email. Only generic role mailboxes (e.g. `info@…`) are ever kept.

---

### Input

| Field | Type | What it does |
|---|---|---|
| `countries` | list | One or more countries. Empty = all (~150). Accepts full names (`Singapore`), ISO-2 codes (`sg`), or aliases (`usa`, `uk`, `uae`). |
| `memberTypes` | multi-select | Individual / Association / Affiliate Member. Empty = all. |
| `maxResults` | integer | Cap the run (small number = cheap test). `0` = no limit (~5,500). |

#### Example input

```json
{ "countries": ["sg", "de", "ae"], "memberTypes": ["Individual Member"], "maxResults": 500 }
````

#### Example output (one record)

```json
{
  "name": "ACCESS WORLD SINGAPORE",
  "memberType": "Individual Member",
  "country": "Singapore",
  "address": "160 Robinson Road, #31-01, SBF Centre, 068914 SINGAPORE",
  "phone": "+65 6547 0233",
  "website": "http://www.accessworld.com",
  "url": "https://fiata.org/directory/sg/",
  "source": "fiata.org",
  "scrapedAt": "2026-05-24T02:00:00.000Z"
}
```

***

### How it works (and how it stays compliant)

- Reads **public, non-login** country directory pages — results served **on demand** for your run.
- Honours `robots.txt`; polite, rate-limited requests with an identifying User-Agent.
- **Company-level only**; the "Responsible persons" (named individuals) block is stripped — to keep your use PDPA/GDPR-friendly.
- You are responsible for using the extracted data in compliance with the source's terms and applicable law in your jurisdiction.

### Pricing

Pay-per-result — you only pay for the companies you actually get. Run a small `maxResults` first to preview.

***

*Keywords: freight forwarder directory, freight forwarder list, FIATA members scraper, FIATA directory, freight forwarders by country, logistics B2B leads, logistics company database, customs broker list, NVOCC directory, shipping company database, supply chain companies data, 3PL directory, international freight companies.*

# Actor input Schema

## `countries` (type: `array`):

One or more countries. Leave empty for ALL (~150 countries). Accepts full names ("Singapore", "Germany"), ISO-2 codes ("sg", "de"), or aliases ("usa", "uk", "uae").

## `memberTypes` (type: `array`):

One or more FIATA member types. Leave empty for ALL.

## `maxResults` (type: `integer`):

Stop after this many companies. Use a small number for a cheap test run. 0 = no limit (~5,500 total).

## `maxConcurrency` (type: `integer`):

Maximum parallel country-page requests. Kept low by default to be polite to the source.

## Actor input object example

```json
{
  "countries": [],
  "memberTypes": [],
  "maxResults": 200,
  "maxConcurrency": 4
}
```

# 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("mochiboo/freight-forwarder-directory-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("mochiboo/freight-forwarder-directory-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 '{}' |
apify call mochiboo/freight-forwarder-directory-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=mochiboo/freight-forwarder-directory-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Freight Forwarder List Scraper — Logistics Leads (FIATA)",
        "description": "Build B2B lead lists of freight forwarders & logistics companies worldwide. Scrapes 5,500+ FIATA member firms across 150 countries — company-level data, filter by country. JSON/CSV, no personal contacts.",
        "version": "1.0",
        "x-build-id": "oOuAAZm2k6o3EgajQ"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/mochiboo~freight-forwarder-directory-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-mochiboo-freight-forwarder-directory-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/mochiboo~freight-forwarder-directory-scraper/runs": {
            "post": {
                "operationId": "runs-sync-mochiboo-freight-forwarder-directory-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/mochiboo~freight-forwarder-directory-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-mochiboo-freight-forwarder-directory-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "countries": {
                        "title": "Countries",
                        "type": "array",
                        "description": "One or more countries. Leave empty for ALL (~150 countries). Accepts full names (\"Singapore\", \"Germany\"), ISO-2 codes (\"sg\", \"de\"), or aliases (\"usa\", \"uk\", \"uae\").",
                        "default": [],
                        "items": {
                            "type": "string"
                        }
                    },
                    "memberTypes": {
                        "title": "Member types",
                        "type": "array",
                        "description": "One or more FIATA member types. Leave empty for ALL.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "Individual Member",
                                "Association Member",
                                "Affiliate Member"
                            ]
                        },
                        "default": []
                    },
                    "maxResults": {
                        "title": "Max results",
                        "minimum": 0,
                        "maximum": 20000,
                        "type": "integer",
                        "description": "Stop after this many companies. Use a small number for a cheap test run. 0 = no limit (~5,500 total).",
                        "default": 200
                    },
                    "maxConcurrency": {
                        "title": "Advanced: max concurrency",
                        "minimum": 1,
                        "maximum": 12,
                        "type": "integer",
                        "description": "Maximum parallel country-page requests. Kept low by default to be polite to the source.",
                        "default": 4
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
