FMC Oti Scraper avatar

FMC Oti Scraper

Deprecated

Pricing

from $10.20 / 1,000 results

Go to Apify Store
FMC Oti Scraper

FMC Oti Scraper

Deprecated

The full FMC registry of licensed Ocean Transportation Intermediaries: every US and foreign NVOCC and ocean freight forwarder, with license number, renewal date, surety bond and amount, qualifying individuals and address. Filter for compliance and partner vetting, or look up an OTI by number.

Pricing

from $10.20 / 1,000 results

Rating

0.0

(0)

Developer

Norm Data

Norm Data

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Categories

Share

Norm Data

🚢 FMC OTI Scraper

Get the full FMC registry of licensed Ocean Transportation Intermediaries with no API key and no login. Every NVOCC and ocean freight forwarder, US and foreign, licensed or bonded with the Federal Maritime Commission: about 9,800 entries with license number, license renewal date, surety bond company and amount, qualifying individuals, trade names, country and full address.

🎯 Who uses it?

🛡️ OTI compliance and partner vetting teams

Before you tender cargo to an NVOCC or forwarder, confirm it is licensed or bonded, read its bond amount and surety, and see who its qualifying individual is.

📋 KYB and onboarding teams

Screen a counterparty against the federal registry and keep the license number, bond and address on file.

🔔 Renewal and risk monitors

Pull every OTI whose license renewal is due within your window, or already overdue, for a renewal-outreach or risk list.

📇 Logistics B2B sales

Build a targeted list of NVOCCs or forwarders by state, country or bond size, with phone and officer names.

📊 Surety and insurance researchers

Rank surety companies by how many OTI bonds they write and for what amounts.

✨ What it does

  • Search: filter the registry by name, OTI type, US state, country, US vs foreign, city, surety company, qualifying individual, bond amount, or license renewal date.
  • Look up: resolve exact FMC organization numbers, license numbers, or company names, one row per identifier. An identifier that doesn't resolve comes back as its own error row.
  • License renewal tracking: renewal date, days to renewal, and a renewal status of current, due soon, or overdue.
  • The foreign NVOCC angle: isolate non-US NVOCCs, the group the FMC advises checking most carefully, and flag the bonded-only ones that hold no FMC license.

Missing source values are returned as null, never invented.

🏆 Why this scraper

  • Surety bond company and amount, on every row. The NVOCC bond and the forwarder bond, each with its surety company, bond number, amount and effective date, the field a party vetting an intermediary actually needs.
  • License renewal tracking built in. Renewal date, days to renewal, and a current/due-soon/overdue status, so you can build an expiring-license watch list in one run.
  • Qualifying individuals. The named people the FMC holds responsible for each licensed OTI, with their titles, not just a company name.
  • Complete in one request. The whole registry, about 9,800 entries, comes back in one keyless request, no pagination.
  • No API key, no login, no browser. Reads only what the FMC publishes.

⚖️ How it compares

CapabilityThis actorOther FMC / OTI data on Apify
Full licensed OTI registry, one row per intermediaryyesrare
NVOCC and ocean freight forwarder in one datasetyesno
Surety bond company + amount + effective dateyesno
License renewal date + overdue flagyesno
Foreign vs US, foreign-NVOCC and unlicensed filtersyesno
Qualifying individuals with titlesyesno
Trade names (DBA)yesno
Look up by organization or license numberyesno

📦 What data you get

EntityUseful fields
IdentityOrganization number, legal name, trade names (DBA), OTI type (NVOCC / freight forwarder).
LicenseLicense number, licensed flag, renewal date, days to renewal, renewal status.
LocationCountry, US-based flag, foreign-NVOCC flag, full address, state, phone.
BondsNVOCC and freight-forwarder bond, each with surety company, bond number, amount and effective date, plus a combined total.
PeopleQualifying individuals with their titles.

