Data Syndication - for TMS and 3PL Platforms

Add verified carrier data to your platform. Without building it yourself.

FreightForge gives TMS providers and enterprise 3PLs a REST API to embed 200,000+ pieces of capacity, verified carrier dataset - built from live FMCSA data, MOTUS insurance filings and carrier-submitted lane and equipment detail - directly into their existing platform. Disovery is compliance-gated, so you users are never offered a carrier that isn't authorized to operate.

Talk to a partnerView API documentation
Signed REST API + webhooks
Up to 143 fields per carrier
Daily FMCSA refresh
Compliance-gated discovery
Build lookup + async export

Rest API - Carrier Lookup

A single endpoint returns a fully verified carrier profile

Request
GET /v1/carriers/usdot/3506070
Host: api.freightforge.com
X-FF-API-Key: ff_live_9c2b...
X-FF-Timestamp: 1721664000
X-FF-Signature: 4f8e0a... #HMAC-SHA256(method + path + timestamp)
Response - 200 OK
"usdot_number": "3506070",
"legal_name": "EXAMPLE CARRIER LLC",
"operating_authority_status": "Active",
"allowed_to_operate": Yes,
"number_of_power_units": "12",
"equipment_type": "van, reefer",
"origin_zones": ["zone_5"],
"destination_zones": ["zone_5", "zone_7"]
JSON
HMAC-signed
Rate limited
Versioned

Integration Use Cases

Three ways TMS platforms and 3PLs use FreightForge data.

The API is purpose-built for platforms that need verified carrier data inside their existing product, not as a separate tool their users have to leave the platform to access.

Carrier lookup inside your TMS

Pull verified carrier profiles and compliance status directly into your carrier-management module. Your users vet carriers by USDOT or MC number without leaving your platform; FreightForge returns authority, insurance and operating status on every call.

Compliance monitoring via webhooks

Subscribe to carrier events. When a carrier is created, updated, changes operating status or has an insurance change, your endpoint receives a signed payload - so your users are alerted to a status change instead of polling for it.

Batch-audit an existing an existing carrier panel

Submit up to 100 USDOT or MC numbers in one call and get a verified profile — or a structured error — for each. Use it to reconcile a carrier database you already have against live FMCSA data.

API Endpoints

Everything you need to build a carrier data integration.

The FreightForge REST API is versioned, JSON-first, and authenticated with HMAC request signing (or a static bearer token on the free tier). All endpoints return consistently named carrier fields.

GET
/v1/carriers/usdot/{usdot}
Retrieve one verified carrier profile by USDOT number.

usdot_number

GET
/v1/carriers
Filtered, paginated list. Filters: country, carrier_source, equipment, equipment_match_all, min_power_units, max_power_units, zone, origin_zone, destination_zone, lat/lng/radius.

zone

equipment

per_page

page

POST
/v1/carriers/lookup
Bulk lookup, up to 100 USDOT/MC identifiers; profile or structured error per input, in input order.

identifiers*

id_type

POST
/v1/export
Async export as JSON or CSV. Returns job id (202); poll GET /v1/export/{id}, then download. Field selection is available here.

filters

format

fields

GET
/v1/usage
Current rate-limit usage.
GET
/v1/me
Client identity and tier.

filters

format

fields

callback_url

Webhook events
carrier.created
New carrier added
carrier.updated
Profile field change
carrier.status_changed
Operating status change
carrier.insurance_changed
Insurance filing change
At-least-once delivery; retries at 1m / 5m / 15m / 1h / 4h.
Rate Limits
Hourly and daily caps by tier - 100/1,000/5,000/25,000 requests per hour. Responses carry X-RateLimit-Remaining-Hour and -Remaining-Day. Windows rolling.
Authentication
HMAC request signing - sign method+path+timestamp with your API secret; send X-FF-Api-Key, X-FF-Timestamp, X-FF-Signature (5-minute window). Free tier may use a static bearer token. Sandbox available.
Data Freshness
FMCSA authority and insurance fields refresh daily. Webhook delivery is event-driven.

What's in the Data

Up to 143 fields per carrier - sourced, scored, structured, consistently named.

Every profile is built from three authoritative sources: FMCSA federal data (authority, safety, out-of-service history), MOTUS insurance filings, and carrier-submitted lane and equipment preferences. Fields are consistently named. Some profiles are sparse - a typical carrier returns ~90 fields; 19 core fields are on every carrier; the full dictionary spans up to 143.

