syrto_compare_companies fetches the same metrics for multiple companies in a single call, returning results side-by-side. It is significantly faster than calling syrto_get_company_metrics once per company.
Use this tool to
- Compare specific financial KPIs across 2 or more companies side-by-side
- Check which company performs best on a given metric (e.g. ROE, EBITDA)
- Get year-on-year metric trends for multiple companies at once
Arguments
string[]
required
List of company IDs from
syrto_find_company or syrto_lookup_companies_by_tax_id. Minimum 2, maximum 20.string[]
required
Metric code slugs to compare (min 1, max 10). Examples:
["ebitda", "roe", "net_financial_position"]. Use syrto_search_metric_definitions or syrto_list_available_metrics to find valid slugs.integer
required
Fiscal year for comparison (e.g.
2023).string
"en" for English (default) or "it" for Italian.Returns
A JSON object with per-company results and a list of any unrecognized company IDs.object[]
One entry per requested company (in the same order as
company_ids), each with company_id, legal_name, consolidated, and a years array.consolidated is false for that company’s own individual accounts and true for its group’s consolidated ones. A comparison can mix the two, so check it before treating a gap between companies as real.object[]
One entry per fiscal year. Each contains:
year- fiscal yearfinancial_statement_date- ISO 8601 date of the statement the figures come from (the statement’s own date, normally the fiscal year end, not the deposit date). Omitted when not on record.size- EU SME classificationemployee_count- headcount (nullif unavailable)metrics- list of metric objects
years array means the company returned an overview but has nothing for the requested year. Only its five most recent filed years are searched, so an older year reads as empty even if the company filed it.object[]
One entry per requested metric slug, each with:
name- human-readable metric nameslug- internal identifiervalue- numeric value (ornullif unavailable)better_when- object withwhen_type:"HIGHER","LOWER","NEAR_TARGET", ornullscore- integer 1-5 (ornull) rating the value against that company’s own reference market, already normalised for direction so 5 is best for every metric. This is the field to compare across companies in different sectors - raw values are not comparable that way. Absent for metrics with no scoring strategy.
string[]
Company IDs for which the API returned no financial overview. That is all it establishes - the company may well exist. Invalid or malformed IDs raise an error instead.
string
Context note about data availability and where to find more on syrto.ai.
string
Link to the Syrto web app, where you can explore more data and insights.
string | null
Present whenever the comparison came back short. It counts the IDs with no overview and names the companies affected by the other two gaps.
Example
Compare EBITDA and ROE for two companies:- Returns each company with the requested metrics for the specified year
- Check
missing_company_idsto verify all requested companies were found