Every record includes scraped_at (UTC) and a link to the FMC's public OTI list page. Download your dataset from Apify as CSV, JSON, or Excel.

💡 Use cases

🔔 NVOCCs in Florida renewing soon

{ "mode": "search", "state": ["FL"], "otiType": "nvocc", "renewalDueInDays": 180, "maxItems": 100 }

🌎 Foreign NVOCCs with a bond on file

{ "mode": "search", "foreignNvoccOnly": true, "hasBond": true, "maxItems": 500 }

📊 Every OTI bonded by one surety company

{ "mode": "search", "suretyCompany": "Avalon Risk Management", "maxItems": 1000 }

🔎 Look up a batch

{ "mode": "lookup", "identifiers": ["027971", "019738", "CROWLEY"] }

⚙️ How the input is organised

SectionWhat it's for
ModeSearch or Look up.
Search filtersName, OTI type, state, country, based-in, city, foreign-NVOCC and unlicensed flags, surety company, qualifying individual, bond amount range, and renewal date window.
Look upOrganization numbers, license numbers, or company names to resolve.

Apify Free plan: every run is limited to a fixed 10-row sample. Upgrade your Apify plan to run your own settings.

💰 Pricing

Pay-per-event: a one-time 0.003 when the run starts, plus a price per result saved to your dataset. The price depends on your Apify plan tier:

Your Apify planPrice per result
Free0.012
Bronze0.0114
Silver0.0108
Gold / Platinum / Diamond0.0102

Approximate total cost (includes the 0.003 start fee):

Results collectedFreeBronzeSilverGold+
100$1.20$1.14$1.08$1.02
1,000$12.00$11.40$10.80$10.20
10,000$120.00$114.00$108.00$102.00

New Apify accounts start with $5 in free credit.

🚀 Run it

  1. Create a free Apify account with $5 in credit.
  2. Open the FMC Oti Scraper.
  3. Fill in the input (or keep the prefilled example), set the maximum number of results, then click Start.
  4. Export the results as CSV, Excel, JSON, or XML from the Dataset tab.

Run it programmatically through the Apify API (run-sync-get-dataset-items) or the ApifyClient for JavaScript and Python, and schedule it with Apify's built-in Scheduler.

🤖 Use with AI agents (MCP)

Give an AI agent live access to the FMC Oti Scraper through the Model Context Protocol:

claude mcp add --transport http apify "https://mcp.apify.com?tools=normdata/fmc-oti-scraper"

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

🔧 Troubleshooting

A foreign NVOCC shows licensed: false and no license number. Correct, not missing data: non-US NVOCCs may operate bonded without an FMC license.

A Look up identifier returned an error: "not found" row. Check the FMC organization number or license number, or try the company name.

My search returned 0 results. Filters combine with AND. Remove bond amount or renewal date filters first.

❓ FAQ

QuestionAnswer
What's an OTI?An Ocean Transportation Intermediary: an NVOCC or an ocean freight forwarder licensed or bonded with the US FMC.
Can I track license renewals?Yes, every row has the renewal date, days to renewal, and a current / due soon / overdue status.
Does it include surety bond details?Yes, surety company and bond amount.
Do I need an API key?No.

🛡️ Limits & responsible use

This Actor reads only the FMC's own public OTI registry. It never signs in and never accesses anything gated behind an account.

Non-US NVOCCs may operate bonded without an FMC license; those show a false licensed flag and a null license number, which is correct, not missing data. An unresolved look-up identifier still writes one error: "not found" row rather than failing the run. The registry updates on the FMC's own schedule, roughly monthly, so it is not real-time.

📧 Contact

Need a scraper for a different site, or found something wrong with this one? norm.data.scrapers@gmail.com

🧪 Local development

bun install
bun test # offline: parsing, normalisation, input logic
bun run src/main.ts # reads storage/key_value_stores/default/INPUT.json
bun scripts/verify-live.mjs # hits www2.fmc.gov directly, checks every mode