Every carrier quote, read and structured — before the coordinator's eyes touch it.
Keelway runs a Sonnet 4.6 extraction pipeline on every inbound carrier email. Rate, equipment, lane, ETA, and detention terms come out as structured rows in the load_inquiries table — ready for ranking, ready for TMS write-back, ready for the coordinator to act on in one keystroke. No copy-paste. No manual data entry. Works on all 12 carrier email formats including PDF attachments.
The problem with reading 40 carrier emails by hand
When a load posts to DAT or Truckstop, it generates 30–50 carrier email replies within two hours. Each reply needs to be opened, read, and mentally parsed for: What is the rate? Is it all-in or linehaul only? What equipment? Is there a detention assumption buried in paragraph three? Does the ETA work for the consignee window? That is roughly 4–6 minutes of cognitive labor per email. At 40 emails per load and 20 loads per coordinator per day, the math produces a brokerage that is permanently behind.
The problem is compounded by the fact that carriers do not fill out a form. They reply however they reply — which across the industry produces at least 12 recognizable email formats, from the clean dispatcher template to the owner-op text-to-email forward with no punctuation and a rate buried mid-sentence. A coordinator reads these because they have to. Keelway reads them so the coordinator doesn't.
The two-model extraction pipeline
Keelway's rate extraction is not a regex parser or a keyword-matching rule engine. It is a full LLM pipeline tuned for freight-domain extraction, running in two passes.
Sonnet 4.6 — primary extraction
Opus 4.7 — fallback for ambiguous formats
PDF and image attachment extraction
Structured load_inquiries rows
load_inquiries table: offered_rate, equipment_type, origin, destination, available_date, transit_days, detention_rate, layover_assumption, and carrier_contact. Optional fields — team_driver, hazmat_cert, reefer_temp_range — are extracted when present. Every row has a confidence field and a raw_email_id foreign key for auditability.Per-brokerage model tuning
Lane rate distribution from extracted data
What happens to emails with no rate
A meaningful fraction of inbound carrier emails are availability signals, not quotes: Interested, what's the pay? or I have a truck empty in Chicago Thursday, any loads? These emails are classified as availability responses, not rate replies, and routed to a separate queue. Keelway drafts a templated What's your best rate on this lane? reply that the coordinator can send in one click — keeping the conversation moving without leaving the ranked-list view.
TMS write-back on acceptance
When a coordinator accepts a carrier from the ranked list, Keelway writes the accepted carrier, offered rate, equipment, and lane confirmation back to the connected TMS — Tai, McLeod, Aljex, Revenova, Turvo, or Rose Rocket. The raw extraction record persists in the load_inquiries table regardless, giving your operations and finance teams a complete audit log of every carrier who replied and what they quoted on every load. No double entry, no data that only lives in Gmail.
Rate extraction in the context of the full triage workflow
Rate extraction is the first step in Keelway's triage pipeline. Once the rate is structured, the carrier trust score layer applies FMCSA and fraud signals to the same carrier. Both signals feed the composite ranking algorithm that surfaces the top five carriers per load. The full pipeline — extract, score, rank, act — runs in under ten seconds from email receipt. See the end-to-end workflow on the carrier email automation page, or read about how the broker platform connects extraction to TMS write-back, check-calls, and delivery alerting.
Extraction accuracy and the cost of getting it wrong
A misread rate — a $2,300 all-in quote parsed as $2,300 linehaul — is not a minor inconvenience. It propagates to the ranked list, biases the rate percentile calculation, and can produce an acceptance at a rate that destroys margin once the broker adds fuel. Keelway's two-model pipeline with per-brokerage calibration is explicitly designed to keep the error rate low enough that coordinators trust the extracted numbers without cross-checking the raw email on every row. The target is under 2% correction rate by day 60; most brokerages reach it by day 30.
Frequently asked questions
What is carrier rate extraction?+
Carrier rate extraction is the automated process of reading an inbound carrier email and pulling structured data — offered rate, equipment type, lane (origin and destination), estimated pickup and delivery, and any detention or layover assumptions — into a database row without a coordinator reading or retyping the email. Keelway does this on every reply to every posted load using a multi-step LLM pipeline.
Which carrier email formats does Keelway support?+
Keelway's parser handles all 12 carrier email formats we've documented in the field: the dispatcher rate email, the owner-op text-to-email forward, the TMS-generated PDF attachment quote, the copy-paste load board reply, the rate-confirmation-as-inquiry, the template form submission, the negotiation counter embedded in a reply thread, the multi-load rate table, the broken English abbreviated rate (common in owner-op), the auto-reply with rate in the subject line, the load board API notification parsed as email, and the plain-text SMS-to-email. See our post on why carrier quote emails arrive in twelve formats for the full taxonomy.
What happens when the LLM is not confident in the extracted rate?+
Keelway runs a two-model pipeline. The primary extraction model (Sonnet 4.6) attempts the parse. When confidence falls below a tunable threshold — typically on ambiguous formats like multi-load rate tables or deeply embedded reply threads — the extraction job escalates to an Opus 4.7 fallback pass. If both models return low-confidence extractions, the email is flagged for a coordinator review with the best-guess extraction pre-populated. Coordinators correct roughly 2–4% of extractions; each correction trains the brokerage-specific calibration.
Does extraction work on PDF attachments?+
Yes. Rate confirmation PDFs, scanned rate sheets, and formal quote documents sent as attachments are extracted using a document-parsing layer before the LLM pass. Keelway handles standard PDF, image-based PDFs (with OCR), and common trucking TMS rate-con templates from McLeod, Aljex, and Revenova.
What structured fields does Keelway extract?+
The standard extraction schema includes: offered_rate (dollar amount, and whether all-in, linehaul only, or a range), equipment_type, origin_city, origin_state, destination_city, destination_state, available_date, estimated_transit_days, detention_rate (if quoted), layover_assumption, fuel_surcharge_note, and carrier_contact_name. Optional fields extracted when present: team_driver flag, HAZMAT certification mention, reefer temperature range, and partial-load percentage.
How does Keelway handle rate ranges vs. flat quotes?+
Both are stored. When a carrier quotes a range (e.g., $2,200–$2,400 depending on fuel), Keelway stores the floor, ceiling, and midpoint and uses the midpoint for ranking unless your brokerage preferences are set to use floor or ceiling. Range quotes are displayed with a range badge in the ranked list so coordinators know to expect negotiation.
Does extracted data write back to the TMS?+
Yes. Once a coordinator accepts a carrier from the ranked list, Keelway writes the accepted carrier, rate, and lane confirmation back to your TMS — Tai, McLeod, Aljex, Revenova, Turvo, or Rose Rocket. No double entry. The raw extraction record persists in Keelway's load_inquiries table regardless, so you have a full audit log of every carrier who replied and what they quoted.
Can I query historical rate extractions for lane pricing?+
Yes. Keelway's lane history view aggregates extracted rates by origin-destination-equipment corridor, showing you the distribution of carrier quotes over any trailing period. This is the data layer that powers Keelway's rate percentile feature — every new inbound quote is positioned against the trailing distribution on that corridor, so coordinators know whether a $2,300 quote on a Chicago–Atlanta 53' dry van lane is at market, below, or above.
What if a carrier sends an email with no rate at all?+
Carriers who reply without quoting a rate — 'Interested, what's the pay?' type emails — are parsed as availability signals, not rate quotes. They appear in a separate availability queue, not the ranked list. Keelway drafts a templated 'What's your best rate on this lane?' reply that the coordinator can send in one click.
Stop reading carrier emails. Let Keelway extract the data.
See extraction liveRelated
Every extracted carrier is scored 0–100 against FMCSA and fraud signals before hitting the ranked list.
Composite ranking by trust, rate, lane fit, and speed — five rows, one keystroke to accept.
A taxonomy of every carrier email format Keelway encounters in the wild — and why a regex can't handle them.
Parade outbounds for capacity. Keelway triages what already landed in your inbox. Full comparison.