Fortune API: List Fortune 500 companies
Lists the Fortune 500 for a year. You can filter by industry or sector and by headquarters state. Each company comes with its public financial and company details.
Unofficial. Not affiliated with or endorsed by Fortune.
Inputs
Values from the run on Oct 23, 2026, shown under Output.
- Year optional
year List year, such as 2025. Defaults to the latest available year.
1996
Whole number 1996 or more.
- State optional
state Headquarters state name or two-letter code, such as Texas or TX. Defaults to all.
Not set
- Max Results optional
max_results Maximum companies to return, such as 100.
3
Whole number from 1 to 500. Default
100.- Industry or Sector optional
industry_or_sector Industry or sector to match, such as Retail. Defaults to all.
Not set
Input as JSON
{ "year": 1996, "max_results": 3}Output
{ "year": 1996, "currency": "USD", "companies": [ { "rank": 1, "sector": null, "company": "General Motors", "industry": "Motor Vehicles and Parts", "employees": null, "headquarters_city": null, "headquarters_state": null, "assets_millions_usd": null, "profit_millions_usd": null, "fortune_profile_link": "https://fortune.com/company/general-motors/" , "revenue_millions_usd": 168828.6, "profit_change_percent": null, "revenue_change_percent": null, "market_value_millions_usd": null }, { "rank": 2, "sector": null, "company": "Ford Motor", "industry": "Motor Vehicles and Parts", "employees": null, "headquarters_city": null, "headquarters_state": null, "assets_millions_usd": null, "profit_millions_usd": null, "fortune_profile_link": "https://fortune.com/company/ford-motor/" , "revenue_millions_usd": 137137, "profit_change_percent": null, "revenue_change_percent": null, "market_value_millions_usd": null }, { "rank": 3, "sector": null, "company": "Exxon Corporation", "industry": "Petroleum Refining", "employees": null, "headquarters_city": null, "headquarters_state": null, "assets_millions_usd": null, "profit_millions_usd": null, "fortune_profile_link": "https://fortune.com/company/exxon-corporation/" , "revenue_millions_usd": 110009, "profit_change_percent": null, "revenue_change_percent": null, "market_value_millions_usd": null } ]}Code
curl https://api.fous.com/v1/runs \ -H "Authorization: Bearer $FOUS_API_KEY" \ -H "Content-Type: application/json" \ -d '{"method":"fortune.com/list_fortune_500","input":{"year":1996,"max_results":3}}' # Save as fous.py, then run: python3 fous.pyimport json, os, timefrom urllib.error import HTTPErrorfrom urllib.request import Request, urlopenAPI = "https://api.fous.com/v1/runs" KEY = os.environ["FOUS_API_KEY"]HEADERS = { "Authorization": f"Bearer {KEY}", "Content-Type": "application/json" ,}def call(url, body=None): data = json.dumps(body).encode() if body else None request = Request(url, data, HEADERS) try: with urlopen(request, timeout=120) as r: return r.status, json.load(r) except HTTPError as error: message = json.load(error)["error"]["message"] raise RuntimeError(message) from errorstatus, run = call(API, { "method": "fortune.com/list_fortune_500" , "input": { "year": 1996, "max_results": 3 }})# 202: still going after 30 s. Ask again until it ends.while status == 202: time.sleep(2) status, run = call(f"{API}/{run['id']}")print(json.dumps(run["data"], indent=2))// Save as fous.mjs, then run: node fous.mjsconst api = "https://api.fous.com/v1/runs" ;const headers = { Authorization: `Bearer ${process.env.FOUS_API_KEY}`, "Content-Type": "application/json" ,};let response = await fetch(api, { method: "POST", headers, body: JSON.stringify({ "method": "fortune.com/list_fortune_500" , "input": { "year": 1996, "max_results": 3 } }), signal: AbortSignal.timeout(120_000),});let run = await response.json();// 202: still going after 30 s. Ask again until it ends.while (response.status === 202) { await new Promise((done) => setTimeout(done, 2_000)); response = await fetch(`${api}/${run.id}`, { headers }); run = await response.json();}if (!response.ok) throw new Error(run.error.message);console.log(run.data);# Connect your agent to Fous once, over MCP (Streamable HTTP):# https://api.fous.com/mcp# Set FOUS_API_KEY first: create a key at https://app.fous.com/keys.# Claude Codeclaude mcp add \ --scope user \ --transport http fous https://api.fous.com/mcp \ --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"# Codexcodex mcp add fous \ --url https://api.fous.com/mcp \ --bearer-token-env-var FOUS_API_KEY# Cursor, VS Code, Windsurf, Cline and morenpx -y add-mcp https://api.fous.com/mcp -g -n fous \ --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"# Then ask your agent:# "Use Fous to run fortune.com/list_fortune_500# with {"year":1996,"max_results":3}"Over HTTP, the answer’s data holds the output. A run still going after 30 seconds answers 202 with its id: ask GET /v1/runs/{id} until it ends.
Schema
Input schema
{ "type": "object", "properties": { "year": { "type": "integer", "minimum": 1996, "description": "List year, such as 2025. Defaults to the latest available year." }, "state": { "type": "string", "description": "Headquarters state name or two-letter code, such as Texas or TX. Defaults to all." }, "max_results": { "type": "integer", "default": 100, "maximum": 500, "minimum": 1, "description": "Maximum companies to return, such as 100." }, "industry_or_sector": { "type": "string", "description": "Industry or sector to match, such as Retail. Defaults to all." } }}Output schema
{ "type": "object", "required": [ "year", "currency", "companies" ], "properties": { "year": { "type": "integer" }, "currency": { "type": "string" }, "companies": { "type": "array", "items": { "type": "object", "properties": { "rank": { "type": "integer" }, "sector": { "type": [ "string", "null" ] }, "company": { "type": "string" }, "industry": { "type": [ "string", "null" ] }, "employees": { "type": [ "integer", "null" ] }, "headquarters_city": { "type": [ "string", "null" ] }, "headquarters_state": { "type": [ "string", "null" ] }, "assets_millions_usd": { "type": [ "number", "null" ] }, "profit_millions_usd": { "type": [ "number", "null" ] }, "fortune_profile_link": { "type": [ "string", "null" ] }, "revenue_millions_usd": { "type": [ "number", "null" ] }, "profit_change_percent": { "type": [ "number", "null" ] }, "revenue_change_percent": { "type": [ "number", "null" ] }, "market_value_millions_usd": { "type": [ "number", "null" ] } } } } }}- Price
- 1 credit per completed run (1¢ with pay as you go); failed runs are free.
- Method
fortune.com/list_fortune_500- Returns
- year, currency, companies with rank, revenue, profit, assets, market value, employees, sector, industry, HQ, profile link
Use it from your agent
Give your agent this line. It reads SKILL.md, gets a Fous API key and connects the Fous MCP server. Its run then takes the method fortune.com/list_fortune_500 with the inputs above.
Ask your agent
- Show me the Fortune 500 companies headquartered in Texas for 2025, with their revenue and profit.
- Which Fortune 500 retail companies made the list in 2023? Include employee counts and HQ locations.
- I need the top 50 companies on the Fortune 500 list for 2021 along with their market values.
- Pull up a list of energy sector firms from the Fortune 500 with their total assets and rankings.
- On fortune.com, list the Fortune 500 companies based in California for 2019, ranked, with profile links.
See more
All Fortune methodsGets a company's Fortune 500 or Fortune 1000 rank and headline figures for a list year. CEO, ticker and website come from the current company profile and may not reflect a historical year.
fortune.com/get_company_rankLists companies in the Forbes Global 2000 in rank order, optionally for a given year, country of headquarters and industry. Financial figures are in billions of US dollars; up to 500 results.
forbes.com/list_global_2000Finds a Forbes company profile by name and returns its Forbes list rankings, company facts and headline financial figures (Forbes list years; market value from the matching Global 2000 list).
forbes.com/get_company_rankingsRanks public companies worldwide, or by country and industry, by market cap, revenue, earnings, employees or dividend yield. When both a country and an industry are set, the industry ranking order is kept and only companies from that country are shown.
companiesmarketcap.com/list_largest_companiesLists the richest people in rank order from Forbes Real-Time Billionaires, with net worth, daily change and profile details. Filter by country of citizenship or industry; wealth and changes are in billions of US dollars.
forbes.com/list_billionairesLists US IPOs from a chosen year, newest first. Each IPO comes with its IPO price, current price and return since IPO. Coverage begins in 2019.
stockanalysis.com/list_recent_iposScreens US-listed stocks on Finviz by sector, company size, minimum dividend yield, maximum P/E ratio and market signal, ranked by market value, today's gain or dividend yield.
finviz.com/screen_stocksLooks up a company by name or ticker on Yahoo Finance and returns its latest news headlines, with article summaries when the article page provides one.
finance.yahoo.com/get_company_news