Read where a market is moving
Hiring, technologies taken up and dropped, buying topics surging, traffic and headcount over time, by industry, country or company size, and the biggest movers of the week.
Add Fokals to Claude, ChatGPT or your own agent and ask about any company or any market: the technology a company runs, the roles it’s hiring for and the buying topics it shows, and how industries, countries and vendors move week by week. You pay for each company you get and each market question you ask, and nothing else.
Your assistant does the asking. Fokals answers with dated, sourced market and company data it can reason over.
Hiring, technologies taken up and dropped, buying topics surging, traffic and headcount over time, by industry, country or company size, and the biggest movers of the week.
How many companies took up a technology and how many dropped it, the churn rate, and which rivals they came from and moved to, by size, industry or country.
Paste your accounts, leads or customers by website or name. Each comes back with its industry, technology, hiring and buying signals.
Companies that run a given technology, show signs of a buying topic or are hiring now, with the latest changes first.
Everything on a company before a call: its stack and when each tool appeared, open roles, announcements and recent website changes.
Ask your assistant to score your accounts on the signals that matter to you, and to explain each score from the data.
Count the companies that match before you spend anything, and see what the answer would cost.
Every answer carries the facts behind it with their dates, so a score or a summary can be checked.
Search open roles across companies by title, function, seniority, country and pay, and spot a team being built.
Start from your best customer and get the companies most like it, each with what they have in common.
Describe the business in your own words and get the companies whose websites say it, the closest first, with how close each is out of 100.
Name a company and get the companies whose websites describe the same kind of business, even where their labels or technologies differ.
The customers, partners, integrations and investors a company names on its website, and the companies whose websites name it.
Name the companies that matter and get an email when something changes: a new tool, a funding round, a new market, a price raised or a free plan dropped.
A score from 0 to 100 of how ready a company is for AI agents to find it, read its prices, buy and act, with the dated evidence behind each part.
Companies moving from one system to another, building a first team, working towards a certification, entering a new country or building an AI product.
Name your customers and when they bought, and get the companies that look today the way they did then, each with the reasons in plain words.
A weekly band from signs of distress to breaking out, two scores from 0 to 100, the reasons, and shifts such as moving upmarket or turning to AI.
The technologies a company is likely to add next, each with an estimated likelihood and the support counts behind it, or the likeliest next buyers of a product.
Each buying topic a company shows signs of, scored every week with the signals behind it, so you see interest building or fading. Or every fresh signal across all companies as it appears.
The sales team a company is building from its own job ads, by role, segment and country, with the pay each ad offers, and benchmarks of advertised sales pay by role and country.
Sign up with your email and a password. Your account opens with $1 of credit.
In your assistant’s settings, add a custom connector with the address below and sign in when asked.
Try “Enrich these ten companies” or “Find B2B software companies that started hiring this month”.
https://mcp.fokals.com/mcpWorks with Claude, ChatGPT and any assistant or tool that supports the Model Context Protocol.
claude mcp add --transport http fokals https://mcp.fokals.com/mcp --header "Authorization: Bearer YOUR_KEY"Create a key on your account page. Every tool, the API and its limits are in the reference below.
A prepaid balance in US dollars. Every answer says what it cost and what is left.
Every record describes a company or a market, with nothing personal in it.
AI-powered market and company intelligence on how companies around the world grow, change and compete. Fokals derives advanced signals from company data, covering everything from technology and hiring to funding, buying intent and company health. Refreshed every day and brought together into a clear view of every market. There are two ways to use it, and they are one product: the same account, the same prepaid balance, the same prices and the same tools.
| MCP | API | |
|---|---|---|
| For | An assistant: Claude, ChatGPT, or any tool that supports the Model Context Protocol (MCP) | Your own code |
| Address | https://mcp.fokals.com/mcp | https://api.fokals.com/v1 |
| Signing in | In the assistant, with your Fokals account, or with a key | A key |
| What you call | A tool, by name | The same tool, as POST /v1/<tool> |
https://mcp.fokals.com/mcp, and sign in when it asks.curl https://api.fokals.com/v1/account \
-H "Authorization: Bearer YOUR_KEY"curl -X POST https://api.fokals.com/v1/find_companies \
-H "Authorization: Bearer YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"technology":"HubSpot","hiring":true,"country":"US","limit":10}'A key is shown once, when it is made. Keep it out of anything you share; a key you no longer trust can be revoked on the account page at once.
You pay for the companies you get, from a balance you add to by card. These are the standard prices; GET https://api.fokals.com/v1/prices gives today’s, with no key.
| First 10,000 a month | Past 10,000 | Past 100,000 | |
|---|---|---|---|
| A company in a search or a list | $0.04 | $0.02 | $0.01 |
| A company found by a buying topic, or with a health reading | $0.08 | $0.05 | $0.05 |
| A full profile | $0.10 | $0.06 | $0.06 |
Each kind is counted on its own, from the first of each calendar month (UTC). A call that crosses a step pays the lower price only past it.
| Price | |
|---|---|
| The same company again within 30 days, in an answer of the same kind or a cheaper one | Free |
| A question about a market as a whole | $0.05 |
| A question of the market's own figures (trends, movers, a vendor's scorecard, sales pay) | $0.05 for up to 25 figures, then $0.10 a figure |
| A company Fokals does not hold | Free |
| Counting matches, listing filters, your balance | Free |
A call that would cost more than $0.25 does not run: it answers with its price. Send it again with max_usd set to what you agree to pay. Funds are good for 12 months from the day they are added, the oldest spent first. For more than 50,000 profiles a month, a data licence costs less: https://www.fokals.com/contact.
| Limit | |
|---|---|
| Calls a minute, for one account | 60 |
A similar_companies, market_breakdown, vendor_scorecard, companies_like_customers, find_companies_by_description or companies_described_alike call | Counts as 5 calls towards the minute |
| Calls a day (UTC), for one account | 2,000 |
| Companies in one answer | 100 |
| Companies in one file | 10,000 |
| Spending in a calendar month | $1,000, or a limit of your own, set on the account page |
An assistant is answered in a sentence or two, followed by the data as JSON. The API answers with the same two things apart:
{ "message": "What was done, in a sentence or two.", "data": { } }When a call is not answered, the API says why with a status and { "error": { "code", "message" } }:
| Status | Code | Meaning |
|---|---|---|
| 400 | invalid_request | The request was not understood. Nothing was charged. |
| 401 | unauthorized | No key, or a key that is not valid. |
| 402 | payment_required | The call did not run because of money. reason is balance, cap (the monthly limit) or approval (the price is above what was agreed), and the answer carries the price. |
| 404 | not_found | There is no such endpoint. |
| 422 | not_done | The call could not be done as asked: a technology that is not known, a company that could not be read. Nothing was charged. |
| 429 | rate_limited | Too many calls. Retry-After says when to ask again. |
| 500 | server_error | A fault on our side. Asking again costs nothing more. |
The whole API is described for a program at https://api.fokals.com/v1/openapi.json.
Companies, and what they publish: their websites, job boards, newsrooms and regulatory filings. Every fact carries the date it was observed. Fokals holds companies only: no people and no contact details.
| Tool | What it does | Price |
|---|---|---|
find_companies | Find companies by signal | $0.04 a company, $0.08 by buying topic |
count_companies | Count companies | Free |
enrich_companies | Enrich a list of companies | $0.04 a company |
company_profile | Company profile | $0.10 a profile |
company_changes | What changed at my companies | $0.04 a company |
search_job_postings | Search job postings | $0.04 a company |
similar_companies | Similar companies and competitors | $0.04 a company |
company_connections | Customers, partners, integrations and investors | $0.04 a company |
identify_company | Which company is meant | Free |
market_breakdown | Market breakdown | $0.05 a question |
find_companies_by_description | Find companies by description | $0.04 a company |
companies_described_alike | Companies described alike | $0.04 a company |
vendor_scorecard | Vendor scorecard | $0.05 a question, $0.10 a figure past 25 |
companies_like_customers | Companies like my customers | $0.04 a company |
company_health | Company health | $0.08 a company |
likely_next | Likely next technologies | $0.04 a company |
revenue_nowcast | Revenue nowcast | $0.08 a company |
intent_history | Buying intent week by week | $0.08 a company |
sales_team | Sales team from job ads | $0.04 a company |
funding_filings | Funding filings | $0.04 a company |
headcount_history | Headcount over time | $0.04 a company |
traffic_history | Website traffic month by month | $0.04 a company |
signal_feed | Buying signals across companies | $0.08 a company |
announcement_feed | Announcements across companies | $0.04 a company |
change_feed | Website changes across companies | $0.04 a company |
listed_securities | Stock listings | $0.04 a company |
market_trends | Market trends over time | $0.05 a question, $0.10 a figure past 25 |
market_movers | Biggest market movers | $0.05 a question, $0.10 a figure past 25 |
sales_pay_benchmarks | Sales pay benchmarks | $0.05 a question, $0.10 a figure past 25 |
list_filters | List filter values | Free |
request_company | Ask for a company to be added | Free |
report_problem | Report a problem | Free |
enrich_to_file | Enrich a long list into a file | $0.04 a company |
watch_companies | Watch companies | Free |
unwatch_companies | Stop watching companies | Free |
watched_companies | Watched companies and the latest digest | Free |
add_funds | Add funds with a payment token | Free |
account_balance | Balance and prices | Free |
find_companies · $0.04 a company, $0.08 by buying topic
Finds companies by what they show: a technology they run, a buying topic they show signs of, whether they are hiring, an announcement they made lately (funding, a launch, a partnership, a leadership change), a project their job ads state (a migration, a first team, a certification, an expansion, an AI build), a change on their pricing page, how ready their website is for AI agents, their health this week (a band, or a shift in positioning), their industry, business model or country, and how lately their website changed. The companies whose website changed most lately come first. Each company comes with its website, industry, technologies, open roles, buying topics, agent readiness score, projects and health band. Give at least one filter; count_companies says how many match, free, before this is called. At most 100 companies a call. Costs $0.04 ($0.02 past 10,000 in a calendar month, $0.01 past 100,000) for each company returned; $0.08 ($0.05 past 10,000 in a calendar month) for each company when a buying topic is among the filters, taken from the person's prepaid balance; a company that is not held costs nothing. A company this account has paid for is free to it again for 30 days in an answer of the same kind or a cheaper one: a profile covers the company's list rows, a list row does not cover a profile. A call that costs more than $0.25 returns its price instead of running: tell the person the price and call again with max_usd once they agree.
| Input | Kind | Needed | What it is |
|---|---|---|---|
technology | text | no | A technology the company runs on its website, by name: "Shopify", "HubSpot". The stance a website states towards AI is found the same way: "Blocks GPTBot (OpenAI)", "llms.txt for AI assistants", "WebMCP tools for AI agents". |
buying_topic | text | no | A buying topic the company shows signs of, by name or id: "Marketing automation". list_filters with kind buying_topics has them all. |
hiring | true or false | no | true keeps only companies with open roles now. |
industry | text | no | One of: fashion_apparel, beauty_personal_care, health_wellness, food_beverage, home_garden, consumer_electronics, software_saas, finance_insurance, education, travel_hospitality, automotive, real_estate, entertainment_media, gaming, sports_outdoors, retail_marketplace, professional_services, telecom_utilities, nonprofit_public, pets, other. |
business_model | text | no | One of: b2b, b2c, both. |
country | text | no | A country as a two-letter code: US, GB, DE. Matches the head office's country where it is known, otherwise the main market the company's website serves: country and market_country in an answer. |
listed | true or false | no | true keeps only companies with a stock exchange listing, their own or a parent's. |
changed_since | text | no | Keeps only companies whose website changed on or after this date, YYYY-MM-DD. |
region | text | no | The state or province of the head office: "CA", "Ontario". Held where a filing or the company's own website gives it. |
sic | text | no | A four-digit SIC industry code. Held for companies that file with the SEC. |
announcement | text | no | A type of announcement the company made lately. One of: product_launch, partnership, acquisition_made, acquired_or_merged, funding_round, leadership_change, layoffs_restructuring, expansion, incident, financial_results, award_or_recognition, regulatory_or_legal. |
announced_since | text | no | With announcement: made on or after this date, YYYY-MM-DD. 30 days ago unless given. |
name_contains | text | no | Text the company's name or website address holds. |
agent_ready_min | whole number | no | Keeps only companies whose agent readiness score is at least this, from 50 to 100. The score, from 0 to 100, says how ready a company's website is for AI agents: to be found, to show its prices, to sell and to be acted on. |
agent_ready_part | one of a list | no | One of the four parts of agent readiness that must be strong: find, price, buy or act. With agent_ready_min, or alone for a score of 50 or more. |
agent_ready_part_min | whole number | no | With agent_ready_part: the least points of its 25 that part holds. 15 unless given. |
project | one of a list | no | A project the company's job ads state: migration (a move from one system to another), first_team (the first team of a function), compliance (work towards a certification), expansion (into a new country or region), ai_build (building an AI product). |
project_detail | text | no | With project, what narrows it. migration: a system by name, on either side ("Salesforce"), or "to HubSpot", "from Salesforce", "Salesforce to HubSpot". first_team: a job function (data_analytics, sales). compliance: soc2, iso27001, hipaa, pci, fedramp, gdpr. expansion: a two-letter country code or a region (europe, dach). ai_build: agents, llm, ml, ai. |
project_days | whole number | no | With project: stated in job ads on a board in the last this many days. 90 unless given. |
price_change | one of a list | no | A change the company's pricing page showed lately: price_raised, price_cut, free_plan_removed, free_plan_added, usage_pricing_added, ai_addon_added. |
price_changed_since | text | no | With price_change: on or after this date, YYYY-MM-DD. 90 days ago unless given. |
health_band | one of a list | no | The company's health in the latest week: distress (signs of distress), watch (worth watching), growing or breakout (breaking out). |
shift | one of a list | no | A shift in positioning the company shows in the latest week: upmarket, downmarket, ai_pivot (turning to AI), new_buyer (selling to a new buyer), price_up or price_down. |
limit | whole number | no | How many companies to return. 25 unless given. |
cursor | text | no | next_cursor of the answer before, to carry on where it ended. |
max_usd | number | no | The most the person has agreed to pay for this call, in US dollars. Leave it out unless a call has returned its price and the person agreed to it. |
Example:
POST https://api.fokals.com/v1/find_companies
{
"technology": "HubSpot",
"hiring": true,
"country": "US",
"limit": 10
}count_companies · Free
Counts the companies that match a set of filters, and says what it would cost to get them. Free. Takes the same filters as find_companies, but not part of a name: to look for one company, use identify_company. Fewer than 10 is given as such. Use it before find_companies, so the person knows the size and the price of what they are asking for.
| Input | Kind | Needed | What it is |
|---|---|---|---|
technology | text | no | A technology the company runs on its website, by name: "Shopify", "HubSpot". The stance a website states towards AI is found the same way: "Blocks GPTBot (OpenAI)", "llms.txt for AI assistants", "WebMCP tools for AI agents". |
buying_topic | text | no | A buying topic the company shows signs of, by name or id: "Marketing automation". list_filters with kind buying_topics has them all. |
hiring | true or false | no | true keeps only companies with open roles now. |
industry | text | no | One of: fashion_apparel, beauty_personal_care, health_wellness, food_beverage, home_garden, consumer_electronics, software_saas, finance_insurance, education, travel_hospitality, automotive, real_estate, entertainment_media, gaming, sports_outdoors, retail_marketplace, professional_services, telecom_utilities, nonprofit_public, pets, other. |
business_model | text | no | One of: b2b, b2c, both. |
country | text | no | A country as a two-letter code: US, GB, DE. Matches the head office's country where it is known, otherwise the main market the company's website serves: country and market_country in an answer. |
listed | true or false | no | true keeps only companies with a stock exchange listing, their own or a parent's. |
changed_since | text | no | Keeps only companies whose website changed on or after this date, YYYY-MM-DD. |
region | text | no | The state or province of the head office: "CA", "Ontario". Held where a filing or the company's own website gives it. |
sic | text | no | A four-digit SIC industry code. Held for companies that file with the SEC. |
announcement | text | no | A type of announcement the company made lately. One of: product_launch, partnership, acquisition_made, acquired_or_merged, funding_round, leadership_change, layoffs_restructuring, expansion, incident, financial_results, award_or_recognition, regulatory_or_legal. |
announced_since | text | no | With announcement: made on or after this date, YYYY-MM-DD. 30 days ago unless given. |
name_contains | text | no | Text the company's name or website address holds. |
agent_ready_min | whole number | no | Keeps only companies whose agent readiness score is at least this, from 50 to 100. The score, from 0 to 100, says how ready a company's website is for AI agents: to be found, to show its prices, to sell and to be acted on. |
agent_ready_part | one of a list | no | One of the four parts of agent readiness that must be strong: find, price, buy or act. With agent_ready_min, or alone for a score of 50 or more. |
agent_ready_part_min | whole number | no | With agent_ready_part: the least points of its 25 that part holds. 15 unless given. |
project | one of a list | no | A project the company's job ads state: migration (a move from one system to another), first_team (the first team of a function), compliance (work towards a certification), expansion (into a new country or region), ai_build (building an AI product). |
project_detail | text | no | With project, what narrows it. migration: a system by name, on either side ("Salesforce"), or "to HubSpot", "from Salesforce", "Salesforce to HubSpot". first_team: a job function (data_analytics, sales). compliance: soc2, iso27001, hipaa, pci, fedramp, gdpr. expansion: a two-letter country code or a region (europe, dach). ai_build: agents, llm, ml, ai. |
project_days | whole number | no | With project: stated in job ads on a board in the last this many days. 90 unless given. |
price_change | one of a list | no | A change the company's pricing page showed lately: price_raised, price_cut, free_plan_removed, free_plan_added, usage_pricing_added, ai_addon_added. |
price_changed_since | text | no | With price_change: on or after this date, YYYY-MM-DD. 90 days ago unless given. |
health_band | one of a list | no | The company's health in the latest week: distress (signs of distress), watch (worth watching), growing or breakout (breaking out). |
shift | one of a list | no | A shift in positioning the company shows in the latest week: upmarket, downmarket, ai_pivot (turning to AI), new_buyer (selling to a new buyer), price_up or price_down. |
Example:
POST https://api.fokals.com/v1/count_companies
{
"technology": "HubSpot",
"hiring": true,
"country": "US"
}enrich_companies · $0.04 a company
Takes the person's own list of companies, by website address or name, and returns what is held on each: industry and business model, the technologies its website runs, open roles and hiring in the last 30 days, buying topics it shows signs of, its agent readiness score, the projects its job ads state, its health band this week, and when its website last changed. Use it to fill in, score or rank a list of accounts, leads or customers. A website address finds a company more surely than a name. At most 100 companies a call; send a longer list in parts. Costs $0.04 ($0.02 past 10,000 in a calendar month, $0.01 past 100,000) for each company returned, taken from the person's prepaid balance; a company that is not held costs nothing. A company this account has paid for is free to it again for 30 days in an answer of the same kind or a cheaper one: a profile covers the company's list rows, a list row does not cover a profile. A call that costs more than $0.25 returns its price instead of running: tell the person the price and call again with max_usd once they agree.
| Input | Kind | Needed | What it is |
|---|---|---|---|
companies | list of text | yes | The person's own companies, each as a website address ("acme.com"), a name ("Acme Inc") or an id from an earlier answer. |
max_usd | number | no | The most the person has agreed to pay for this call, in US dollars. Leave it out unless a call has returned its price and the person agreed to it. |
Example:
POST https://api.fokals.com/v1/enrich_companies
{
"companies": [
"stripe.com",
"shopify.com"
]
}company_profile · $0.10 a profile
One company in depth: what it sells and to whom, every technology its website runs and since when, its open roles by function, seniority and country with the latest postings, the buying topics it shows signs of with the signals behind them, its latest announcements by type, the latest changes on its website, how its traffic ranks, its agent readiness score with the evidence behind it, the projects its job ads state, the back-office software they name that its website does not show, its weekly health with the reasons, and the technologies it is likeliest to add next. Use it to research an account before a call, to explain why a company is on a list, or to compare companies. Costs $0.10 ($0.06 past 10,000 in a calendar month) for the profile, taken from the person's prepaid balance; a company that is not held costs nothing. A company this account has paid for is free to it again for 30 days in an answer of the same kind or a cheaper one: a profile covers the company's list rows, a list row does not cover a profile. A call that costs more than $0.25 returns its price instead of running: tell the person the price and call again with max_usd once they agree. For more than 50,000 profiles a month a data licence costs less.
| Input | Kind | Needed | What it is |
|---|---|---|---|
company | text | yes | The company, as a website address ("acme.com"), a name or an id from an earlier answer. |
sections | list of text | no | Which parts to return: technology, hiring, buying_topics, announcements, changes, traffic, agent_readiness, projects, internal_tools, health, likely_next. All of them unless given; ask for fewer to keep the answer short. |
max_usd | number | no | The most the person has agreed to pay for this call, in US dollars. Leave it out unless a call has returned its price and the person agreed to it. |
Example:
POST https://api.fokals.com/v1/company_profile
{
"company": "stripe.com"
}company_changes · $0.04 a company
What is new at the person's own companies since a date: changes on each website (a technology added or dropped, a new market, language, currency, page or app, a price raised or cut, a plan or a free plan added or dropped, a sales motion or customer size that moved, a title reworded) and the company's announcements by type (funding, launches, partnerships, leadership changes, expansion). Each change comes in plain words. Use it for a weekly check on a list of accounts, or to find a timely reason to get in touch. A company with nothing new costs nothing and is named as such. At most 100 companies a call. Costs $0.04 ($0.02 past 10,000 in a calendar month, $0.01 past 100,000) for each company returned, taken from the person's prepaid balance; a company that is not held costs nothing. A company this account has paid for is free to it again for 30 days in an answer of the same kind or a cheaper one: a profile covers the company's list rows, a list row does not cover a profile. A call that costs more than $0.25 returns its price instead of running: tell the person the price and call again with max_usd once they agree.
| Input | Kind | Needed | What it is |
|---|---|---|---|
companies | list of text | yes | The person's own companies, each as a website address ("acme.com"), a name or an id from an earlier answer. |
since | text | no | What changed on or after this date, YYYY-MM-DD. 7 days ago unless given; at most 90 days back. |
max_usd | number | no | The most the person has agreed to pay for this call, in US dollars. Leave it out unless a call has returned its price and the person agreed to it. |
Example:
POST https://api.fokals.com/v1/company_changes
{
"companies": [
"stripe.com",
"shopify.com"
],
"since": "2026-10-01"
}search_job_postings · $0.04 a company
Searches the open job postings of companies: by words in the title, function, seniority, country, remote or on site, a technology the posting asks for, the hiring company's industry, pay, and how lately the posting appeared. The latest postings come first, each with its company, function, seniority, pay where stated, and link. Use it to find who is hiring for a role, to spot a team being built, or to check hiring at a list of accounts. Give at least one filter. Costs $0.04 ($0.02 past 10,000 in a calendar month, $0.01 past 100,000) for each company returned, taken from the person's prepaid balance; a company that is not held costs nothing. A company this account has paid for is free to it again for 30 days in an answer of the same kind or a cheaper one: a profile covers the company's list rows, a list row does not cover a profile. A call that costs more than $0.25 returns its price instead of running: tell the person the price and call again with max_usd once they agree. A posting itself is not charged: the price is for each company the postings belong to.
| Input | Kind | Needed | What it is |
|---|---|---|---|
title | text | no | Text the job title holds: "account executive", "data engineer". |
job_function | text | no | One of: software_engineering, hardware_engineering, data_analytics, data_science_ml, product_management, design, marketing_brand, marketing_performance, marketing_content_social, sales, sales_development, customer_success_support, operations, supply_chain_logistics, manufacturing_production, finance_accounting, legal_compliance, people_hr, it_security, research_science, healthcare_clinical, retail_store, hospitality_food, education_training, executive_leadership, other. |
seniority | text | no | One of: intern, entry, mid, senior, lead_principal, manager, director, vp, c_level. |
country | text | no | Where the job is, as a two-letter country code: US, GB, DE. |
work_mode | one of a list | no | onsite, hybrid or remote. |
technology | text | no | A technology the posting asks for, by name: "Snowflake", "Salesforce". |
industry | text | no | The hiring company's industry. One of: fashion_apparel, beauty_personal_care, health_wellness, food_beverage, home_garden, consumer_electronics, software_saas, finance_insurance, education, travel_hospitality, automotive, real_estate, entertainment_media, gaming, sports_outdoors, retail_marketplace, professional_services, telecom_utilities, nonprofit_public, pets, other. |
seen_since | text | no | Only postings first seen on or after this date, YYYY-MM-DD. |
min_salary_usd | number | no | Only postings that state pay of at least this much a year, in US dollars. |
companies | list of text | no | Search only at these companies (the person's own list), each as a website address, a name or an id. |
limit | whole number | no | How many postings to return. 20 unless given, 50 at most. |
cursor | text | no | next_cursor of the answer before, to carry on where it ended. |
max_usd | number | no | The most the person has agreed to pay for this call, in US dollars. Leave it out unless a call has returned its price and the person agreed to it. |
Example:
POST https://api.fokals.com/v1/search_job_postings
{
"title": "data engineer",
"country": "US",
"work_mode": "remote",
"limit": 10
}similar_companies · $0.04 a company
Finds companies like a given one, the most alike first, each with what it shares with the one given: the labels in common (business model, offering, customer size, pricing, growth stage, home country) and the technologies in common. Ask for lookalikes to grow a list from a best customer, or for competitors to see who sells the same kind of thing to the same kind of customer. The company given is not charged. At most 100 companies a call. Costs $0.04 ($0.02 past 10,000 in a calendar month, $0.01 past 100,000) for each company returned, taken from the person's prepaid balance; a company that is not held costs nothing. A company this account has paid for is free to it again for 30 days in an answer of the same kind or a cheaper one: a profile covers the company's list rows, a list row does not cover a profile. A call that costs more than $0.25 returns its price instead of running: tell the person the price and call again with max_usd once they agree.
| Input | Kind | Needed | What it is |
|---|---|---|---|
company | text | yes | The company to start from, as a website address, a name or an id. |
kind | one of a list | no | lookalikes (unless given): companies of the same kind, to sell to as one sells to this one. competitors: companies that sell the same kind of thing to the same kind of customer. |
limit | whole number | no | How many companies to return. 10 unless given. |
max_usd | number | no | The most the person has agreed to pay for this call, in US dollars. Leave it out unless a call has returned its price and the person agreed to it. |
Example:
POST https://api.fokals.com/v1/similar_companies
{
"company": "shopify.com",
"kind": "lookalikes",
"limit": 10
}company_connections · $0.04 a company
The other companies a company's own website names, and as what: its customers, partners, integrations and investors, each by website and, where held, by name. And the reverse: the companies whose websites name this one, and as what, which shows whose customer or partner it is. Taken from links a page puts under a heading of its own ("Trusted by", "Our partners", "Integrations", "Backed by") and seen in the last 60 days; a company whose pages name nobody that way has none. Only the company asked about is charged. Costs $0.04 ($0.02 past 10,000 in a calendar month, $0.01 past 100,000) for each company returned, taken from the person's prepaid balance; a company that is not held costs nothing. A company this account has paid for is free to it again for 30 days in an answer of the same kind or a cheaper one: a profile covers the company's list rows, a list row does not cover a profile. A call that costs more than $0.25 returns its price instead of running: tell the person the price and call again with max_usd once they agree.
| Input | Kind | Needed | What it is |
|---|---|---|---|
company | text | yes | The company, as a website address, a name or an id. |
max_usd | number | no | The most the person has agreed to pay for this call, in US dollars. Leave it out unless a call has returned its price and the person agreed to it. |
Example:
POST https://api.fokals.com/v1/company_connections
{
"company": "stripe.com"
}identify_company · Free
Lists the companies a name or a website address could mean, the surest first, each with its website, its country and whether it has been read. Free. Use it when a name is ambiguous or a paid tool said a company is not held, then pass the id of the right one to the other tools. A company that is not held at all can be asked for with request_company.
| Input | Kind | Needed | What it is |
|---|---|---|---|
company | text | yes | A company name, part of one, or a website address. |
Example:
POST https://api.fokals.com/v1/identify_company
{
"company": "Stripe"
}market_breakdown · $0.05 a question
Answers a question about a market as a whole: how the companies that match a set of filters divide by one attribute (industry, business_model, country, growth_stage, customer_size, price_tier, sales_motion, pricing_model, region, sic, technology, buying_topic), with the number of companies under each value and the total. Takes the same filters as find_companies, or none for every company held. Use it to size a segment, to see which technologies or buying topics lead in an industry, or which countries a kind of company is in. It returns counts, not companies. Costs $0.05 a question, whatever its size, taken from the person's prepaid balance; a question nothing matches costs nothing.
| Input | Kind | Needed | What it is |
|---|---|---|---|
technology | text | no | A technology the company runs on its website, by name: "Shopify", "HubSpot". The stance a website states towards AI is found the same way: "Blocks GPTBot (OpenAI)", "llms.txt for AI assistants", "WebMCP tools for AI agents". |
buying_topic | text | no | A buying topic the company shows signs of, by name or id: "Marketing automation". list_filters with kind buying_topics has them all. |
hiring | true or false | no | true keeps only companies with open roles now. |
industry | text | no | One of: fashion_apparel, beauty_personal_care, health_wellness, food_beverage, home_garden, consumer_electronics, software_saas, finance_insurance, education, travel_hospitality, automotive, real_estate, entertainment_media, gaming, sports_outdoors, retail_marketplace, professional_services, telecom_utilities, nonprofit_public, pets, other. |
business_model | text | no | One of: b2b, b2c, both. |
country | text | no | A country as a two-letter code: US, GB, DE. Matches the head office's country where it is known, otherwise the main market the company's website serves: country and market_country in an answer. |
listed | true or false | no | true keeps only companies with a stock exchange listing, their own or a parent's. |
changed_since | text | no | Keeps only companies whose website changed on or after this date, YYYY-MM-DD. |
region | text | no | The state or province of the head office: "CA", "Ontario". Held where a filing or the company's own website gives it. |
sic | text | no | A four-digit SIC industry code. Held for companies that file with the SEC. |
announcement | text | no | A type of announcement the company made lately. One of: product_launch, partnership, acquisition_made, acquired_or_merged, funding_round, leadership_change, layoffs_restructuring, expansion, incident, financial_results, award_or_recognition, regulatory_or_legal. |
announced_since | text | no | With announcement: made on or after this date, YYYY-MM-DD. 30 days ago unless given. |
name_contains | text | no | Text the company's name or website address holds. |
agent_ready_min | whole number | no | Keeps only companies whose agent readiness score is at least this, from 50 to 100. The score, from 0 to 100, says how ready a company's website is for AI agents: to be found, to show its prices, to sell and to be acted on. |
agent_ready_part | one of a list | no | One of the four parts of agent readiness that must be strong: find, price, buy or act. With agent_ready_min, or alone for a score of 50 or more. |
agent_ready_part_min | whole number | no | With agent_ready_part: the least points of its 25 that part holds. 15 unless given. |
project | one of a list | no | A project the company's job ads state: migration (a move from one system to another), first_team (the first team of a function), compliance (work towards a certification), expansion (into a new country or region), ai_build (building an AI product). |
project_detail | text | no | With project, what narrows it. migration: a system by name, on either side ("Salesforce"), or "to HubSpot", "from Salesforce", "Salesforce to HubSpot". first_team: a job function (data_analytics, sales). compliance: soc2, iso27001, hipaa, pci, fedramp, gdpr. expansion: a two-letter country code or a region (europe, dach). ai_build: agents, llm, ml, ai. |
project_days | whole number | no | With project: stated in job ads on a board in the last this many days. 90 unless given. |
price_change | one of a list | no | A change the company's pricing page showed lately: price_raised, price_cut, free_plan_removed, free_plan_added, usage_pricing_added, ai_addon_added. |
price_changed_since | text | no | With price_change: on or after this date, YYYY-MM-DD. 90 days ago unless given. |
health_band | one of a list | no | The company's health in the latest week: distress (signs of distress), watch (worth watching), growing or breakout (breaking out). |
shift | one of a list | no | A shift in positioning the company shows in the latest week: upmarket, downmarket, ai_pivot (turning to AI), new_buyer (selling to a new buyer), price_up or price_down. |
by | one of a list | yes | The attribute to divide the companies by. country is the head office's country where it is known, otherwise the main market the company's website serves; region is the head office's state or province. |
limit | whole number | no | How many values to return, the largest first. 15 unless given. |
max_usd | number | no | The most the person has agreed to pay for this call, in US dollars. Leave it out unless a call has returned its price and the person agreed to it. |
Example:
POST https://api.fokals.com/v1/market_breakdown
{
"technology": "Shopify",
"by": "country",
"limit": 10
}find_companies_by_description · $0.04 a company
Finds the companies whose websites describe the business described, the closest first, each with how close it is out of 100. Say what the companies do in a sentence, in the person's own words, instead of choosing filters: it finds companies whatever their industry label. Optionally in one country (the head office's country where it is known, otherwise the main market the company's website serves). A company under 50 is not returned. At most 100 companies a call. Costs $0.04 ($0.02 past 10,000 in a calendar month, $0.01 past 100,000) for each company returned, taken from the person's prepaid balance; a company that is not held costs nothing. A company this account has paid for is free to it again for 30 days in an answer of the same kind or a cheaper one: a profile covers the company's list rows, a list row does not cover a profile. A call that costs more than $0.25 returns its price instead of running: tell the person the price and call again with max_usd once they agree.
| Input | Kind | Needed | What it is |
|---|---|---|---|
description | text | yes | What the companies do, in a sentence: "booking software for holiday rentals", "plant based pet food sold online", "contract manufacturer of medical devices". |
country | text | no | Only companies in this country, as a two-letter code. Matches the head office's country where it is known, otherwise the main market the company's website serves. |
limit | whole number | no | How many companies to return. 10 unless given, the companies a call allows at most. |
max_usd | number | no | The most the person has agreed to pay for this call, in US dollars. Leave it out unless a call has returned its price and the person agreed to it. |
Example:
POST https://api.fokals.com/v1/find_companies_by_description
{
"description": "Booking software for holiday rentals",
"country": "GB",
"limit": 10
}companies_described_alike · $0.04 a company
Finds the companies whose websites describe the same kind of business as a given company's does, in their own words, the closest first, each with how close it is out of 100. Where similar_companies compares labels and technologies, this compares what each website says, so it also finds companies of the same kind that are labelled or built differently. A company under 50 is not returned. The company given is not charged. At most 100 companies a call. Costs $0.04 ($0.02 past 10,000 in a calendar month, $0.01 past 100,000) for each company returned, taken from the person's prepaid balance; a company that is not held costs nothing. A company this account has paid for is free to it again for 30 days in an answer of the same kind or a cheaper one: a profile covers the company's list rows, a list row does not cover a profile. A call that costs more than $0.25 returns its price instead of running: tell the person the price and call again with max_usd once they agree.
| Input | Kind | Needed | What it is |
|---|---|---|---|
company | text | yes | The company to start from, as a website address, a name or an id. |
limit | whole number | no | How many companies to return. 10 unless given, the companies a call allows at most. |
max_usd | number | no | The most the person has agreed to pay for this call, in US dollars. Leave it out unless a call has returned its price and the person agreed to it. |
Example:
POST https://api.fokals.com/v1/companies_described_alike
{
"company": "allbirds.com",
"limit": 10
}vendor_scorecard · $0.05 a question, $0.10 a figure past 25
A technology vendor's scorecard, month by month: how many companies ran it at the start of each month, how many took it up and how many dropped it, the net change and the churn rate, and the rival tools the companies that took it up came from and the ones that dropped it moved to; with the last 30 days to today beside them. Divide it by company size, industry, growth stage or country to see where it wins and where it loses (industry and growth stage are the companies' labels today), and ask for the other technologies of its category ranked by net gain. A month marked partial was not observed from its first day. Use it for competitive research on a vendor, to see where a rival is losing customers, or to size a vendor's momentum. It returns counts, not companies. Each month of each segment is one figure. Costs $0.05 a question for up to 25 figures and $0.10 for each figure past 25, taken from the person's prepaid balance; a question nothing matches costs nothing. A call that costs more than $0.25 returns its price instead of running: tell the person the price and call again with max_usd once they agree.
| Input | Kind | Needed | What it is |
|---|---|---|---|
technology | text | yes | The technology, by name or id: "HubSpot", "Shopify", "Intercom". |
months | whole number | no | How many closed months to return, the latest first. 6 unless given. |
segment | one of a list | no | How the companies are divided: all (unless given), size (by employees), industry, growth_stage or country. Divided, each month comes once for each segment, the 20 largest first. |
include_rivals_in_category | true or false | no | true adds the technologies of the same category, ranked by companies gained net in the latest month held. |
max_usd | number | no | The most the person has agreed to pay for this call, in US dollars. Leave it out unless a call has returned its price and the person agreed to it. |
Example:
POST https://api.fokals.com/v1/vendor_scorecard
{
"technology": "HubSpot",
"months": 6,
"segment": "size"
}companies_like_customers · $0.04 a company
Finds the companies that look today the way the person's own customers looked when they bought. Give up to 20 customers, by website, name or id, each with the day it bought where known, and the technology they bought where there is one. Each company comes with its row and the reasons it matches, in plain words: what it has been doing lately that the customers did before they bought, and what it has in common with them today. The answer also says for which customers a buying moment was found, and what most of them did before buying. Results are strongest when the customers' buying dates are known or a technology is given; without either, companies are matched on how alike they are to the customers today. The customers, and companies already running the technology, are left out. At most 100 companies a call. Costs $0.04 ($0.02 past 10,000 in a calendar month, $0.01 past 100,000) for each company returned, taken from the person's prepaid balance; a company that is not held costs nothing. A company this account has paid for is free to it again for 30 days in an answer of the same kind or a cheaper one: a profile covers the company's list rows, a list row does not cover a profile. A call that costs more than $0.25 returns its price instead of running: tell the person the price and call again with max_usd once they agree.
| Input | Kind | Needed | What it is |
|---|---|---|---|
customers | list of values | yes | The person's own customers, 1 to 20, each with the day it bought where known. |
technology | text | no | The technology the customers bought, by name, where it is one: "HubSpot". Companies already running it are left out. |
country | text | no | Only companies in this country, as a two-letter code. Matches the head office's country where it is known, otherwise the main market the company's website serves. |
industry | text | no | Only companies of this industry. One of: fashion_apparel, beauty_personal_care, health_wellness, food_beverage, home_garden, consumer_electronics, software_saas, finance_insurance, education, travel_hospitality, automotive, real_estate, entertainment_media, gaming, sports_outdoors, retail_marketplace, professional_services, telecom_utilities, nonprofit_public, pets, other. |
limit | whole number | no | How many companies to return. 25 unless given. |
max_usd | number | no | The most the person has agreed to pay for this call, in US dollars. Leave it out unless a call has returned its price and the person agreed to it. |
Example:
POST https://api.fokals.com/v1/companies_like_customers
{
"customers": [
{
"company": "notion.so",
"bought_on": "2026-09-15"
},
{
"company": "figma.com"
},
{
"company": "linear.app"
}
],
"technology": "HubSpot",
"limit": 25
}company_health · $0.08 a company
A weekly health reading for each of the person's companies: a band in words (signs of distress, worth watching, steady, growing, breaking out), a distress score and a breakout score from 0 to 100, the reasons in plain words, the shifts in positioning it shows (moving upmarket or downmarket, turning to AI, selling to a new buyer, prices going up or down), and the scores week by week. Use it to spot accounts at risk or taking off, and to time an approach. A company with no health reading costs nothing and is named as such. At most 100 companies a call. Costs $0.08 ($0.05 past 10,000 in a calendar month) for each company with a health reading, taken from the person's prepaid balance; a company that is not held costs nothing. A company this account has paid for is free to it again for 30 days in an answer of the same kind or a cheaper one: a profile covers the company's list rows, a list row does not cover a profile. A call that costs more than $0.25 returns its price instead of running: tell the person the price and call again with max_usd once they agree.
| Input | Kind | Needed | What it is |
|---|---|---|---|
companies | list of text | yes | The person's own companies, each as a website address ("acme.com"), a name or an id from an earlier answer. |
weeks | whole number | no | How many weeks of scores to return, oldest first. 13 unless given. |
max_usd | number | no | The most the person has agreed to pay for this call, in US dollars. Leave it out unless a call has returned its price and the person agreed to it. |
Example:
POST https://api.fokals.com/v1/company_health
{
"companies": [
"stripe.com",
"shopify.com"
],
"weeks": 13
}likely_next · $0.04 a company
What companies are likely to add next. Give the person's own companies to get, for each, the technologies it is likeliest to add in the coming weeks, each with an estimated likelihood (0 to 1), with the support counts behind it: the changes behind it in plain words, how many companies made the same change and how many of them then added the technology. A likelihood is an estimate, never a certainty. Or give a technology to get the companies likeliest to add it next, likeliest first, a page at a time, with the changes that most often come before it. Use it to reach an account before it buys, or to build a list of the next buyers of a product. At most 100 companies a call. Costs $0.04 ($0.02 past 10,000 in a calendar month, $0.01 past 100,000) for each company returned, taken from the person's prepaid balance; a company that is not held costs nothing. A company this account has paid for is free to it again for 30 days in an answer of the same kind or a cheaper one: a profile covers the company's list rows, a list row does not cover a profile. A call that costs more than $0.25 returns its price instead of running: tell the person the price and call again with max_usd once they agree.
| Input | Kind | Needed | What it is |
|---|---|---|---|
companies | list of text | no | The person's own companies, each as a website address, a name or an id: the technologies each is likeliest to add next. Give these or a technology. |
technology | text | no | A technology, by name: "HubSpot". The companies likeliest to add it next. Give this or companies. |
country | text | no | With technology: only companies in this country. Matches the head office's country where it is known, otherwise the main market the company's website serves. |
industry | text | no | With technology: only companies of this industry. One of: fashion_apparel, beauty_personal_care, health_wellness, food_beverage, home_garden, consumer_electronics, software_saas, finance_insurance, education, travel_hospitality, automotive, real_estate, entertainment_media, gaming, sports_outdoors, retail_marketplace, professional_services, telecom_utilities, nonprofit_public, pets, other. |
limit | whole number | no | With technology: how many companies to return. 25 unless given. |
cursor | text | no | With technology: next_cursor of the answer before, to carry on where it ended. |
max_usd | number | no | The most the person has agreed to pay for this call, in US dollars. Leave it out unless a call has returned its price and the person agreed to it. |
Example:
POST https://api.fokals.com/v1/likely_next
{
"technology": "Klaviyo",
"country": "US",
"limit": 25
}revenue_nowcast · $0.08 a company
An estimate of each of the person's US-listed companies' revenue growth for the quarter it has just ended and not yet reported: the estimated growth on the same quarter a year before, as a percentage, with the quarter it is for (about the day it ends), the day the estimate was made and the growth the company last reported beside it. Estimates are made every week for companies that file quarterly results with the US securities regulator, from the end of a quarter until the company puts out its results. The answer says how close the estimates have come on past quarters, beside last quarter's growth taken as the estimate. An estimate is never a certainty. Growth above +200% or below -80% is given at those limits. Use it to see a quarter's likely revenue growth before the results are out, to set it beside expectations, or to rank a list by likely growth. A company whose results are already out, or with no estimate, costs nothing and is named as such. At most 100 companies a call. Costs $0.08 ($0.05 past 10,000 in a calendar month) for each company with a revenue estimate, taken from the person's prepaid balance; a company that is not held costs nothing. A company this account has paid for is free to it again for 30 days in an answer of the same kind or a cheaper one: a profile covers the company's list rows, a list row does not cover a profile. A call that costs more than $0.25 returns its price instead of running: tell the person the price and call again with max_usd once they agree.
| Input | Kind | Needed | What it is |
|---|---|---|---|
companies | list of text | yes | The person's own companies, each as a website address ("nike.com"), a name or an id from an earlier answer. |
max_usd | number | no | The most the person has agreed to pay for this call, in US dollars. Leave it out unless a call has returned its price and the person agreed to it. |
Example:
POST https://api.fokals.com/v1/revenue_nowcast
{
"companies": [
"nike.com",
"fedex.com"
]
}intent_history · $0.08 a company
The buying topics each of the person's companies has shown signs of, week by week for up to 12 weeks: for each week, each topic with its score from 0 to 100, whether it was surging (rising sharply against the company's own recent weeks) and how many signals were behind it, with the company's latest signals by date and kind. Give a topic to follow just that one. Use it to see whether interest is building or fading, to time an approach, or to explain a score. A company with no intent held costs nothing and is named as such. Costs $0.08 ($0.05 past 10,000 in a calendar month) for each company with its intent history, taken from the person's prepaid balance; a company that is not held costs nothing. A company this account has paid for is free to it again for 30 days in an answer of the same kind or a cheaper one: a profile covers the company's list rows, a list row does not cover a profile. A call that costs more than $0.25 returns its price instead of running: tell the person the price and call again with max_usd once they agree.
| Input | Kind | Needed | What it is |
|---|---|---|---|
companies | list of text | yes | The person's own companies, each as a website address ("acme.com"), a name or an id from an earlier answer. At most 25 a call. |
weeks | whole number | no | How many weeks to return, oldest first. 12 unless given. |
topic | text | no | One buying topic to follow, by name or id: "Marketing automation". list_filters with kind buying_topics has them all. |
max_usd | number | no | The most the person has agreed to pay for this call, in US dollars. Leave it out unless a call has returned its price and the person agreed to it. |
Example:
POST https://api.fokals.com/v1/intent_history
{
"companies": [
"stripe.com",
"shopify.com"
],
"weeks": 8
}sales_team · $0.04 a company
The sales team each of the person's companies is building, as its own job ads show it: open sales roles now by role (SDR or BDR, account executive, account manager, sales engineer, sales leadership, sales operations, partnerships), by the customer segment they sell to and by country; the median base and on-target pay the ads state, by role; the sales tools the ads name; the last twelve closed weeks; and the latest open sales postings with what each states (base, on-target pay, quota, ramp, where leads come from). Pay is what an ad offers, not what is paid. Use it to size a sales team, see where it is expanding or moving upmarket, or benchmark an offer. A company with no sales postings costs nothing and is named as such. Costs $0.04 ($0.02 past 10,000 in a calendar month, $0.01 past 100,000) for each company returned, taken from the person's prepaid balance; a company that is not held costs nothing. A company this account has paid for is free to it again for 30 days in an answer of the same kind or a cheaper one: a profile covers the company's list rows, a list row does not cover a profile. A call that costs more than $0.25 returns its price instead of running: tell the person the price and call again with max_usd once they agree.
| Input | Kind | Needed | What it is |
|---|---|---|---|
companies | list of text | yes | The person's own companies, each as a website address ("acme.com"), a name or an id from an earlier answer. At most 25 a call. |
max_usd | number | no | The most the person has agreed to pay for this call, in US dollars. Leave it out unless a call has returned its price and the person agreed to it. |
Example:
POST https://api.fokals.com/v1/sales_team
{
"companies": [
"hubspot.com"
]
}funding_filings · $0.04 a company
The notices of a private fundraise each of the person's companies has filed with the US securities regulator (Form D), newest first: when it was filed, the amount offered and the amount sold so far, the date of the first sale, the company's industry and place as filed, and whether it amends an earlier notice. A company that has not raised money this way has none. Use it to see how much a company raised and when, beyond what it announced. A company with no filing costs nothing and is named as such. Costs $0.04 ($0.02 past 10,000 in a calendar month, $0.01 past 100,000) for each company returned, taken from the person's prepaid balance; a company that is not held costs nothing. A company this account has paid for is free to it again for 30 days in an answer of the same kind or a cheaper one: a profile covers the company's list rows, a list row does not cover a profile. A call that costs more than $0.25 returns its price instead of running: tell the person the price and call again with max_usd once they agree.
| Input | Kind | Needed | What it is |
|---|---|---|---|
companies | list of text | yes | The person's own companies, each as a website address ("acme.com"), a name or an id from an earlier answer. At most 25 a call. |
max_usd | number | no | The most the person has agreed to pay for this call, in US dollars. Leave it out unless a call has returned its price and the person agreed to it. |
Example:
POST https://api.fokals.com/v1/funding_filings
{
"companies": [
"stripe.com"
]
}headcount_history · $0.04 a company
How many people each of the person's companies employed over the years, oldest first, each figure with the date it is as of and whether it comes from the company's annual report or a public record. Use it to see whether a company is growing or shrinking. A company with no headcount held costs nothing and is named as such. Costs $0.04 ($0.02 past 10,000 in a calendar month, $0.01 past 100,000) for each company returned, taken from the person's prepaid balance; a company that is not held costs nothing. A company this account has paid for is free to it again for 30 days in an answer of the same kind or a cheaper one: a profile covers the company's list rows, a list row does not cover a profile. A call that costs more than $0.25 returns its price instead of running: tell the person the price and call again with max_usd once they agree.
| Input | Kind | Needed | What it is |
|---|---|---|---|
companies | list of text | yes | The person's own companies, each as a website address ("acme.com"), a name or an id from an earlier answer. At most 25 a call. |
max_usd | number | no | The most the person has agreed to pay for this call, in US dollars. Leave it out unless a call has returned its price and the person agreed to it. |
Example:
POST https://api.fokals.com/v1/headcount_history
{
"companies": [
"shopify.com"
]
}traffic_history · $0.04 a company
How popular each of the person's companies' websites has been, month by month for up to 13 months: each month, the smallest group of the most visited websites in the world it was in (top 1,000, 5,000, 10,000, 50,000, 100,000, 500,000, 1 million, 5 million, 10 million or 50 million), with the latest month and the trend. A smaller group is more traffic. Use it to see whether a company's audience is growing. A company whose website is not ranked costs nothing and is named as such. Costs $0.04 ($0.02 past 10,000 in a calendar month, $0.01 past 100,000) for each company returned, taken from the person's prepaid balance; a company that is not held costs nothing. A company this account has paid for is free to it again for 30 days in an answer of the same kind or a cheaper one: a profile covers the company's list rows, a list row does not cover a profile. A call that costs more than $0.25 returns its price instead of running: tell the person the price and call again with max_usd once they agree.
| Input | Kind | Needed | What it is |
|---|---|---|---|
companies | list of text | yes | The person's own companies, each as a website address ("acme.com"), a name or an id from an earlier answer. At most 25 a call. |
max_usd | number | no | The most the person has agreed to pay for this call, in US dollars. Leave it out unless a call has returned its price and the person agreed to it. |
Example:
POST https://api.fokals.com/v1/traffic_history
{
"companies": [
"stripe.com",
"shopify.com"
]
}signal_feed · $0.08 a company
Every buying signal seen across all companies from a day on, oldest first, a page at a time: the day, the company, where it was seen (its website, domain records, job ads, filings or announcements), what kind of signal it is and the buying topics it points to. Narrow it to one buying topic or one kind of source. Use it to watch a topic for new interest as it appears, or to build a list from fresh signals. Costs $0.08 ($0.05 past 10,000 in a calendar month) for each company with a signal in the page, taken from the person's prepaid balance; a company that is not held costs nothing. A company this account has paid for is free to it again for 30 days in an answer of the same kind or a cheaper one: a profile covers the company's list rows, a list row does not cover a profile. A call that costs more than $0.25 returns its price instead of running: tell the person the price and call again with max_usd once they agree.
| Input | Kind | Needed | What it is |
|---|---|---|---|
since | text | no | From this day on, YYYY-MM-DD. 7 days ago unless given; at most 90 days back. |
topic | text | no | Only signals of this buying topic, by name or id: "Marketing automation". |
source | one of a list | no | Only signals of this kind: site (the website), dns (the domain records), careers (job ads), filing (regulatory filings), news (announcements). |
limit | whole number | no | How many signals to return. 50 unless given, 100 at most. |
cursor | text | no | next_cursor of the answer before, to carry on where it ended. |
max_usd | number | no | The most the person has agreed to pay for this call, in US dollars. Leave it out unless a call has returned its price and the person agreed to it. |
Example:
POST https://api.fokals.com/v1/signal_feed
{
"since": "2026-10-20",
"topic": "Marketing automation",
"limit": 50
}announcement_feed · $0.04 a company
Every announcement companies made about themselves from a day on, newest first, a page at a time: the day, the company, the title, its types (funding, a launch, a partnership, an acquisition, a leadership change, an expansion and more), what a funding announcement states of the round, the leadership roles named, and a link. Narrow it to one type. Use it to catch every funding round or leadership change in a week. Costs $0.04 ($0.02 past 10,000 in a calendar month, $0.01 past 100,000) for each company returned, taken from the person's prepaid balance; a company that is not held costs nothing. A company this account has paid for is free to it again for 30 days in an answer of the same kind or a cheaper one: a profile covers the company's list rows, a list row does not cover a profile. A call that costs more than $0.25 returns its price instead of running: tell the person the price and call again with max_usd once they agree.
| Input | Kind | Needed | What it is |
|---|---|---|---|
since | text | no | From this day on, YYYY-MM-DD. 7 days ago unless given; at most 90 days back. |
type | one of a list | no | Only announcements of this type. list_filters with kind announcement_types has them all. |
limit | whole number | no | How many announcements to return. 50 unless given, 100 at most. |
cursor | text | no | next_cursor of the answer before, to carry on where it ended. |
max_usd | number | no | The most the person has agreed to pay for this call, in US dollars. Leave it out unless a call has returned its price and the person agreed to it. |
Example:
POST https://api.fokals.com/v1/announcement_feed
{
"since": "2026-10-20",
"type": "funding_round",
"limit": 50
}change_feed · $0.04 a company
Every change seen on company websites from a day on, oldest first, a page at a time, each in plain words: a technology added or dropped, a new market, language, currency, page or app, a price raised or cut, a plan or free plan added or dropped, a change in how the company describes itself. Narrow it to one kind of change. Use it to catch every company that adopted or dropped a tool, or changed its prices, this week. Costs $0.04 ($0.02 past 10,000 in a calendar month, $0.01 past 100,000) for each company returned, taken from the person's prepaid balance; a company that is not held costs nothing. A company this account has paid for is free to it again for 30 days in an answer of the same kind or a cheaper one: a profile covers the company's list rows, a list row does not cover a profile. A call that costs more than $0.25 returns its price instead of running: tell the person the price and call again with max_usd once they agree.
| Input | Kind | Needed | What it is |
|---|---|---|---|
since | text | no | From this day on, YYYY-MM-DD. 7 days ago unless given; at most 90 days back. |
category | one of a list | no | Only changes of this kind: technology (a tool added or dropped), market, language, currency, social, app, page, promo, dns, platform, pricing (a price or plan changed), label (how the company describes itself), identity. |
limit | whole number | no | How many changes to return. 50 unless given, 100 at most. |
cursor | text | no | next_cursor of the answer before, to carry on where it ended. |
max_usd | number | no | The most the person has agreed to pay for this call, in US dollars. Leave it out unless a call has returned its price and the person agreed to it. |
Example:
POST https://api.fokals.com/v1/change_feed
{
"since": "2026-10-20",
"category": "pricing",
"limit": 50
}listed_securities · $0.04 a company
The equity listings held, a page at a time: each with its name, ticker, exchange and market code, its global identifiers (FIGI and share class FIGI, ISIN, LEI), the issuer's country, the type of security, whether it is active or delisted, and the company it belongs to where one is held. Narrow it by exchange, country or status. Use it to map a portfolio or an index to companies. Listings that match no company cost nothing. Costs $0.04 ($0.02 past 10,000 in a calendar month, $0.01 past 100,000) for each company returned, taken from the person's prepaid balance; a company that is not held costs nothing. A company this account has paid for is free to it again for 30 days in an answer of the same kind or a cheaper one: a profile covers the company's list rows, a list row does not cover a profile. A call that costs more than $0.25 returns its price instead of running: tell the person the price and call again with max_usd once they agree.
| Input | Kind | Needed | What it is |
|---|---|---|---|
exchange | text | no | Only listings on this exchange, by its code: "US", "LN", or a market code such as "XNAS". |
country | text | no | Only listings of issuers from this country, as a two-letter code. |
status | one of a list | no | active or delisted. Both unless given. |
limit | whole number | no | How many listings to return. 50 unless given, 100 at most. |
cursor | text | no | next_cursor of the answer before, to carry on where it ended. |
max_usd | number | no | The most the person has agreed to pay for this call, in US dollars. Leave it out unless a call has returned its price and the person agreed to it. |
Example:
POST https://api.fokals.com/v1/listed_securities
{
"exchange": "US",
"status": "active",
"limit": 50
}market_trends · $0.05 a question, $0.10 a figure past 25
How a measure of the market has moved over time, newest first: hiring (new, closed and open roles, pay, seniority, work mode, functions, AI roles), sales hiring and pay, technologies taken up, dropped and in use, pages, markets and languages added, website moves, announcements, buying topics surging, traffic, headcount and stock listings. Each figure is a count, the number of companies it is out of, the rate, the rate the window before, the growth between them, and an index. Cut it by industry, sector, country, company size or exchange, and follow one subject such as a technology. Use it to see what is growing in a market and where. It returns figures, not companies. Costs $0.05 a question for up to 25 figures and $0.10 for each figure past 25, taken from the person's prepaid balance; a question nothing matches costs nothing. A call that costs more than $0.25 returns its price instead of running: tell the person the price and call again with max_usd once they agree.
| Input | Kind | Needed | What it is |
|---|---|---|---|
measure | one of a list | yes | What is measured. list_filters with kind market_measures lists them with what each counts. |
subject | text | no | For a measure with subjects, which one: a technology ("HubSpot"), a seniority, a work mode, a job function, a type of announcement, a buying topic, a customer segment, a lead source or a page, by name. Every subject unless given. |
by | one of a list | no | How the market is cut: all (the whole index, unless given), industry, sector, country, size (by employees) or market (a stock exchange, listed companies only). |
value | text | no | With by, one value of it: an industry id, a sector, a two-letter country code, a size band (1-10, 11-50, 51-200, 201-1000, 1001-5000, 5000+) or an exchange code. Every value unless given. |
window | whole number | no | The window each figure is counted over, in days: 7, 30, 180 or 365. 30 unless given. |
since | text | no | Only figures as of this day or later, YYYY-MM-DD. |
until | text | no | Only figures as of this day or earlier, YYYY-MM-DD. |
limit | whole number | no | How many figures to return. 50 unless given, 200 at most. |
cursor | text | no | next_cursor of the answer before, to carry on where it ended. |
max_usd | number | no | The most the person has agreed to pay for this call, in US dollars. Leave it out unless a call has returned its price and the person agreed to it. |
Example:
POST https://api.fokals.com/v1/market_trends
{
"measure": "tech_added",
"subject": "HubSpot",
"by": "industry",
"window": 30,
"limit": 20
}market_movers · $0.05 a question, $0.10 a figure past 25
The market figures that moved most on one day, largest growth first, up or down: which industries, countries, company sizes or exchanges saw the biggest change in hiring, technologies taken up or dropped, buying topics surging, traffic and the rest. Keep to one measure or see every one. Use it to spot what is changing fastest in the market right now. It returns figures, not companies. Costs $0.05 a question for up to 25 figures and $0.10 for each figure past 25, taken from the person's prepaid balance; a question nothing matches costs nothing. A call that costs more than $0.25 returns its price instead of running: tell the person the price and call again with max_usd once they agree.
| Input | Kind | Needed | What it is |
|---|---|---|---|
measure | one of a list | no | Only this measure. Every measure unless given. |
by | one of a list | no | How the market is cut: industry (unless given), sector, country, size, market or all. |
window | whole number | no | The window each figure is counted over, in days: 7, 30, 180 or 365. 30 unless given. |
as_of | text | no | The day of the figures, YYYY-MM-DD. The latest unless given. |
limit | whole number | no | How many figures to return. 25 unless given, 100 at most. |
max_usd | number | no | The most the person has agreed to pay for this call, in US dollars. Leave it out unless a call has returned its price and the person agreed to it. |
Example:
POST https://api.fokals.com/v1/market_movers
{
"measure": "hiring_new",
"by": "country",
"window": 30,
"limit": 10
}sales_pay_benchmarks · $0.05 a question, $0.10 a figure past 25
Advertised sales pay across every company's open sales job ads for one closed week, by role and country: the 25th percentile, median and 75th percentile of the stated base and of the stated on-target pay, in yearly US dollars, with how many ads each is over. Pay is what the ads offer, not what is paid. Use it to benchmark an offer or a sales budget. It returns figures, not companies. Costs $0.05 a question for up to 25 figures and $0.10 for each figure past 25, taken from the person's prepaid balance; a question nothing matches costs nothing. A call that costs more than $0.25 returns its price instead of running: tell the person the price and call again with max_usd once they agree.
| Input | Kind | Needed | What it is |
|---|---|---|---|
role | one of a list | no | Only this sales role. list_filters with kind sales_roles has them all. Every role unless given. |
country | text | no | Only this country, as a two-letter code, or ALL for every country together. Every country unless given. |
week | text | no | The week, by its Monday as YYYY-MM-DD. The latest closed week unless given. |
limit | whole number | no | How many rows to return. 50 unless given, 200 at most. |
max_usd | number | no | The most the person has agreed to pay for this call, in US dollars. Leave it out unless a call has returned its price and the person agreed to it. |
Example:
POST https://api.fokals.com/v1/sales_pay_benchmarks
{
"role": "account_executive",
"country": "US"
}list_filters · Free
Lists the values find_companies and count_companies filter by, with the number of companies under each where it is known: technologies (search by name), buying topics, industries, business models, countries (by the head office's country where it is known, otherwise the main market the company's website serves), and the types of announcement. Also what market_trends and market_movers can measure, with how each can be cut and its subjects, and the sales roles. Free.
| Input | Kind | Needed | What it is |
|---|---|---|---|
kind | one of a list | yes | Which list to return. |
search | text | no | Text a name holds. Needed for technologies beyond the most used: there are thousands. |
limit | whole number | no | How many to return. 50 unless given. |
Example:
POST https://api.fokals.com/v1/list_filters
{
"kind": "buying_topics",
"search": "marketing",
"limit": 20
}request_company · Free · changes what your account holds
Asks Fokals to add a company it does not hold yet, by the company's own website address. Free. The website is checked and, if it is a company website in the languages Fokals covers, read: that can take a few days, after which the other tools return it. The answer says where the company stands: held already, asked for, or outside what is covered.
| Input | Kind | Needed | What it is |
|---|---|---|---|
website | text | yes | The website address of the company to add: "acme.com". |
Example:
POST https://api.fokals.com/v1/request_company
{
"website": "example.com"
}report_problem · Free · changes what your account holds
Sends a report to the people who run Fokals: data that is wrong or missing for a company, a tool that did not work, or an idea. Free. Use it when the person says an answer was wrong, and tell them it was sent.
| Input | Kind | Needed | What it is |
|---|---|---|---|
kind | one of a list | yes | wrong_data: something returned is wrong. missing_data: something expected was not there. problem: a tool did not work. idea: a suggestion. |
message | text | yes | What was wrong or missing, in a sentence or two, with the value that was returned and what it should be if known. No personal details. |
company | text | no | The company it concerns, as a website address, a name or an id. |
Example:
POST https://api.fokals.com/v1/report_problem
{
"kind": "wrong_data",
"message": "The head office is listed in the wrong country.",
"company": "example.com"
}enrich_to_file · $0.04 a company · changes what your account holds
Enriches a long list of the person's own companies and hands the result over as a spreadsheet file (CSV) instead of an answer: one line a company, with its industry, business model, every technology, open roles, buying topics, agent readiness score, the projects its job ads state, and dates. Up to 10,000 companies a call. The person downloads the file signed in on their account page, for 7 days. Use enrich_companies instead when the list fits in an answer (100 companies). Costs $0.04 ($0.02 past 10,000 in a calendar month, $0.01 past 100,000) for each company returned, taken from the person's prepaid balance; a company that is not held costs nothing. A company this account has paid for is free to it again for 30 days in an answer of the same kind or a cheaper one: a profile covers the company's list rows, a list row does not cover a profile. A call that costs more than $0.25 returns its price instead of running: tell the person the price and call again with max_usd once they agree.
| Input | Kind | Needed | What it is |
|---|---|---|---|
companies | list of text | yes | The person's own companies, each as a website address, a name or an id. For a list longer than one answer holds. |
max_usd | number | no | The most the person has agreed to pay for this call, in US dollars. Leave it out unless a call has returned its price and the person agreed to it. |
Example:
POST https://api.fokals.com/v1/enrich_to_file
{
"companies": [
"stripe.com",
"shopify.com",
"hubspot.com"
]
}watch_companies · Free · changes what your account holds
Watches a list of the person's own companies and emails them what is new, every week or every day: website changes (a technology added or dropped, a new page or market, a price raised or cut, a plan or a free plan added or dropped, a sales motion that moved) and announcements. Setting a watch is free. Each digest then costs $0.04 ($0.02 past 10,000 in a calendar month, $0.01 past 100,000) for each company with something new, and nothing when nothing is new, taken from the prepaid balance without asking again and outside the monthly limit: say so, and set a watch only when the person has agreed to that. Up to 1,000 companies an account.
| Input | Kind | Needed | What it is |
|---|---|---|---|
companies | list of text | yes | The person's own companies to watch, each as a website address, a name or an id. |
every | one of a list | no | How often to send what is new. A week unless given. |
Example:
POST https://api.fokals.com/v1/watch_companies
{
"companies": [
"stripe.com",
"shopify.com"
],
"every": "week"
}unwatch_companies · Free · changes what your account holds
Stops watching the companies named, or all of them, so no more digests are sent or charged for them. Free.
| Input | Kind | Needed | What it is |
|---|---|---|---|
companies | list of text | no | The companies to stop watching, each as a website address, a name or an id. |
all | true or false | no | true stops watching every company. |
Example:
POST https://api.fokals.com/v1/unwatch_companies
{
"companies": [
"shopify.com"
]
}watched_companies · Free
Lists the companies the account watches, how often it is sent what is new, and the latest digest with what it held and cost. Free: a digest was paid for when it was sent.
It takes no inputs.
Example:
POST https://api.fokals.com/v1/watched_companies
{}add_funds · Free · changes what your account holds
Adds money to the person's Fokals prepaid balance with a Stripe shared payment token, for an agent that pays on the person's behalf. Ask the person first and agree the amount. An agent that can open a web page should pay on the Fokals payment page instead, https://buy.stripe.com/aFa8wPeDKalk0Qf5BL3F600: Stripe's checkout there takes a Link Pay Token from the person's Stripe Link wallet (--credential-type link_pay_token --merchant-account-id <the page's data-stripe-merchant-account>); pay with the email of the person's Fokals account, which the payment is credited to. Otherwise make a one-time token in their Stripe Link wallet, scoped to Fokals (Stripe profile @fokals): npx @stripe/link-cli spend-request create --credential-type shared_payment_token --network-id profile_61Vf0stFYRLwTaqWfA6Vf0stFTA8Y6uis82efPIES3cW --payment-method-id <their card, from payment-methods list> --amount <cents> --currency usd --context "<at least 100 characters: what the funds are for, which the person reads when approving>" --request-approval. Once they approve, pass the token (spt_...) here with the same amount in dollars, from $5.00 to $500.00. The funds are good for 12 months. The call itself is free: it charges the card, not the balance, and the same token is never charged twice. Without a Link wallet the person adds funds on their Fokals account page.
| Input | Kind | Needed | What it is |
|---|---|---|---|
payment_token | text | yes | The shared payment token the person's Stripe Link wallet granted Fokals for this amount: "spt_...". |
usd | number | yes | The amount in US dollars, the same the token was made for: 25 is $25.00. |
Example:
POST https://api.fokals.com/v1/add_funds
{
"payment_token": "spt_1QxExample",
"usd": 25
}account_balance · Free
The person's prepaid balance and the dates it expires, what they have spent this month and on which tools, their monthly spending limit, the prices, and where to add funds. Free.
It takes no inputs.
Example:
POST https://api.fokals.com/v1/account_balance
{}Use of the connector and the API is under the Terms of Service: for your own business use, and not for resale. To embed the data in a product, to redistribute it or to receive it in bulk, talk to an expert about a data licence. How personal data is handled is in the Privacy notice.
The licensed data feeds and bulk files have a reference of their own: the API reference.
Something wrong or missing: use the tool report_problem, or write to us through the contact page.
Claude and ChatGPT, and any assistant, agent or coding tool that supports the Model Context Protocol. Sign in from the assistant, or use a key from your account page.
$0.04 for each company in a search or a list you bring, $0.08 for a company found by buying topic and $0.10 for a full profile, with lower prices at volume. The same company is free again for 30 days, and a full profile also covers it in your lists.
It costs nothing, and the answer names the companies that were not found.
Yes. A request above $0.25 shows its price and waits for your yes, your balance is prepaid, and you can set your own monthly limit.
No. Add funds by card when you need them. There is no monthly fee and no minimum.
12 months from the day you add them. The oldest funds are spent first, and your account page shows the date they are good until.
Yes. Every tool is also an API endpoint, on the same account, balance and prices: one request a tool, with a key from your account page. The reference below lists them all.
The MCP and API are for your own use, a company or a list at a time. For bulk delivery, a data feed or redistribution, ask for a data licence: talk to an expert from your account page.
Create your account, add the MCP and enrich your first companies with the $1 your account opens with.