Fiber AI
Search & discovery

Sizing and locating companies

Filter companies by headcount with any range you need, and by headquarters location down to city level — both fully supported on company search and combined search.

Sizing and locating companies

Two company filters do more than they advertise. Company size accepts arbitrary ranges, not just preset bands, and headquarters location accepts city-level search with a radius, plus metros, polygons and custom circles. This page shows how to express both, including the boundary rules that trip up integrations.

Size companies by headcount

employeeCountV2 takes one range with two bounds, and both bounds are any non-negative integer, so you're not limited to preset bands:

{ "employeeCountV2": { "lowerBoundExclusive": 0, "upperBoundInclusive": 60 } }

The lower bound is exclusive (except 0, which is inclusive). The range above covers companies reporting up to 60 employees. But { "lowerBoundExclusive": 10, "upperBoundInclusive": 50 } is really 11–50: a company with exactly 10 employees doesn't match. If a bound matters to your definition, subtract one (or use 0).

The upper bound is inclusive. The upper bound must be greater than the lower bound; inverted bounds return a 400 telling you so.

Preset bands (1–10, 11–50, 51–200, …) are just ranges expressed at these boundaries. Use them when they match your definition; use arbitrary bounds when they don't; "under 60 employees" doesn't need two searches or a rounded band. One range per request; for a second range, run a second search and merge.

Targeting small companies? Size by headcount, not revenue. A revenue filter only matches companies that have a revenue figure, and many small and private companies don't have one, so so a "under $5M revenue" search returns a small share of the companies that actually qualify. The same audience by employeeCountV2 returns far more of them. See company size and revenue.

Locate companies

headquartersLocation draws one or more regions and matches companies headquartered inside them. Regions come from four strategies, combined freely:

StrategyUse it forShape
free-form-cityCity-level search by nameA city name, neighborhood or ZIP plus a radius
radial-distanceA circle around exact coordinates{ latitude, longitude } plus a radius
preset-regionWell-known metrosA slug like sf-bay-area or greater-london
polygonCustom areas — countries, corridors, territories3+ coordinate pairs, closed

The city recipe most people want:

{
  "headquartersLocation": {
    "unionAll": [
      {
        "strategy": "free-form-city",
        "city": "Austin",
        "countryCode": "USA",
        "radius": { "unit": "miles", "quantity": 25 }
      }
    ]
  },
  "employeeCountV2": { "lowerBoundExclusive": 0, "upperBoundInclusive": 60 }
}
  • Set a radius of 25–50 miles. Company headquarters are registered addresses, not commutes; radius 0 matches only companies inside the exact city limits, which drops most of a metro. 25–50 miles is the sweet spot for "companies in this city".
  • countryCode disambiguates. "Springfield" exists in several countries; the code pins which one you mean.
  • Anything that resolves to a point works: neighborhoods ("Shoreditch") and ZIP codes ("94110") included. States, provinces and countries are areas, not points; use the dedicated country and state filters for those.
  • For deterministic results, skip geocoding: resolve your city with the location typeahead and pass the coordinates as radial-distance instead.
  • subtractAll carves holes out: "within 500 miles of New York City but not within 20 miles of Philadelphia" is one unionAll region and one subtractAll region.

On this page