Skip to main content
Glama
techinfobel

infobel-api-mcp

Official
by techinfobel

search_businesses

Search the Infobel business database by name, location, category, or contact info. Filter results by phone, email, website, corporate status, and more to find specific companies.

Instructions

Search the Infobel worldwide business database.

IMPORTANT — record_fields is required. You MUST decide upfront which fields you need. Pass [] (empty list) for counts-only queries. uniqueID is always included automatically so callers can fetch full records.

Use-case examples for record_fields: Counts only (no records): record_fields=[] → Returns searchId + counts only (fastest, cheapest)

Name matching / deduplication: record_fields=["businessName", "tradeName", "companyName", "directoryName"]

Address verification: record_fields=["businessName", "address1", "address2", "postCode", "city", "province", "countryCode"]

Contact lookup: record_fields=["businessName", "phone", "email", "website"]

Full identity + location: record_fields=["businessName", "tradeName", "nationalID", "address1", "postCode", "city", "countryCode"]

Available field names (camelCase, as returned by the API): Identity: uniqueID, businessName, companyName, tradeName, directoryName, diasCode, nationalID, universalPublicationId Address: address1, address2, addressStreet, addressHouseNumber, postCode, city, cityCode, locality, localityCode, province, provinceCode, region, regionCode, country, countryCode Contact: phone, mobile, fax, email, website, webDomain, phoneOrMobile Corporate: yearStarted, employeesTotal, employeesHere, salesVolume, salesVolumeDollars, salesVolumeEuros, statusCode, statusCodeName, hierarchyCode, subsidiaryIndicator, importExportAgentCode, legalStatus Executive: ceoName, ceoTitle Geo: latitude, longitude, geoLevel, geoLevelDescription Digital: hasEShop, hasPayment, hasDigitalMarketing, hasShopTool, hasBuildingGeometry, hasMarketability, dncmPhone, websiteStatusFlag, websiteUUID, websiteIpAddress, websiteCrawlDate, webDomainUUID Linkage: parentLinkage, domesticLinkage, globalLinkage, familyMembers Categories: internationalCode01-06, infobelCode01-10, localCode01-15, altInternationalCode01-06, internationalCategories, altInternationalCategories Financial: financialHistory, salesVolumeReliabilityCode, employeesTotalReliabilityCode, employeesHereReliabilityCode Misc: language, reportDate, additionalInfos, genericSocialLinks

Returns JSON with: searchId — use with get_search_results for subsequent pages counts — total, hasPhone, hasEmail, etc. records — list of field-filtered records (empty when record_fields=[]) page — current page number (omitted when record_fields=[])

