CompanyBelgium

Searching Belgian companies in natural language: the complete /recherche guide

Type "accountants in Liège", "restaurants 1000 Brussels" or a BCE number: the /recherche bar turns your sentence into NACE, postcode and name filters, then returns a page enriched with sector statistics. Tour of use cases, URL shortcuts and linguistic subtleties.

May 18, 20267 min read

Why natural-language search?

The BCE/KBO holds 1.9 million active companies, indexed by 700+ NACE codes and around 2,800 municipalities. Asking a user to memorize 6920 for accountants or 5610 for restaurants is unrealistic. A modern search bar must accept what people actually type: "lawyers Brussels", "carpentry 7000", "bakeries Ghent".

That is exactly what Company Belgium's /recherche page does. Under the hood, three layers cooperate to understand the query, never imposing technical vocabulary on the end user.

The three layers of understanding

1. The static dictionary (free, instant)

200+ FR/NL/EN aliases are mapped to their NACE code. "accountant", "fiduciaire", "boekhouder", "comptable" all point to 692001. Same for cities: "Brussels", "Bruxelles", "Brussel" are normalized to the same municipality, and a lone postcode (1000, 2000, 9000) triggers an area search.

No network call, no latency: the mapping sits in memory and resolves in a few milliseconds.

2. The contextual AI engine (safety net)

When the dictionary recognizes nothing — original phrasings, typos, mixed languages, implicit intent — the query is passed to an AI engine that extracts:

  • a possible NACE code
  • a municipality or postcode
  • a name when the user is looking for a specific company

The result is cached: the same phrasing never pays the AI twice. A confidence threshold (≥ 30%) avoids risky interpretations.

3. The name fallback

If nothing comes out of the two previous layers, the entire query is treated as a name search: PostgreSQL trigram search, tolerant to accents, spaces and casing variants. Type "Espero" and you will find "Espero-Soft Informatiques SRL" without specifying it's a name.

Concrete use cases

You typeExtracted filtersResult
lawyers brusselsNACE 6910 + municipality BrusselsActive Brussels-based law firms
restaurants 1000NACE 5610 + postcode 1000Brussels city-center restaurants
0200.065.765(BCE number detected client-side)Redirect to company record
carpentry liègeNACE 4332 + municipality LiègeLiège-based carpenters
EsperoDenomination "Espero"All companies containing that word
active accountants in AntwerpNACE 6920 + municipality Antwerp (AI)Antwerp accountancy firms

The results page: more than a list

Once the query is interpreted, /recherche doesn't just render a flat table. It composes a contextual page:

  • SEO-friendly breadcrumbs — sector → city → results, every link is indexable.
  • Interpretation banner — when the AI intervened, the page shows "*your query 'X' was understood as Y*", reassuring users and allowing correction.
  • Active filter chips — each filter is a removable chip: drop the city with one click without retyping the query.
  • Aggregated statistics — distribution by legal form, top municipalities, age profile of the portfolio. Ideal to evaluate a market before prospecting.
  • Deep pagination — every page is indexable, with a canonical URL.

URLs: shortcuts and bookmarkable

Any combination of filters is expressible in the URL — handy to share a precise view via email or Slack:

Code
1
2
3
4
/en/recherche?naceCode=6920&city=Brussels
/en/recherche?naceCode=5610&zipCode=2000
/en/recherche?name=Espero
/en/recherche?q=lawyers+brussels

The q parameter is "raw natural language" and triggers the three interpretation layers. Typed parameters (naceCode, city, zipCode, name) take priority and bypass the AI.

Three tips to make /recherche part of your routine

  • Combine activity + area rather than searching a sector across all of Belgium. A prospecting team goes from 8,000 low-actionable results down to 150 qualified targets.
  • Save your searches from the "Refine" panel: the query becomes an active watch, and any new registration matching your filters is notified.
  • Follow strategic companies with the star button: the record is added to your dashboard and every BCE change (director, registered office, NACE, status) is logged.
  • Accepted limits

    • Natural-language search is intentionally conservative: when the AI is unsure, it lets the query fall back to the name layer rather than guess.
    • Four-digit postcodes are never confused with a BCE number (8+3 digits) — the routing distinguishes both.
    • Very generic queries ("company", "business") do not return the whole register: the page requires at least one filter to activate the search engine.

    Wrap-up

    /recherche is built both for first impressions and for repeated daily use. The bar accepts what users actually type, the results page doubles as a market-analysis tool, and every URL is shareable. For technical teams, the REST API /api/v2/companies exposes the same filters: the AI interpretation layer is reserved for the web interface. For more depth, see the guide to searching by address via the BCE API, the Belgian market statistics by sector and region, the page on understanding Belgian NACE codes and the CRM pipeline for B2B prospecting in Belgium.

    Frequently asked questions

    How do I search Belgian companies by business sector (NACE code) on Company Belgium?

    Type the sector name in French, Dutch or English in the /recherche bar. For example, "lawyers", "avocats" or "advocaten" are all translated to NACE code 6910. You can also combine the sector with a city or postcode to refine results, for example "lawyers Liege" or "restaurants 1000".

    Does Company Belgium's natural-language search work in multiple languages?

    Yes, the /recherche bar accepts French, Dutch and English simultaneously. Over 200 multilingual aliases are mapped to NACE codes and Belgian municipalities. You can even mix languages in one query: "accountants Brussels" or "boekhouder Liege" will be correctly interpreted.

    How do I save a Belgian company search to be alerted about new registrations?

    Once your filters are set on /recherche, click "Refine" then "Save search". The query becomes an active watch: any new registration matching your criteria (NACE sector, municipality, legal form) is sent to you by email. This feature is available for users logged into their Company Belgium account.

    What is the difference between searching by postcode and by municipality on Company Belgium?

    Searching by municipality covers all addresses in that municipality, regardless of their postal section. Searching by postcode is more precise: it limits results to companies whose registered office address exactly matches that code. For proximity prospecting, the postcode is more targeted; for regional market analysis, the municipality or city offers broader coverage.

    Ready to get started?

    Create your free account and get your API keys in minutes.

    Comments

    Loading comments…

    Leave a comment

    Not published — used only to notify you.

    Comments are moderated before publication.

    Related articles

      Search Belgian Companies in Natural Language — guide 2026 | CompanyBelgium