How to use the data
From the catalog
to your project.
Find a list that fits your project. Download a file for your spreadsheet, or request the data directly from your application.
Preview before you buy. No account needed.
U.S. states
Open it in a spreadsheet and see how the data fits your work.
| State name | Abbreviation |
|---|---|
| Alabama | AL |
| Alaska | AK |
| Arizona | AZ |
The complete dataset, without a pass. View its scope and sources.
For spreadsheets and everyday work
Your first download
Find the right list.
Browse the catalog or search for a subject. Check the preview, description, and sources to see whether the dataset covers what you need.
Try it in your project.
Use the free file links below the preview. You get up to 10 records from most datasets, so you can check the fields and format before buying a pass.
Take the complete dataset.
For a dataset that needs a pass, open Already have a pass? under Get the data. Paste the key from your purchase email, choose a format, and select Download complete dataset.
CSV
For Excel, Google Sheets, and other spreadsheet tools.
JSON
For applications, scripts, and web projects.
XML
For software and workflows that expect XML.
A small spreadsheet tip: import identifiers as text when leading zeros matter. Otherwise, a spreadsheet may turn a code such as 001 into 1.
What’s free, and what a pass adds
States, U.S. Presidents, and Chemical Elements are free in full. Other datasets provide a fixed sample of up to 10 records. If a whole dataset fits within that limit, you get all of it.
When you need the whole list
A pass covers the catalog.
Get every available record, download whole categories, and use higher API limits. Your key works across the catalog for 365 days.
One payment. No subscription or automatic renewal.
Data Pass $39for 365 days
Choose your passFree access and the Data Pass cover your own projects, teaching, research, and internal business work. For data used in a product or service you sell or provide to others, choose a Commercial Pass.
For applications and scripts
Make your first API request.
Start with States. It is free in full, so you can try the request without a key. Choose a format and open the result, or copy the URL into your own code.
The dataset name is the last part of its page address: /content/datasets/states becomes /api/data/states. JSON is the default on this route.
API parameters and examples
| Parameter | What it does | Example |
|---|---|---|
format | Choose json, xml, or csv. | format=csv |
formatting | Use indented or none for JSON and XML. | formatting=none |
rows | Limit the number of returned records. | rows=5 |
sort | Sort by a field; add desc for descending order. | sort=President desc |
random | Shuffle the available records. | random=true |
pagesize, pagenumber | Split the available records into pages, starting at page 1. | pagesize=5&pagenumber=2 |
download | Return the result as an attachment. | download=true |
full | Require complete access; return an error instead of a sample when a paid key is needed. | full=true |
Use the original field names from an API response or downloaded file. Preview headings are spaced for readability: Airport name may be AirportName in a request.
For example, request five Presidents in descending order. Without a pass, sorting, paging, and randomization stay within the available free records; they do not reveal more of a sampled dataset.
Using the older /api/data?list={dataset} route? It defaults to XML. Set format explicitly to choose another format.
Already have a pass?
Your key arrives by email after payment. Keep that email: the download form does not save your key. You can use the same key for file downloads, category ZIPs, and API requests.
In your application, send it in the Authorization header. Add full=true when you need the complete dataset, so a missing key produces an error instead of a sample.
curl -H "Authorization: Bearer YOUR_KEY" \
"https://mysafeinfo.com/api/data/nobelwinners?format=csv&full=true" \
-o nobelwinners.csv
Keep your key private. Store it on your server or in your local environment. Do not put it in a URL, a public repository, or browser code. Replace YOUR_KEY in the example with your own key.
Key expiry and existing integrations
Successful keyed responses include X-Key-Expires, with the expiry date in yyyy-MM-dd format. An old Developer pass key still works with the renamed Data Pass.
Paid keys are not accepted in the query string. Legacy private WICK integrations use their existing access rules.
A whole subject in one download.
Working across several datasets? A category ZIP saves downloading each one separately. Choose a subject and a format, then use either paid pass to get one file per dataset, plus a README with dataset links and source references.
Open category downloadsDownload a category through the API
curl -H "Authorization: Bearer YOUR_KEY" \
"https://mysafeinfo.com/api/bundles/History?format=csv" \
-o history.zip
Use a category name from the catalog and URL-encode spaces. Choose csv, json, or xml.
Each ZIP counts as one API request. Each pass key allows up to 10 category downloads per minute, with up to 64 MB of uncompressed dataset data per ZIP. Download larger categories one dataset at a time.
Limits & troubleshooting
File downloads and API calls use the same request allowance. Free limits are shared by requests from the same IP address. Paid limits apply to each key.
| Access | Per minute | Per day |
|---|---|---|
| Free browser access | 30 | 50 |
| Recognized automated clients without a pass | 6 | 200 |
| Data Pass | 60 | 2,500 |
| Commercial Pass | 120 | 25,000 |
Why am I only getting 10 records?
Most datasets return a fixed sample without a paid key. For the complete file, use the pass-key form on the dataset page. For the API, send your key in the Authorization header. Use full=true to catch requests that would otherwise return a sample.
My key or download is not working.
Copy the full key from your purchase email and check that your pass has not expired. A complete paid download or category ZIP without a qualifying key returns HTTP 403. An invalid or expired key returns an error explaining the problem.
Data-request errors include a JSON message, for example:
{"message":"The requested list was not found."}Check that the dataset name matches the last part of its catalog page address.
I reached a request limit (HTTP 429).
Wait before retrying. When present, the Retry-After header gives the number of seconds to wait. Category ZIPs also have their own per-minute limit, even when your pass has API requests remaining.
Still stuck? Get in touch with the dataset name and error message. Please leave your pass key out of the message.