Company location

The company_location filter restricts results to companies located in a place. It's a gate: it decides which companies match.

Accepted relations

RelationValueBehavior
inan array of location objectsCompany has a location in any of these places.
not_inan array of location objectsCompany has no location in these places.
withina single location object with a radiusCompany has a location within the radius of a point (proximity).

A location object is { "country": …, "region": …, "city": … }, where country is required (an ISO 3166-1 two-letter code or a full name) and region / city are optional and narrow the match:

{ "attribute": "company_location", "relation": "in", "value": [{ "country": "DE" }, { "country": "FR", "region": "Île-de-France" }] }

Main and secondary locations

A company's locations fall into two kinds:

  • Main: its headquarters or primary place of business.
  • Secondary: every other place where it maintains a business presence, such as regional offices, branches, factories, or stores.

This is the location_role you see in evidence, and it's what strictness selects between.

Strictness

strictness selects which of a company's locations the filter tests:

  • 1: the main location only (where the company is based). The default.
  • 2: secondary locations only.
  • 3: main and secondary (anywhere the company is present).
{ "attribute": "company_location", "relation": "in", "value": [{ "country": "DE" }], "strictness": 3 }

With the default (1), a location filter means "HQed in." Use strictness: 3 for "operates in."

Proximity (radius) search

Use the within relation to match companies with a location inside a radius of a point:

{ "attribute": "company_location", "relation": "within", "value": { "address": "Rheinufer, Ludwigshafen am Rhein, Germany", "radius": 25, "unit": "km" } }
  • address: the point to search around. It can be partial or full, but should resolve to at least a city or postcode.
  • radius: a positive number, up to 500 km (or 300 miles). Decimals are allowed for small distances.
  • unit: km or mi.

On a match, the evidence includes a distance_km for each matched location.

📘

Precision requirement

A company is included in a radius search only when its location is known to at least postcode-level precision. Locations Veridion holds only at a broader level (city, region, or country) are not approximated to the area's geographic center, so they are excluded from radius results.

This keeps proximity matches precise, at the cost of omitting companies whose location is recorded only coarsely.

Where it's accepted

All four modules: a gate in supplier_discovery and segmentation, a claim check (including within) in company_verification, and a disambiguator in company_lookup.