
Security News
CVE Volume Surges Past 48,000 in 2025 as WordPress Plugin Ecosystem Drives Growth
CVE disclosures hit a record 48,185 in 2025, driven largely by vulnerabilities in third-party WordPress plugins.
python-safer
Advanced tools
A web scraping API written in Python to fetch data from the Department of Transportation's Safety and Fitness Electronic Records System http://www.safersys.org/
python-safer is an web scraping API wrapper written in Python to fetch data from the Department of Transportation's Safety and Fitness Electronic Records System.
Here is how you search for companies using python-safer
from safer import CompanySnapshot
client = CompanySnapshot()
results = client.search('python')
for company in results:
print(company)
<SearchResult PYTHON CORPORATION (698887) from Lacombe, LA>
<SearchResult PYTHON PRESSURE PUMPING LLC (2346443) from Ada, OK>
<SearchResult PYTHON SERVICES LLC (918670) from Brighton, CO>
<SearchResult PYTHON TRANSPORT CORP (2379682) from Dania Beach, FL>
<SearchResult PYTHON TRANSPORTS LLC (2642177) from Fort Worth, TX>
<SearchResult PYTHON'S OF ST CLOUD INC (604262) from St Cloud, MN>
company = results[0].get_company_snapshot()
print(company.legal_name)
PYTHON CORPORATION
If there are any problems, just open issue.
lxml - the C bindings are needed as well. Just follow the installation instructions, should be fine.
pip install python-safer
This was written with Python 3.5, but it will probably work for any Python 3 version
Be prepared to wait for results, the SAFER CompanySnapshot website is very slow, and half the time it's down.
Import and create CompanySnapshot
from safer import CompanySnapshot
client = CompanySnapshot()
Search by Name
Searching by name will return a SearchResultSet object that can be iterated through,
each item in the SearchResultSet is a SearchResult object, to get the Company Snapshot of that object
you can call get_company_snapshot()
for company in client.search('python'):
company.get_company_snapshot()
Getting the company snapshot will return a Company Object.
Search by USDOT Number
Searching by USDOT will return a Company object or raise a CompanySnapshotNotFoundException exception for that USDOT.
company = client.get_by_usdot_number(698887)
print(company.to_json())
{
"operation_classification": [
"Private(Property)"
],
"physical_address": "29279 HWY 190 LACOMBE, LA 70445",
"united_states_inspections": {
"hazmat": {
"out_of_service": "0",
"inspections": "0",
"out_of_service_percent": "0%",
"national_average": "4.50%"
},
"driver": {
"out_of_service": "0",
"inspections": "0",
"out_of_service_percent": "0%",
"national_average": "5.51%"
},
"iep": {
"out_of_service": 0,
"inspections": 0,
"out_of_service_percent": "0%",
"national_average": "N/A"
},
"vehicle": {
"out_of_service": "0",
"inspections": "0",
"out_of_service_percent": "0%",
"national_average": "20.72%"
}
},
"state_carrier_id": "",
"mc_mx_ff_numbers": null,
"out_of_service_date": null,
"mcs_150_form_date": "05/13/2016",
"safety_rating": null,
"carrier_operation": [
"Interstate"
],
"hm_shipper_operation": null,
"safety_review_date": null,
"canada_crashes": {
"injury": 0,
"total": 0,
"fatal": 0,
"tow": 0
},
"mcs_150_mileage_year": {
"year": 2015,
"mileage": 200000
},
"mailing_address": "PO BOX 790 LACOMBE, LA 70445",
"power_units": 8,
"dba_name": "",
"entity_type": "CARRIER",
"safety_rating_date": null,
"safety_type": null,
"duns_number": null,
"drivers": 7,
"us_inspections": {
"hazmat": {
"out_of_service": 0,
"inspections": 0,
"out_of_service_percent": "0%",
"national_average": "4.50%"
},
"vehicle": {
"out_of_service": 0,
"inspections": 0,
"out_of_service_percent": "0%",
"national_average": "20.72%"
},
"iep": {
"out_of_service": 0,
"inspections": 0,
"out_of_service_percent": "0%",
"national_average": "N/A"
},
"driver": {
"out_of_service": 0,
"inspections": 0,
"out_of_service_percent": "0%",
"national_average": "5.51%"
}
},
"united_states_crashes": {
"injury": 0,
"total": 0,
"fatal": 0,
"tow": 0
},
"phone": "(985) 882-6101",
"usdot": "698887",
"url": "http://www.safersys.org/query.asp?searchtype=ANY&query_type=queryCarrierSnapshot&query_param=USDOT&original_query_param=NAME&query_string=698887",
"legal_name": "PYTHON CORPORATION",
"latest_update": "09/12/2017",
"cargo_carried": [
"Building Materials"
],
"operating_status": "ACTIVE",
"canada_inspections": {
"vehicle": {
"out_of_service": 0,
"inspections": 0,
"out_of_service_percent": "0%"
},
"driver": {
"out_of_service": 0,
"inspections": 0,
"out_of_service_percent": "0%"
}
}
}
Viewing Company Snapshots in a web browser
Using the open_url() function on a Company object, will open the Company Snapshot on the SAFER website.
company = client.get_by_usdot_number(698887)
company.open_url()
Company Object Properties
company.legal_name
'PYTHON CORPORATION'
company.drivers
7
company.power_units
8
company.phone_number
'(985) 882-6101'
There is more, just look at the source code. However all values that are shown on the Company Snapshot website are available in the Company class.
FAQs
A web scraping API written in Python to fetch data from the Department of Transportation's Safety and Fitness Electronic Records System http://www.safersys.org/
We found that python-safer demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
CVE disclosures hit a record 48,185 in 2025, driven largely by vulnerabilities in third-party WordPress plugins.

Security News
Socket CEO Feross Aboukhadijeh joins Insecure Agents to discuss CVE remediation and why supply chain attacks require a different security approach.

Security News
Tailwind Labs laid off 75% of its engineering team after revenue dropped 80%, as LLMs redirect traffic away from documentation where developers discover paid products.