Carrier Profile Fields

Up to 143 Total

Carrier -submitted

FMCSA auto-populated

FMCSA + MOTUS Insurance

Identity + Authority

company_name

carrier_legal_name

usdot_number

mc_number

operating_authority_status

allowed_to_operate

authority_granted_date

hazmat_indicator

Insurance (FMCSA Legacy + MOTUS)

liability_amount

cargo_amount

insurance_company_name

motus_insurer_name

motus_insurance_coverage_amount

motus_authority_status

Safety + Inspections

safety_rating

oos_status

number_of_oos_events

driver_oos_percentage

vehicle_oos_percentage

accidents_total

Operations + Equipment

number_of_power_units

number_of_drivers

equipment

cargo_carried

carrier_operation

Location + Lanes

city

state_province

company_location_zone

origin_zones

destination_zones

All fields, every request - no field-by-field gating.

Unlike vendors that sell field access separately, every FreightForge API call returns the carrier's full available profile - up to 143 consistently named fields. You build once against one schema and never renegotiate field access as your integration grows.

Consistent field names and types across all endpoints.
Sparse by design - only populated fields are returned; treat a missing key as an empty value.
Versioned API path (/v1).

Partner Types

Three integration paths. Pick the one that fits your platform.

TMS Providers

Embed verified carrier data in your carrier module

Add FMCSA verification and compliance status to your TMS carrier panel without building the data infrastructure. Your users look up and monitor carriers inside your product; FreightForge keeps the data current.

TMS partnership details

Enterprise 3PLs

Monitor carrier compliance at scale

Reconcile your entire carrier panel through the bulk lookup endpoint and subscribe to webhook events, so status and insurance changes reach you as they happen - without dedicated team polling FMCSA.

3PL integration guide

Freight Tech Builders

Build on a verified carrier dataset

Build on a verified carrier dataset: Building a rate engine, load-matching or carrier-relationship tool? Start from a verified, structured carrier dataset instead of building FMCSA ingestion and normalization yourself.

Developer documentation

API Access Tiers

Scaled to your integration complexity and volume.

Basic

3PL operations teams
Single and bulk carrier lookup
Filtered list + async export (JSON/CSV)
Webhook subscriptions
Hourly rate limit (1,000/hr)
IP allowlisting
Talk to us

Professional

TMS platform integrations
Everything in 3PL access
Dedicated sandbox client
Hourly rate limit (5,000/hr)
Technical onboarding support
Talk to a partner

Enterprise

Enterprise freight platforms
Everything in Professional
Hourly rate limit (25,000/hr)
Custom rate limit (higher caps are available by arrangement)
Priority onboarding support
Contact us

Integration Questions

What TMS teams ask before committing to an integration.

How long does a typical TMS integration take to build?

Most live in 2–4 weeks. Lookup + monitoring endpoints are straightforward signed REST calls; most build time is UI on your side. Sandbox available.

What happens if FMCSA data is temporarily unavailable?

FreightForge serves every request from its own maintained dataset, so lookups keep working during FMCSA downtime. For compliance-critical flows use webhook subscriptions over polling.

Is there a separate charge for webhook events?

No - included. Subscribe to the event types you want; signed payload on each qualifying event.

What fields will we receive and what happens when some are missing?

Every call returns the carrier's full available profile - up to 143 consistently named fields, with 19 core fields present on every carrier. Profiles are sparse: only populated fields are returned, so treat a missing key as an empty value rather than expecting a null.

Can we look up carriers by MC number as well as USDOT?

Yes. Single lookups are by USDOT; the bulk lookup endpoint accepts up to 100 USDOT or MC identifiers in one call and returns a verified profile - or a structured error - for each, in the order you sent them.

Is there a sandbox we can build against?

Yes. A sandbox environment mirrors the production API and signed-request model so your team can integrate and test before going live. Contact us for sandbox credentials.

Ready to talk about adding verified carrier data to your platform?

We start with a technical scoping call — your integration engineer and ours, 45 minutes, to understand your platform architecture and map the right integration approach. No commitment required.
What the partner call covers
Your platform stack
Architecture review
Integration approach
Lookup, webhooks or export
Data volume estimate
Sizing + rate limits
Timeline
Typical: 2–4 weeks
Commercial model
Usage-based licensing