DAT Freight Rates Scraper avatar

DAT Freight Rates Scraper

Pricing

from $0.01 / 1,000 dat record extracteds

Go to Apify Store
DAT Freight Rates Scraper

DAT Freight Rates Scraper

🚚 Extract public DAT Trendlines freight rates, load-to-truck ratios, regional rates, state ratios, and diesel fuel prices for logistics analytics.

Pricing

from $0.01 / 1,000 dat record extracteds

Rating

0.0

(0)

Developer

Stas Persiianenko

Stas Persiianenko

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

6 days ago

Last modified

Categories

Share

Extract public DAT Trendlines freight market data for logistics analytics, broker pricing, shipper benchmarking, and trucking market monitoring.

The actor collects spot and contract rates, load-to-truck ratios, regional rates, state/province demand signals, national trend changes, and diesel fuel prices from DAT's public Trendlines experience.

What does DAT Freight Rates Scraper do?

DAT Freight Rates Scraper turns the public DAT Trendlines pages into structured JSON records.

It is designed for recurring freight market monitoring.

It can extract:

  • 🚚 Van, reefer, and flatbed market data
  • πŸ“ˆ National monthly spot rates
  • πŸ“‰ National monthly contract rates
  • βš–οΈ Load-to-truck ratios
  • πŸ—ΊοΈ State and province demand/capacity ratios
  • 🌎 Regional rate-per-mile values
  • β›½ Diesel fuel prices
  • πŸ” Week-over-week, month-over-month, and year-over-year changes

Who is it for?

Freight brokers use it to monitor pricing conditions before quoting lanes.

Dispatchers use it to understand equipment-specific market tightness.

Shippers use it to benchmark current conditions against recent months.

Logistics analysts use it to feed BI dashboards and recurring reports.

Freight tech teams use it to enrich internal pricing and planning workflows.

Why use this scraper?

DAT Trendlines is useful but not packaged as a clean export for automation.

This actor provides repeatable extraction without manual copying.

It normalizes multiple DAT widgets into one dataset.

It includes source URLs and scrape timestamps for auditing.

It avoids paid DAT products and uses only public Trendlines data.

What data can you extract?

Data groupExample records
Snapshot trendsVan spot rate YoY change, national load postings WoW
National ratesVan spot all-in rate by month
Load/truck historyReefer monthly ratio and recent weekly ratios
State ratiosCA van loads, trucks, and load-to-truck ratio
Regional ratesWest flatbed trip rate per mile
Fuel priceLatest diesel price per gallon

Output fields

FieldDescription
recordTypeDataset group such as nationalRates or regionalRates
equipmentTypeVAN, REEFER, or FLATBED
metricHuman-readable metric name
periodMonth, week, or date when available
periodTypemonth, week, year, or current
rateTypeSPOT or CONTRACT
countryCountry code when applicable
regionCodeDAT region code
regionNameFriendly region label
stateCodeState or province code
stateCodesStates included in a region
loadCountPublic DAT load count signal
truckCountPublic DAT truck count signal
loadToTruckRatioDemand/capacity ratio
rateUsdLinehaul rate in USD
fuelSurchargeUsdFuel surcharge in USD
allInRateUsdRate plus fuel surcharge or regional trip rate
fuelPriceUsdPerGallonDiesel price per gallon
percentChangeTrend change percentage
sourceUrlSource endpoint/page
scrapedAtISO scrape timestamp

How much does it cost to scrape DAT freight rates?

The actor uses pay-per-event pricing.

There is no separate start fee in the current platform pricing. Billing is based on DAT records written to the dataset.

The current BRONZE per-record price is about $0.000020117, with lower per-record prices on higher Apify subscription tiers.

Small monitoring runs can limit maxItems.

Full Trendlines runs usually produce hundreds of records, so increase maxItems above the cheap default when you want the complete public Trendlines export.

Always check the Apify run cost and output count for your exact configuration.

How to use DAT Freight Rates Scraper

  1. Open the actor on Apify.
  2. Choose one or more equipment types.
  3. Choose the DAT Trendlines datasets you need.
  4. Keep the default maxItems of 20 for a cheap smoke test, or increase it for a complete public Trendlines export.
  5. Start the actor.
  6. Export JSON, CSV, Excel, or connect the dataset to your workflow.

Input options

Equipment types

Select VAN, REEFER, FLATBED, or all three.

Datasets

Choose from snapshot trends, national rates, load/truck history, state ratios, regional rates, and fuel price.

Maximum records

Use maxItems to control spend or sample a subset.

Raw data

Turn on includeRawData only when debugging.

Example input

{
"equipmentTypes": ["VAN", "REEFER", "FLATBED"],
"datasets": [
"snapshotTrends",
"nationalRates",
"loadTruckHistory",
"stateLoadTruckRatios",
"regionalRates",
"fuelPrice"
],
"maxItems": 500,
"includeRawData": false
}

Example output