Args: country_codes: ISO 3166-1 alpha-2 country codes (e.g. ["GB", "DE"]). record_fields: Fields to return per record. Empty list = counts only. uniqueID is always included automatically. business_name: Business names to search for (e.g. ["Acme Corp"]). business_name_exclusive: Business names to exclude. national_id: National registration numbers to include. national_id_exclusive: National registration numbers to exclude. unique_ids: Infobel unique IDs to look up directly. unique_ids_exclusive: Infobel unique IDs to exclude. city_names: Filter by city names (e.g. ["London", "Manchester"]). city_codes: Filter by city codes. city_codes_exclusive: City codes to exclude. province_names: Filter by province/state names. province_codes: Filter by province codes. province_codes_exclusive: Province codes to exclude. region_names: Filter by region names. region_codes: Filter by region codes. region_codes_exclusive: Region codes to exclude. post_codes: Filter by postal/zip codes. post_codes_exclusive: Postal codes to exclude. street_address: Street address filter. house_number: House number filter. coordinate_latitude: Latitude for inclusive geo-search. coordinate_longitude: Longitude for inclusive geo-search. coordinate_distance: Radius in meters for inclusive geo-search (default 100). coordinate_latitude_exclusive: Latitude for exclusive geo-search. coordinate_longitude_exclusive: Longitude for exclusive geo-search. coordinate_distance_exclusive: Radius in meters for exclusive geo-search. phone_number: Phone numbers to include. phone_number_exclusive: Phone numbers to exclude. email: Email addresses to include. email_exclusive: Email addresses to exclude. website: Website URLs to include. website_exclusive: Website URLs to exclude. website_ip_address: Filter by website IP address. international_codes: ISIC international category codes to include. international_codes_exclusive: ISIC codes to exclude. infobel_codes: Infobel proprietary category codes to include. infobel_codes_exclusive: Infobel codes to exclude. local_codes: Local/national category codes to include (e.g. SIC, NAF). local_codes_exclusive: Local codes to exclude. alt_international_codes: NACE category codes to include. alt_international_codes_exclusive: NACE codes to exclude. categories_keywords: Free-text category keywords. restrict_on_main_category: When True, match only the primary category. has_address: Filter for businesses with an address. has_phone: Filter for businesses with phone numbers. has_fax: Filter for businesses with fax numbers. has_mobile: Filter for businesses with mobile numbers. has_email: Filter for businesses with email addresses. has_website: PresenceType for website: 0=Ignore, 1=Has, 2=HasNot. has_national_id: PresenceType for national ID: 0=Ignore, 1=Has, 2=HasNot. has_web_contact: Filter for businesses with website or email. has_contact: Filter for businesses with phone or mobile. has_coordinates: Filter for businesses with GPS coordinates. has_linked_in: Filter for businesses with LinkedIn profiles. has_logo: Filter for businesses with logos. has_admin: Filter for businesses with admin data. has_marketability: Filter for marketable records. has_building_geometry: Filter for records with building geometry. has_shop_tool: Filter for businesses with shop tools. has_payment: Filter for businesses with payment capabilities. has_digital_marketing: Filter for businesses with digital marketing. has_e_shop: Filter for businesses with e-shops. has_phone_deduplicated: Deduplicate on phone (requires has_phone). has_email_deduplicated: Deduplicate on email (requires has_email). has_website_deduplicated: Deduplicate on website (requires has_website). has_web_domain_deduplicated: Deduplicate on domain (requires has_website). has_national_id_deduplicated: Deduplicate on national ID. has_mobile_deduplicated: Deduplicate on mobile. has_contact_deduplicated: Deduplicate on contact. year_started_from: Minimum year started (e.g. "2000"). year_started_to: Maximum year started (e.g. "2020"). employees_total_from: Minimum employee count. employees_total_to: Maximum employee count. sales_volume_from: Minimum sales volume. sales_volume_to: Maximum sales volume. sales_volume_currency: Currency for sales volume (use get_currencies for codes). sales_volum_reliability_codes: Sales reliability codes to include. sales_volum_reliability_codes_exclusive: Sales reliability codes to exclude. family_members_from: Minimum family member count. family_members_to: Maximum family member count. is_published: Filter by published status on infobel.com. is_vat: Filter where NationalID is also a VAT number. filter_on_dncm: Exclude DoNotCallMe records (Belgium only). publishing_strength_from: Minimum publishing strength (0+). publishing_strength_to: Maximum publishing strength (max 100). linked_in_followers_from: Minimum LinkedIn followers. linked_in_followers_to: Maximum LinkedIn followers. status_codes: Business status codes for corporate hierarchy filtering. Use ["0"] for single-location independent companies (no corporate linkage — no parent, no subsidiaries). Use ["1"] for headquarters (HQ) of a corporate group. Use ["2"] for branches of a larger company. IMPORTANT: When searching for independent companies with no corporate linkage or subsidiaries, always include the appropriate status_codes to avoid returning corporate subsidiaries or branch offices. Choose based on the use case: - Fully independent single site → status_codes=["0"] - Group HQ only → status_codes=["1"] - Branch offices only → status_codes=["2"] - All with no parent filter → status_codes=["0","1","2"] Use get_status_codes to retrieve the full list. status_codes_exclusive: Business status codes to exclude. geo_levels: Geographic precision levels to include (use get_geo_levels). geo_levels_exclusive: Geographic precision levels to exclude. parent_unique_id: Filter by parent company unique ID. parent_unique_id_exclusive: Parent unique IDs to exclude. global_ultimate_unique_id: Filter by global ultimate owner unique ID. global_ultimate_unique_id_exclusive: Global ultimate unique IDs to exclude. global_ultimate_country_codes: Filter by global ultimate country codes. global_ultimate_country_codes_exclusive: Global ultimate country codes to exclude. domestic_ultimate_unique_id: Filter by domestic ultimate owner unique ID. domestic_ultimate_unique_id_exclusive: Domestic ultimate unique IDs to exclude. ceo_name: CEO/executive name search. ceo_title: CEO/executive title search. executive_tags: Filter by executive tags (use get_executive_tags for values). legal_status_codes: Legal form codes to include (use get_legal_status_codes). legal_status_codes_exclusive: Legal form codes to exclude. national_identification_type_codes: National ID type codes to include. national_identification_type_codes_exclusive: National ID type codes to exclude. import_export_agent_codes: Import/export agent codes to include. import_export_agent_codes_exclusive: Import/export agent codes to exclude. technographical_tags: Filter by web technologies (use get_technographical_tags). website_status_flags: Website status flags to include (use get_website_status_flags). website_status_flags_exclusive: Website status flags to exclude. social_links: Social media platforms to include (use get_social_links for codes). social_links_exclusive: Social media platforms to exclude. languages: ISO 639-3 language codes to include. languages_exclusive: ISO 639-3 language codes to exclude. can_match_any_business_filter: When True, OR logic instead of AND. try_any_location_match: Use partial location matches if exact not found. international_phone_format: Return phone numbers with +xxx prefix. validate_filters: Validate provided filters before searching. display_language: Language for result display (e.g. "en", "fr"). page_size: Results per page (default 20). sorting_order: Sorting options (use get_sorting_orders for values). data_type: Data type: "Business" (default), "YellowPages", or "WhitePages".

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
country_codesYes
record_fieldsYes
business_nameNo
business_name_exclusiveNo
national_idNo
national_id_exclusiveNo
unique_idsNo
unique_ids_exclusiveNo
city_namesNo
city_codesNo
city_codes_exclusiveNo
province_namesNo
province_codesNo
province_codes_exclusiveNo
region_namesNo
region_codesNo
region_codes_exclusiveNo
post_codesNo
post_codes_exclusiveNo
street_addressNo
house_numberNo
coordinate_latitudeNo
coordinate_longitudeNo
coordinate_distanceNo
coordinate_latitude_exclusiveNo
coordinate_longitude_exclusiveNo
coordinate_distance_exclusiveNo
phone_numberNo
phone_number_exclusiveNo
emailNo
email_exclusiveNo
websiteNo
website_exclusiveNo
website_ip_addressNo
international_codesNo
international_codes_exclusiveNo
infobel_codesNo
infobel_codes_exclusiveNo
local_codesNo
local_codes_exclusiveNo
alt_international_codesNo
alt_international_codes_exclusiveNo
categories_keywordsNo
restrict_on_main_categoryNo
has_addressNo
has_phoneNo
has_faxNo
has_mobileNo
has_emailNo
has_websiteNo
has_national_idNo
has_web_contactNo
has_contactNo
has_coordinatesNo
has_linked_inNo
has_logoNo
has_adminNo
has_marketabilityNo
has_building_geometryNo
has_shop_toolNo
has_paymentNo
has_digital_marketingNo
has_e_shopNo
has_phone_deduplicatedNo
has_email_deduplicatedNo
has_website_deduplicatedNo
has_web_domain_deduplicatedNo
has_national_id_deduplicatedNo
has_mobile_deduplicatedNo
has_contact_deduplicatedNo
year_started_fromNo
year_started_toNo
employees_total_fromNo
employees_total_toNo
sales_volume_fromNo
sales_volume_toNo
sales_volume_currencyNo
sales_volum_reliability_codesNo
sales_volum_reliability_codes_exclusiveNo
family_members_fromNo
family_members_toNo
is_publishedNo
is_vatNo
filter_on_dncmNo
publishing_strength_fromNo
publishing_strength_toNo
linked_in_followers_fromNo
linked_in_followers_toNo
status_codesNo
status_codes_exclusiveNo
geo_levelsNo
geo_levels_exclusiveNo
parent_unique_idNo
parent_unique_id_exclusiveNo
global_ultimate_unique_idNo
global_ultimate_unique_id_exclusiveNo
global_ultimate_country_codesNo
global_ultimate_country_codes_exclusiveNo
domestic_ultimate_unique_idNo
domestic_ultimate_unique_id_exclusiveNo
ceo_nameNo
ceo_titleNo
executive_tagsNo
legal_status_codesNo
legal_status_codes_exclusiveNo
national_identification_type_codesNo
national_identification_type_codes_exclusiveNo
import_export_agent_codesNo
import_export_agent_codes_exclusiveNo
technographical_tagsNo
website_status_flagsNo
website_status_flags_exclusiveNo
social_linksNo
social_links_exclusiveNo
languagesNo
languages_exclusiveNo
can_match_any_business_filterNo
try_any_location_matchNo
international_phone_formatNo
validate_filtersNo
display_languageNo
page_sizeNo
sorting_orderNo
data_typeNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It discloses the return format (JSON with searchId, counts, records, page) and key behaviors like uniqueID auto-inclusion and page omission for counts-only queries. It does not cover error conditions or rate limits, but for a read/search tool this is sufficient.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with critical information and structured with sections, but it is excessively long due to the enumeration of 124+ parameters. While organized, it could be more concise by grouping similar parameters or using subheadings.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (124 parameters, no annotations, no output schema), the description covers most aspects: purpose, required fields, usage patterns, available fields, return format, and parameter explanations. It references sibling tools for lookup values. However, it lacks details on pagination beyond searchId and error handling.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description must compensate. It adds meaning by categorizing available fields (Identity, Address, Contact, etc.) and providing detailed explanations for critical parameters like record_fields and status_codes. Some parameters like coordinate_* have minimal extra context, but overall it significantly enhances understanding.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Search the Infobel worldwide business database,' providing a specific verb (search) and resource (Infobel database). It distinguishes itself from sibling tools like get_record and get_search_results by being the primary search entry point.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives extensive usage guidance, including a bold IMPORTANT note about record_fields being required, use-case examples for different query types, and explanations of status_codes for corporate hierarchy filtering. However, it does not explicitly direct users to alternative tools like get_record for full record retrieval.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/techinfobel/infobel-getdata-api-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server