# CarrierOk: Full API Reference > CarrierOk is a carrier intelligence API, and this file documents it. It consolidates the FMCSA record on any motor carrier or broker and adds the scoring FMCSA does not publish: all 7 BASIC percentiles, a computed ISS score, 50+ named risk signals, and policy-level insurance history, with monitoring that reports changes the same day. The same record is also delivered through the web app, a Chrome extension, and bulk files. 300+ data fields per record, on every FMCSA registrant, updated throughout the day (source-triggered ingestion). ## Base URL https://api.carrierok.com ## Authentication All requests require an API key passed as a Bearer token: `Authorization: Bearer `. Get a free sandbox key on signup at https://developers.carrierok.com. Sandbox keys return fixture data from 10 hand-picked carriers, useful for evaluation and integration testing. To call live data, activate live access for $50 (applied as $50 of API credit; pay-as-you-go from card on file after). --- ## Carrier Profiles Search 4M+ FMCSA motor carrier and broker profiles by DOT number, MC number, company name, EIN, phone, email, address, VIN, or license plate. Returns all 7 BASIC percentiles, ISS scores, 50+ risk signals, policy-level insurance, and VIN-decoded fleet data. ### GET /v2/profile Look up a carrier by USDOT number Retrieve a carrier profile using its USDOT number. Returns the full carrier profile including identity, authority, safety, BASIC percentiles, ISS scores, risk factors, insurance, fleet, inspections, violations, and crash history. **Parameters:** - `dot_number` (string (required)): The USDOT number assigned to the motor carrier by FMCSA. - `page` (integer): Page number of the result set to retrieve. The default value is set to 1. - `pageSize` (integer): The number of profile ids returned per page. The default value is set to 100. --- ### GET /v2/profile Look up a carrier by MC or MX docket number Retrieve a carrier profile using the MC (Motor Carrier) or MX (Mexico) docket number assigned by FMCSA. **Parameters:** - `docket_number` (string (required)): The MC or MX docket number (e.g., 277621 or MC277621). - `page` (integer): Page number of the result set to retrieve. The default value is set to 1. - `pageSize` (integer): The number of profile ids returned per page. The default value is set to 100. --- ### GET /v2/profile Search carriers by company name Retrieve a list of profile ids with exact or partial matches to a company's legal and Doing Business As (DBA) names, encompassing both current and past legal and DBA names. **Parameters:** - `company` (string (required)): Company name to search for. Supports partial matches. - `page` (integer): Page number of the result set to retrieve. The default value is set to 1. - `pageSize` (integer): The number of profile ids returned per page. The default value is set to 100. --- ### GET /v2/profile Look up a carrier by Employer Identification Number Retrieve a carrier profile using its IRS Employer Identification Number. **Parameters:** - `ein` (string (required)): 9-digit Employer Identification Number. - `page` (integer): Page number of the result set to retrieve. The default value is set to 1. - `pageSize` (integer): The number of profile ids returned per page. The default value is set to 100. --- ### GET /v2/profile Search carriers by email address or domain Retrieve a list of profile ids using an email address to find exact matches or email domain for matches, encompassing both current and past email addresses. **Parameters:** - `email` (string (required)): Email address or domain to search. - `page` (integer): Page number of the result set to retrieve. The default value is set to 1. - `pageSize` (integer): The number of profile ids returned per page. The default value is set to 100. --- ### GET /v2/profile Search carriers by physical address Retrieve a list of profile ids with matches to a physical address, encompassing both current and past addresses. **Parameters:** - `address` (string (required)): Physical address to search. - `page` (integer): Page number of the result set to retrieve. The default value is set to 1. - `pageSize` (integer): The number of profile ids returned per page. The default value is set to 100. --- ### GET /v2/profile Search carriers by phone number Retrieve a list of profile ids with matches to a phone number, encompassing both current and past phone numbers on file. **Parameters:** - `phone` (string (required)): Phone number to search (digits only or formatted). - `page` (integer): Page number of the result set to retrieve. The default value is set to 1. - `pageSize` (integer): The number of profile ids returned per page. The default value is set to 100. --- ### GET /v2/profile Look up carriers associated with a Vehicle Identification Number Retrieve carrier profiles associated with a VIN. Returns NHTSA-decoded vehicle details (make, model, year, fuel type, GVWR) alongside the carrier profile. Includes inspection history for the specific vehicle. **Parameters:** - `vin` (string (required)): 17-character Vehicle Identification Number. - `page` (integer): Page number of the result set to retrieve. The default value is set to 1. - `pageSize` (integer): The number of profile ids returned per page. The default value is set to 100. --- ### GET /v2/profile Look up carriers associated with a license plate number Retrieve carrier profiles associated with a license plate number. Optionally filter by state. **Parameters:** - `plate_number` (string (required)): License plate number. - `plate_state` (string): Two-letter state code to narrow plate search. - `page` (integer): Page number of the result set to retrieve. The default value is set to 1. - `pageSize` (integer): The number of profile ids returned per page. The default value is set to 100. --- ### GET /v2/profile Look up carriers associated with a fleet unit number Retrieve carrier profiles associated with a fleet unit number. Optionally filter by unit type (truck or trailer). **Parameters:** - `unit_number` (string (required)): Fleet unit number. - `unit_type` (string): TRUCK or TRAILER filter. - `page` (integer): Page number of the result set to retrieve. The default value is set to 1. - `pageSize` (integer): The number of profile ids returned per page. The default value is set to 100. --- ### GET /v2/profile-lite Lightweight carrier lookup Returns a reduced field set optimized for high-volume integrations, browser extensions, and quick lookups. Same search parameters as /v2/profile. Metered per unique DOT number per calendar month. **Parameters:** - `dot_number` (string): USDOT number - `docket_number` (string): MC or MX docket number - `company` (string): Company name (partial match) - `ein` (string): Employer Identification Number - `email` (string): Contact email address - `phone` (string): Phone number - `address` (string): Physical address - `vin` (string): Vehicle Identification Number - `plate_number` (string): License plate number - `page` (integer): Page number of the result set to retrieve. The default value is set to 1. - `pageSize` (integer): The number of profile ids returned per page. The default value is set to 100. --- ### GET /v2/autocomplete Carrier typeahead search Lightweight prefix search returning minimal carrier identity for typeahead interfaces. Minimum query length of 2 characters. Results are cached for 5 minutes. **Parameters:** - `q` (string (required)): Search query (minimum 2 characters). - `limit` (integer): Maximum number of results (max: 15). --- ### GET /v2/profile-fmcsa Consolidated FMCSA data for one carrier Consolidated FMCSA registration, authority, safety, inspection, crash, and insurance-adequacy data for a single carrier — 236 fields drawn from FMCSA sources, with no CarrierOk-derived risk intelligence. Every response carries the full fixed field set (null where FMCSA has no value), so the schema is stable across carriers. Lookups by dot_number or docket_number only (GET). A dot_number lookup returns exactly one record per carrier — the live registration, deduplicated across any lapsed dockets. Billed per request: a matched lookup bills once; a 404 (no carrier found) is free, and upstream data-store failures return an unbilled 503 (retry) — never a false 404. **Parameters:** - `dot_number` (string): The USDOT number assigned to the motor carrier by FMCSA. Provide dot_number or docket_number. - `docket_number` (string): The MC or MX docket number (e.g., 277621 or MC277621). Provide dot_number or docket_number. --- ## Carrier Monitoring Add carriers to a watchlist and receive same-day alerts on authority, insurance, safety, fleet, contact, and risk factor changes. Filter and paginate monitored carriers by change type and date range. ### POST /v2/monitoring/add Add carriers to monitoring Add carrier profiles to the monitoring watchlist. Plan-capped callers are validated against their plan's profile limit. OEM (consumption-billed) callers may submit up to 20,000 profile_ids per request; each unique monitored profile is billed once per calendar month under the configured per-profile rate. Removing mid-month does not refund; re-adding the same profile in the same month is free (idempotent). Billing is eventually consistent — the response returns 202 once the watchlist is committed and meter events are queued. **Request Body:** - `profile_ids` (string[] (required)): Array of carrier profile IDs to monitor (max 20,000 per request for OEM callers) --- ### POST /v2/monitoring/remove Remove carriers from monitoring Remove carrier profiles from the monitoring watchlist. Removal is free for OEM callers and does not refund the current month's billing. Up to 20,000 profile_ids per request for OEM callers. **Request Body:** - `profile_ids` (string[] (required)): Array of carrier profile IDs to remove (max 20,000 per request for OEM callers) --- ### GET /v2/monitoring/list List monitored carriers with change tracking Returns a paginated list of monitored carriers with optional filtering by change type (insurance, authority, safety, fleet, contact, risk), date range, and sort order. Supports granular change visibility flags. **Parameters:** - `page` (integer): Page number - `pageSize` (integer): Results per page (clamped to 500 max) - `view_changes` (boolean): Filter to profiles with any changes - `view_changes_insurance` (boolean): Filter to insurance changes - `view_changes_authority` (boolean): Filter to authority changes - `view_changes_safety` (boolean): Filter to safety changes - `view_changes_fleet` (boolean): Filter to fleet changes - `view_changes_contact` (boolean): Filter to contact changes - `view_changes_risk` (boolean): Filter to risk factor changes - `date_type` (string): Date field to filter: last_changed_date, started_monitoring_at, last_acknowledged_at, mcs150_date_current, latest_review_date_current, safety_rating_date_current, last_crash_date_current, insurance_pending_cancel_date_current. started_monitoring_at and last_acknowledged_at are timestamps, and their bounds cut on the UTC calendar day - `date_min` (string): Earliest date to include, inclusive (YYYYMMDD format). Requires date_type. May be sent without date_max. When a view_changes_* filter is set, also send view_changes=true. - `date_max` (string): Latest date to include, inclusive (YYYYMMDD format). Requires date_type. May be sent without date_min. When a view_changes_* filter is set, also send view_changes=true. - `sortBy` (string): Sort field - `sortOrder` (string): Sort direction: asc or desc - `profile_id` (string): Filter to a single profile --- ## Pricing Pay-as-you-go. No tiers, no monthly minimums, no commitments. - **Sandbox**: Free with signup. Fixture data from 10 hand-picked carriers. For evaluation and integration testing. No card required. - **Live API**: $50 activation, applied as $50 of API credit. After the credit, billing is usage-based from card on file: full profiles priced per unique carrier per month, not per call. Coverage: US, Canada, and Mexico-domiciled FMCSA registrants. - **Volume / OEM**: Negotiated rates for high-volume customers. Contact sales. ## Links - Website: https://www.carrierok.com - Developer portal: https://developers.carrierok.com - Docs: https://developers.carrierok.com/docs - Contact: support@carrierok.com ## Pages ### Product - https://www.carrierok.com/ - https://www.carrierok.com/pricing - https://www.carrierok.com/platform - https://www.carrierok.com/chrome-extension - https://www.carrierok.com/trucking-company-data - https://www.carrierok.com/contact - https://www.carrierok.com/platform-partners - https://www.carrierok.com/monitoring ### Use Cases - https://www.carrierok.com/freight-brokers - https://www.carrierok.com/insurance-underwriting - https://www.carrierok.com/factoring ### API & Data Pages - https://www.carrierok.com/fmcsa-api - https://www.carrierok.com/carrier-risk-scoring-api - https://www.carrierok.com/iss-score-api - https://www.carrierok.com/basic-percentiles-api - https://www.carrierok.com/new-carrier-registrations-api - https://www.carrierok.com/chameleon-carrier-detection - https://www.carrierok.com/carrier-data-api-comparison - https://www.carrierok.com/fmcsa-api-vs-qcmobile - https://www.carrierok.com/blog/chameleon-carrier-detection-guide - https://www.carrierok.com/glossary/chameleon-carrier - https://www.carrierok.com/api-terms ### Developer Guides - https://www.carrierok.com/fmcsa-api-documentation - https://www.carrierok.com/qcmobile-api-guide - https://www.carrierok.com/fmcsa-api-key ### Comparisons & Alternatives - https://www.carrierok.com/compare - https://www.carrierok.com/compare-carrier411 - https://www.carrierok.com/compare-rigdig - https://www.carrierok.com/compare-carrier-assure - https://www.carrierok.com/compare-carrier-details - https://www.carrierok.com/compare-carrier-software - https://www.carrierok.com/compare-central-analysis-bureau - https://www.carrierok.com/carrier411-alternatives - https://www.carrierok.com/cab-alternatives - https://www.carrierok.com/rigdig-alternatives - https://www.carrierok.com/carrier-assure-alternatives - https://www.carrierok.com/glossary/interstate-vs-intrastate ### Directories - https://www.carrierok.com/carrier-directory-landing - https://www.carrierok.com/new-entrants-directory-landing - https://www.carrierok.com/broker-directory-landing - https://www.carrierok.com/insurance-directory-landing - https://www.carrierok.com/truck-and-trailer-directory-landing ### Blog - https://www.carrierok.com/blog - https://www.carrierok.com/blog/fmcsa-basic-percentiles-guide - https://www.carrierok.com/blog/iss-score-explained - https://www.carrierok.com/blog/check-carrier-authority-status - https://www.carrierok.com/blog/carrier-vetting-checklist-freight-brokers - https://www.carrierok.com/blog/fatal-florida-crash-puts-spotlight-on-linked-trucking-firms - https://www.carrierok.com/blog/fmcsa-s-new-id-verification-slows-motor-carrier-approvals-early-data-signals - https://www.carrierok.com/blog/the-tony-kirik-case-what-one-prosecution-reveals-about-a-broader-problem-in-trucking ### Glossary - https://www.carrierok.com/glossary - https://www.carrierok.com/glossary/authority - https://www.carrierok.com/glossary/basic-percentile - https://www.carrierok.com/glossary/bipd - https://www.carrierok.com/glossary/boc-3 - https://www.carrierok.com/glossary/cargo-insurance - https://www.carrierok.com/glossary/cdl - https://www.carrierok.com/glossary/csa - https://www.carrierok.com/glossary/dot-number - https://www.carrierok.com/glossary/double-brokering - https://www.carrierok.com/glossary/eld - https://www.carrierok.com/glossary/fmcsa - https://www.carrierok.com/glossary/hos - https://www.carrierok.com/glossary/iss-score - https://www.carrierok.com/glossary/mc-number - https://www.carrierok.com/glossary/mcs-150 - https://www.carrierok.com/glossary/new-entrant - https://www.carrierok.com/glossary/nuclear-verdict - https://www.carrierok.com/glossary/oos-rate - https://www.carrierok.com/glossary/power-units - https://www.carrierok.com/glossary/safer - https://www.carrierok.com/glossary/safety-rating - https://www.carrierok.com/glossary/sms - https://www.carrierok.com/glossary/ucr - https://www.carrierok.com/glossary/out-of-service-order - https://www.carrierok.com/glossary/broker-bond - https://www.carrierok.com/glossary/process-agent - https://www.carrierok.com/glossary/for-hire-carrier - https://www.carrierok.com/glossary/freight-forwarder - https://www.carrierok.com/glossary/dataqs - https://www.carrierok.com/glossary/psp - https://www.carrierok.com/glossary/cvsa - https://www.carrierok.com/glossary/crash-indicator - https://www.carrierok.com/glossary/mcs-90 - https://www.carrierok.com/glossary/ifta - https://www.carrierok.com/glossary/dot-inspection - https://www.carrierok.com/glossary/freight-fraud - https://www.carrierok.com/glossary/reincarnated-carrier - https://www.carrierok.com/glossary/carrier-identity-theft - https://www.carrierok.com/glossary/freight-factoring - https://www.carrierok.com/glossary/load-board - https://www.carrierok.com/glossary/bill-of-lading - https://www.carrierok.com/glossary/detention - https://www.carrierok.com/glossary/deadhead ### Legal - https://www.carrierok.com/privacy - https://www.carrierok.com/terms - https://www.carrierok.com/cookie-policy - https://www.carrierok.com/disclaimer - https://www.carrierok.com/acceptable-use-policy