{
"recordType": "nationalRates",
"equipmentType": "VAN",
"metric": "spot all-in national rate",
"period": "2026-05",
"periodType": "month",
"rateType": "SPOT",
"country": "US",
"rateUsd": 1.68,
"fuelSurchargeUsd": 0.5,
"allInRateUsd": 2.18,
"sourceUrl": "https://analytics.api.dat.com/v2/trendlines/nationalHistory",
"scrapedAt": "2026-06-28T00:00:00.000Z"
}

Tips for freight analytics

Run the actor daily or weekly to capture a time series snapshot.

Filter by recordType before loading dashboards.

Use equipmentType to separate van, reefer, and flatbed markets.

Use allInRateUsd for quick benchmark comparisons.

Use loadToTruckRatio to detect tighter capacity markets.

Integrations

Export the Apify dataset to Google Sheets for broker teams.

Send results to a warehouse such as BigQuery, Snowflake, or Postgres.

Trigger a Make or Zapier workflow when the actor run finishes.

Use Apify webhooks to notify pricing analysts after each scrape.

Combine results with internal tender, quote, and shipment data.

API usage

Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('automation-lab/dat-freight-rates-scraper').call({
equipmentTypes: ['VAN', 'REEFER'],
maxItems: 300
});
console.log(run.defaultDatasetId);

Python

from apify_client import ApifyClient
client = ApifyClient('MY_APIFY_TOKEN')
run = client.actor('automation-lab/dat-freight-rates-scraper').call(run_input={
'equipmentTypes': ['VAN', 'REEFER'],
'maxItems': 300,
})
print(run['defaultDatasetId'])

cURL

curl -X POST "https://api.apify.com/v2/acts/automation-lab~dat-freight-rates-scraper/runs?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"equipmentTypes":["VAN"],"maxItems":100}'

MCP usage

Use this actor from Claude Desktop, Claude Code, or other MCP clients through Apify MCP.

MCP tool URL:

https://mcp.apify.com/?tools=automation-lab/dat-freight-rates-scraper

Claude Code setup:

$claude mcp add apify-dat-freight-rates https://mcp.apify.com/?tools=automation-lab/dat-freight-rates-scraper

Claude Desktop JSON setup:

{
"mcpServers": {
"apify-dat-freight-rates": {
"url": "https://mcp.apify.com/?tools=automation-lab/dat-freight-rates-scraper"
}
}
}

Example prompts:

  • "Run the DAT freight rates scraper for van and reefer and summarize rate changes."
  • "Extract DAT Trendlines regional rates and show the highest flatbed regions."
  • "Get load-to-truck ratios for all equipment types and create a capacity table."

Scheduling

Create an Apify schedule to run this actor every Monday morning.

Use the dataset export as a weekly freight-market snapshot.

Store each run's dataset ID in your BI pipeline.

Compare output records over time using period, recordType, and equipmentType.

Common workflows

Freight broker rate desk:

  • Run weekly.
  • Export national spot and contract rates.
  • Compare against internal quotes.

Shipper analytics:

  • Run monthly.
  • Monitor allInRateUsd and loadToTruckRatio.
  • Flag volatile regions.

Carrier operations:

  • Run daily.
  • Track state/province demand signals.
  • Prioritize markets with higher load-to-truck ratios.

Data freshness

DAT controls the update cadence of the public Trendlines app.

The actor captures whatever public data is available at run time.

Each record includes scrapedAt for auditability.

Period fields show the DAT month, week, or current snapshot where available.

Limitations

This actor does not log into DAT.

It does not scrape paid RateView, Market Conditions, or private account data.

It only extracts public DAT Trendlines data.

If DAT changes the public app endpoints, the actor may need an update.

Legality

This actor collects publicly available web data.

You are responsible for using the data in accordance with applicable laws, DAT terms, and your internal compliance policies.

Do not use the actor to access private accounts or paid DAT products.

FAQ

Is this an official DAT API?

No. This actor extracts public DAT Trendlines data exposed by DAT's public web experience.

Does it access paid DAT tools?

No. It avoids authenticated DAT products and paid RateView or Market Conditions account areas.

Troubleshooting

Why did I get fewer records than expected?

Check maxItems. The actor stops when the cap is reached.

Also confirm that the selected datasets and equipment types include the records you need.

Why are some fields empty?

Different DAT widgets expose different fields. For example, fuel records do not have equipmentType, and state ratio records do not have rates.

Can I scrape one equipment type only?

Yes. Set equipmentTypes to a single value such as ["VAN"].

Explore other Automation Lab actors at https://apify.com/automation-lab/.

Relevant portfolio directions include logistics data, business intelligence, market monitoring, and B2B data extraction.

Support

If DAT changes its public Trendlines app or you need another freight-market field, open an issue on the actor page.

Include your input JSON and run ID so the issue can be reproduced quickly.

Version notes

Version 0.1 focuses on public DAT Trendlines datasets.

Future versions may add additional public freight-market pages if they are stable and commercially useful.

Output quality checklist

Records are normalized.

Numeric values are emitted as numbers.

Every record includes a source URL.

Every record includes a scrape timestamp.

Optional raw payloads are available for debugging.