Factline
Measured conclusion: Deep-tested. L2 outcome: tools_ok.
EU company dossiers, sanctions and PEP checks, x402 pay guard; Dutch homes and cars.
| Author | io.github.snefhew |
|---|---|
| Access | remote |
| Publisher key required | No |
| Measured state | Deep-tested |
| L1 liveness | alive |
| L1 latency | 2435 ms |
| Last measured | 2026-10-24 |
Add to your agent
Copy this into your MCP client config:
{
"mcpServers": {
"Factline": {
"url": "https://factline.dev/mcp",
"transport": "streamable-http"
}
}
}
Measured tools (53)
nl_home_basicread-onlyFree. Use when the user mentions a Dutch address or asks about a home in the Netherlands: year built, floor area, use, neighbourhood residents and average home value, liveability percentile, in English. Accepts postcode + house number or free text. Sources: BAG, CBS, Leefbaarometer.
Parameters:
q— string — Alternative to postcode: free-text address, e.g. 'Visschersplein 1 Utrecht'addition— string — Optional house number additionpostcode— string — Dutch postcode, e.g. 3511LXhouse_letter— string — Optional house letter, e.g. Ahouse_number— integer — House number, e.g. 1
Hints: read-only yes · destructive no · idempotent yes · open-world yes
x402_pay_guardread-onlyFree. Use right before paying an x402 seller: screens the payTo wallet against the OFAC list, checks that payTo is a wallet this seller lists in the x402 Bazaar or Circle catalogue (catches a swapped or injected payTo), looks up the seller's payer history, age and uptime, and checks the amount against the seller's listed price and your budget. Returns allow, review or deny with reasons and a signed verdict. Input: url of the resource, pay_to from its 402, optional amount_usd, max_usd, network, mode (strict: deny instead of review on a wallet mismatch or missing pay_to).
Parameters:
url(required) — string — The x402 resource URL you are about to paymode— string — strict: deny on a payTo the seller does not list or a missing pay_topay_to— string — payTo address from the 402 challengemax_usd— string — Your budget per call in USDnetwork— string — Network from the 402, e.g. eip155:8453amount_usd— string — Amount you are about to pay in USD, e.g. 0.05
Hints: read-only yes · destructive no · idempotent yes · open-world yes
x402_sellersread-onlyFree. Use when looking for an x402 API to pay for a task, or to see if a seller is used and up: sellers from the Coinbase x402 Bazaar ranked by unique payers (30 days), with Factline's daily check that their endpoints answer a valid 402, speed and networks. Filter with q (e.g. sanctions, weather, search).
Parameters:
q— string — Search text, e.g. sanctionslimit— stringnetwork— string — e.g. solana or eip155:8453
Hints: read-only yes · destructive no · idempotent yes · open-world yes
get_trial_keyFree. Use when the user wants to use Factline's paid checks without a crypto wallet: issues a trial API key (2,000 credits a month) to the user's work email. Ask the user for their email first; never invent one. One key per email.
Parameters:
email(required) — string — The user's work email (ask them)name— string — Person or company nameuse_case— string
Hints: read-only no · destructive no · idempotent no · open-world yes
eu_exchange_ratesread-onlyFree. Use when the user needs an official euro exchange rate or a conversion for an invoice, contract or report: ECB euro reference rates (about 30 currencies), today or any working day in the last 90 days, with cross rates. Input: base (default EUR), symbols (e.g. USD,GBP), optional date YYYY-MM-DD and amount.
Parameters:
base— stringdate— stringamount— stringsymbols— string
Hints: read-only yes · destructive no · idempotent yes · open-world yes
eu_law_lookupread-onlyFree. Use when the user cites an EU regulation, directive or decision and you need its official title, date, whether it is still in force, and the EUR-Lex link to cite: by CELEX number (e.g. 32016R0679) or citation (e.g. Regulation (EU) 2016/679, Directive 2015/849).
Parameters:
celex(required) — string — CELEX number or a citation like 'Regulation (EU) 2016/679'
Hints: read-only yes · destructive no · idempotent yes · open-world yes
nl_vehicle_basicread-onlyFree. Use when the user gives a Dutch licence plate or asks about a specific car in the Netherlands: make, model, age, fuel, Euro class, APK (MOT) expiry, insurance, open recall, RDW odometer verdict and a risk level. Source: RDW.
Parameters:
licence_plate(required) — string — Dutch licence plate, e.g. GT-722-F
Hints: read-only yes · destructive no · idempotent yes · open-world yes
nl_neighbourhood_summaryread-onlyFree. Use when the user asks what a Dutch neighbourhood or postcode area is like, or whether it is safe: headline facts for a postcode: residents, average home value (WOZ) and the municipality's average sale price, share of owner-occupied homes, liveability percentile, crime per 1,000 residents vs the national rate, and distance to supermarket, GP, primary school and train station. Sources: CBS, Politie, Leefbaarometer.
Parameters:
code— string — Alternative: CBS neighbourhood code, e.g. BU05182245postcode— string — Any Dutch postcode in the neighbourhood, e.g. 2517AS
Hints: read-only yes · destructive no · idempotent yes · open-world yes
nl_car_modelread-onlyFree. Use when the user asks how reliable a car model is, or which used car to buy: facts for the model in the Netherlands from RDW data: APK (MOT) defect rate vs the average of all models, the 10 most common APK defects, recalls with component and risk, share with an open recall, share with an illogical (rolled-back) odometer, cars registered. Covers ~450 common passenger-car models.
Parameters:
make(required) — string — Car make, e.g. Volkswagenmodel(required) — string — Model, e.g. Golf
Hints: read-only yes · destructive no · idempotent yes · open-world yes
nl_schools_nearread-onlyFree. Use when the user asks about schools near a Dutch address or postcode, or is moving with children: the nearest primary and secondary schools, with distance, denomination, pupils, the share of pupils reaching the target reading and maths level on the end-of-primary test (vs national), and secondary exam pass rates per track (vmbo/havo/vwo). Also the nearest daycare (0 to 4) and after-school care (4 to 12) with registered places. Sources: DUO, Landelijk Register Kinderopvang.
Parameters:
postcode(required) — string — Dutch postcode, e.g. 3511LX or 3511
Hints: read-only yes · destructive no · idempotent yes · open-world yes
buy_full_address_reportReturns a secure payment link (iDEAL or card, via Dodo Payments, EUR 2.95 incl. VAT) for the full English report on a Dutch address: crime vs national rate, noise and air quality, flood probability, ground height, monuments, permits, amenities, liveability breakdown and home-value trend. The report opens right after payment. Only use when the user wants the full report or asks to buy it.
Parameters:
q— string — Alternative to postcode: free-text address, e.g. 'Visschersplein 1 Utrecht'addition— string — Optional house number additionpostcode— string — Dutch postcode, e.g. 3511LXhouse_letter— string — Optional house letter, e.g. Ahouse_number— integer — House number, e.g. 1
Hints: read-only no · destructive no · idempotent no · open-world yes
buy_full_vehicle_reportReturns a secure payment link (iDEAL or card, via Dodo Payments, EUR 1.95 incl. VAT) for the full English vehicle report: APK inspection history with defects, recall details, import/taxi/export history, specs and catalogue price. Only use when the user wants the full report or asks to buy it.
Parameters:
licence_plate(required) — string — Dutch licence plate, e.g. GT-722-F
Hints: read-only no · destructive no · idempotent no · open-world yes
nl_home_reportread-onlyUse when the user asks about a specific Dutch home or address before renting, buying or moving: full English report with year built, floor area, energy label, crime vs national rate, noise, air quality (NO2, PM2.5), ground height, monuments, permits, schools, 18 amenity distances, neighbourhood income and home values. Input: postcode + house number. Sources: Kadaster, CBS, Politie, RIVM, RVO. Costs 0.04 USDC via x402, or 20 credits of a Factline API key.
Parameters:
q— string — Alternative to postcode: free-text address, e.g. 'Visschersplein 1 Utrecht'addition— string — Optional house number additionpostcode— string — Dutch postcode, e.g. 3511LXhouse_letter— string — Optional house letter, e.g. Ahouse_number— integer — House number, e.g. 1
Hints: read-only yes · destructive no · idempotent yes · open-world yes
nl_home_compareread-onlyUse when the user is choosing between 2 to 5 Dutch addresses: side-by-side liveability, crime, home values, floor area, year built, noise, air quality, ground height and distances to station, supermarket, school and GP, with the best address per metric and the full report for each. Input: addresses separated by ';'. Costs 0.08 USDC via x402, or 40 credits of a Factline API key.
Parameters:
addresses(required) — string — 2 to 5 Dutch addresses separated by ';', e.g. '3511LX 1; 2517AS 100'
Hints: read-only yes · destructive no · idempotent yes · open-world yes
nl_neighbourhoodread-onlyUse when the user asks what a Dutch neighbourhood or postcode area is like: residents and age mix, housing and home values, household income, energy use, distances to 18 amenities, police-registered crime vs national rate and liveability score, in English. Input: any postcode or CBS buurt code. Sources: CBS, Politie, Leefbaarometer. Costs 0.01 USDC via x402, or 5 credits of a Factline API key.
Parameters:
code— string — Alternative: CBS neighbourhood code, e.g. BU05182245postcode— string — Any Dutch postcode in the neighbourhood, e.g. 2517AS
Hints: read-only yes · destructive no · idempotent yes · open-world yes
nl_vehicle_reportread-onlyUse when the user asks about a specific Dutch car or licence plate, for example before buying it used: make, model, APK expiry and full inspection history with defects, insurance, open recalls, RDW odometer verdict, import/taxi/export history, specs, CO2, catalogue price and risk flags, in English. Input: Dutch licence plate. Source: RDW. Costs 0.02 USDC via x402, or 10 credits of a Factline API key.
Parameters:
licence_plate(required) — string — Dutch licence plate, e.g. GT-722-F
Hints: read-only yes · destructive no · idempotent yes · open-world yes
nl_address_lookupread-onlyUse when you need to check that a Dutch address exists or get its exact spelling and coordinates: official BAG address from postcode + house number or free text, latitude/longitude, BAG ids, municipality, province and CBS neighbourhood code. Cheap address validation for onboarding, delivery and CRM. Source: Kadaster BAG via PDOK. Costs 0.002 USDC via x402, or 1 credit of a Factline API key.
Parameters:
q— string — Alternative to postcode: free-text address, e.g. 'Visschersplein 1 Utrecht'addition— string — Optional house number additionpostcode— string — Dutch postcode, e.g. 3511LXhouse_letter— string — Optional house letter, e.g. Ahouse_number— integer — House number, e.g. 1
Hints: read-only yes · destructive no · idempotent yes · open-world yes
nl_address_reverseread-onlyUse when you have coordinates in the Netherlands and need the address: nearest official BAG address with distance in metres, postcode, city, municipality, province, BAG ids and CBS buurt and wijk codes, plus other nearby addresses. Input: WGS84 latitude and longitude. Source: Kadaster BAG via PDOK. Costs 0.002 USDC via x402, or 1 credit of a Factline API key.
Parameters:
lat(required) — string — Latitude, e.g. 52.0836lon(required) — string — Longitude, e.g. 4.2919
Hints: read-only yes · destructive no · idempotent yes · open-world yes
nl_energy_labelread-onlyUse when the user asks for the energy label of a Dutch home: the officially registered label (A++++ to G), registration and expiry date, building type and energy index, or a clear 'none registered'. Input: postcode + house number. Source: RVO EP-Online, the Dutch national register. Costs 0.005 USDC via x402, or 3 credits of a Factline API key.
Parameters:
q— string — Alternative to postcode: free-text address, e.g. 'Visschersplein 1 Utrecht'addition— string — Optional house number additionpostcode— string — Dutch postcode, e.g. 3511LXhouse_letter— string — Optional house letter, e.g. Ahouse_number— integer — House number, e.g. 1
Hints: read-only yes · destructive no · idempotent yes · open-world yes
nl_crimeread-onlyUse when the user asks whether a Dutch neighbourhood or postcode is safe: police-registered crime per 1,000 residents vs the national rate, split into burglary, bicycle theft, vehicle crime, violence and vandalism, with counts and a ratio. Input: Dutch postcode or CBS buurt code. Source: Politie open data, CBS. Costs 0.003 USDC via x402, or 2 credits of a Factline API key.
Parameters:
code— string — Alternative: CBS neighbourhood code, e.g. BU05182245postcode— string — Any Dutch postcode in the neighbourhood, e.g. 2517AS
Hints: read-only yes · destructive no · idempotent yes · open-world yes
eu_vat_checkread-onlyUse when the user gives an EU VAT number and you need to know if it is valid: live check in the European Commission's VIES service for all 27 member states plus Northern Ireland, with the registered company name and address where shared. Input: VAT number with country prefix, e.g. IE6388047V. Costs 0.003 USDC via x402, or 2 credits of a Factline API key.
Parameters:
vat(required) — string — EU VAT number with country prefix, e.g. IE6388047V
Hints: read-only yes · destructive no · idempotent yes · open-world yes
eu_sanctions_screenread-onlyUse when you must check whether a person or company is under sanctions: screens the name against the EU, UN, UK and US OFAC lists (25,000+ persons, companies and vessels with aliases, refreshed weekly). Fuzzy matching handles spelling, transliteration and word order; returns scored possible matches with lists, references and birth dates. Costs 0.005 USDC via x402, or 3 credits of a Factline API key.
Parameters:
name(required) — string — Person or organisation name, e.g. 'Vladimir Putin'type— stringbirth_year— string — 4-digit birth year
Hints: read-only yes · destructive no · idempotent yes · open-world yes
eu_sanctions_batchread-onlyUse when screening a list of people or companies at once (up to 25 per call, 0.0012 USDC per name) against the EU, UN, UK and US OFAC sanctions lists. Fuzzy matching; per name a possible-match flag, top score and up to 3 scored matches with their lists. For customer bases, payouts and vendor lists. Costs 0.03 USDC via x402, or 15 credits of a Factline API key.
Parameters:
names(required) — string — 1 to 25 names separated by ';', e.g. 'Vladimir Putin; Factline'type— string
Hints: read-only yes · destructive no · idempotent yes · open-world yes
us_trade_screenread-onlyUse before buying from, selling to or shipping to a company, above all a Chinese or Russian one: screens the name against the US Consolidated Screening List (Commerce, State and Treasury export-control lists, without the SDN list, which the sanctions screen covers) and the DHS UFLPA Entity List (forced-labour import ban). These restrict trade, they are not asset freezes. Input: name, optional type (entity or person), threshold. Costs 0.005 USDC via x402, or 3 credits of a Factline API key.
Parameters:
name(required) — string — Company or person name, e.g. 'Hoshine Silicon Industry'type— string
Hints: read-only yes · destructive no · idempotent yes · open-world yes
china_supplier_checkread-onlyUse before paying or importing from a Chinese supplier: checks the 18-character Unified Social Credit Code (checksum, registration authority, entity type, province; Xinjiang is flagged), and screens the company against EU, UN, UK and US OFAC sanctions, the BIS Entity List, Military End User list and the DHS UFLPA Entity List. Verdict pass, review or block_review with reasons. Does not query the Chinese register (GSXT). Input: name, uscc. Costs 0.03 USDC via x402, or 15 credits of a Factline API key.
Parameters:
name(required) — string — Supplier name in Latin letters, as on the invoiceuscc— string — 18-character Unified Social Credit Code from the business licence
Hints: read-only yes · destructive no · idempotent yes · open-world yes
us_company_lookupread-onlyUse to verify a US listed company or SEC registrant: finds it by name, ticker or CIK and returns its SEC record (legal name, former names, tickers and exchanges, EIN, state of incorporation, industry code, business address, latest 10-K/20-F and 10-Q dates). Private US companies are not in EDGAR. Input: name, ticker or cik. Costs 0.01 USDC via x402, or 5 credits of a Factline API key.
Parameters:
cik— string — SEC CIK numbername— string — Company name, e.g. Appleticker— string — Ticker, e.g. AAPL
Hints: read-only yes · destructive no · idempotent yes · open-world yes
company_lookupread-onlyUse when you need to verify that a company exists and is active: official registers GLEIF (worldwide, incl. Dutch LEI holders), UK Companies House, Ireland CRO, Estonia, Belgium KBO, France SIRENE, Norway, Finland, Czechia, Slovakia and Poland (with bank accounts). Returns legal name, status, registry id, legal form, address, founding date and parent companies (GLEIF). Search by name or id. Costs 0.008 USDC via x402, or 4 credits of a Factline API key.
Parameters:
id— string — LEI, SIREN, Norwegian organisation number, UK company number, Irish CRO number or Estonian registry codename— string — Company name, e.g. ASML Holdingcountry— string — ISO country, e.g. GB, IE, EE, FR, NO, NL
Hints: read-only yes · destructive no · idempotent yes · open-world yes
nl_vehicle_compareread-onlyUse when the user is choosing between 2 or 3 Dutch used cars: plates side by side with make, model, age, APK expiry, insurance, open recall, odometer verdict, import and taxi history, catalogue price, CO2 and power, the best per metric and red flags. Input: Dutch licence plates. Source: RDW. Costs 0.004 USDC via x402, or 2 credits of a Factline API key.
Parameters:
plates(required) — string — 2 or 3 plates separated by ';', e.g. GT722F;G941RB
Hints: read-only yes · destructive no · idempotent yes · open-world yes
nl_apk_alertread-onlyUse when the user asks when a Dutch car's APK (MOT) expires or whether it is still valid: expiry date, days left and a status band (expired, due within 30 or 90 days, ok), with insurance and open-recall flags. Cheap enough to run daily for a fleet. Input: Dutch licence plate. Source: RDW. Costs 0.001 USDC via x402, or 1 credit of a Factline API key.
Parameters:
licence_plate(required) — string — Dutch licence plate, e.g. GT-722-F
Hints: read-only yes · destructive no · idempotent yes · open-world yes
nl_postcode_addressesread-onlyUse when you need every address in a Dutch postcode: street, house number, letter and addition, BAG id and coordinates, sorted. For address pickers, delivery and canvassing routes and data cleaning. Source: Kadaster BAG via PDOK. Costs 0.005 USDC via x402, or 3 credits of a Factline API key.
Parameters:
postcode(required) — string — 6-character postcode, e.g. 2517AS
Hints: read-only yes · destructive no · idempotent yes · open-world yes
eu_sanctions_walletread-onlyUse before sending crypto to an address, or when asked if a wallet is sanctioned: checks Bitcoin, Ethereum/EVM, Tron, USDT, Litecoin, Monero and other addresses against the wallets on the US OFAC SDN list, refreshed weekly. Returns sanctioned true/false, currency, listed entity and programme. Costs 0.003 USDC via x402, or 2 credits of a Factline API key.
Parameters:
address(required) — string — Crypto wallet address, e.g. 0x0330070fd38ec3bb94f58fa55d40368271e9e54a
Hints: read-only yes · destructive no · idempotent yes · open-world yes
eu_tenders_searchread-onlyUse when the user looks for public contracts to bid on: open tenders from TED, the EU's official journal, by country, CPV code, keywords, deadline and minimum value, with English titles, buyer, deadline and value. For the Netherlands it adds national below-threshold tenders from TenderNed, which TED does not have. Costs 0.005 USDC via x402, or 3 credits of a Factline API key.
Parameters:
country(required) — string — Country code, e.g. NL, DE, or EUq— string — Keywordscpv— string — CPV codes, e.g. 72limit— stringmin_value— stringdeadline_within— string
Hints: read-only yes · destructive no · idempotent yes · open-world yes
nl_insolvency_checkread-onlyUse when you need to know if a Dutch company is bankrupt or in suspension of payments: live check in the Centraal Insolventieregister (Rechtspraak) with active and ended cases, court, case number, dates, administrator and claims deadline. Legal entities only. Input: KvK number or company name. Costs 0.01 USDC via x402, or 5 credits of a Factline API key.
Parameters:
kvk— string — 8-digit KvK numbername— string — Company name
Hints: read-only yes · destructive no · idempotent yes · open-world yes
pep_screenread-onlyUse when you must check whether a person is a politically exposed person (PEP) for AML/KYC: heads of state and government, ministers of every country, central bank governors, MEPs and national MPs of the EU, EEA, UK, US and Switzerland, current or former (default 5 years). Fuzzy matching with positions, country and dates. Pairs with sanctions screening. Costs 0.005 USDC via x402, or 3 credits of a Factline API key.
Parameters:
name(required) — string — Full name, e.g. Mark Ruttecountry— string — ISO country, e.g. NLbirth_year— string — Birth year, e.g. 1967
Hints: read-only yes · destructive no · idempotent yes · open-world yes
pep_batchread-onlyUse when screening a list of up to 25 names for politically exposed persons in one call (0.0012 USDC per name): top 3 possible matches per name with positions and status. For customer-base and CRM re-screening. Costs 0.03 USDC via x402, or 15 credits of a Factline API key.
Parameters:
names(required) — string — Names separated by ';'
Hints: read-only yes · destructive no · idempotent yes · open-world yes
domain_checkread-onlyUse when you need to judge whether a website or email domain is trustworthy: registration date and domain age (RDAP), expiry, registrar, nameservers, email setup (MX, SPF, DMARC), disposable-email domains, and a low/medium/high risk with flags such as 'registered 4 days ago', a common sign of scam shops. Accepts a domain, URL or email. Costs 0.003 USDC via x402, or 2 credits of a Factline API key.
Parameters:
domain(required) — string — Domain, URL or email address, e.g. example.nl
Hints: read-only yes · destructive no · idempotent yes · open-world yes
iban_checkread-onlyUse when you need to check an IBAN before a payout or invoice: length per country, mod-97 checksum (catches typos), SEPA membership, and for Dutch IBANs the bank (ING, ABN AMRO, Rabobank, bunq...). Does not confirm the account holder. Costs 0.001 USDC via x402, or 1 credit of a Factline API key.
Parameters:
iban(required) — string — IBAN, e.g. NL91ABNA0417164300
Hints: read-only yes · destructive no · idempotent yes · open-world yes
peppol_lookupread-onlyUse when you need to send an e-invoice or check if a company can receive one: looks the company up in the Peppol Directory by VAT number, company number (Belgian KBO, French SIREN, Dutch KvK...) or name, and returns its Peppol participant ids and accepted documents (invoice, credit note, self-billing, orders). Belgium requires Peppol B2B e-invoicing since 2026; France requires e-invoice receipt from 2026-09. Costs 0.003 USDC via x402, or 2 credits of a Factline API key.
Parameters:
id— string — Or a company number (Belgian KBO, French SIREN, Dutch KvK) or Peppol id such as 0208:0400378485vat— string — EU VAT number, e.g. BE0400378485name— string — Or a company name (with country)country— string — ISO country, e.g. BE, FR
Hints: read-only yes · destructive no · idempotent yes · open-world yes
supplier_invoice_checkread-onlyUse before an agent pays a supplier invoice: supplier in official registers; company, directors, owners and parents screened (EU, UN, UK, US sanctions, PEP); VAT match; IBAN valid, same country, on the Polish whitelist; sender email; Dutch bankruptcy; Peppol. With known_iban, a different bank account than the one on file puts it on hold. Verdict: pass, review or hold. Costs 0.08 USDC via x402, or 40 credits of a Factline API key.
Parameters:
id— string — Or the supplier's company numberkvk— string — Dutch KvK number: adds a bankruptcy checkvat— string — VAT number on the invoiceiban— string — IBAN the invoice asks you to payname— string — Supplier company name, e.g. Colruyt Groupemail— string — Email address the invoice came fromdomain— string — Supplier websitecountry— string — Supplier's ISO country, e.g. BE, NL, GB, PLknown_iban— string — The supplier's IBAN in your vendor master: a different IBAN on the invoice puts it on hold (changed bank details)
Hints: read-only yes · destructive no · idempotent yes · open-world yes
eu_eori_checkread-onlyUse when you need to check an EU EORI customs number: live validation in the European Commission's EORI service, registered and valid or not, with the trader's name and address when published. All EU member states; GB numbers are not covered. Costs 0.003 USDC via x402, or 2 credits of a Factline API key.
Parameters:
eori(required) — string — EORI number, e.g. IE6388047V
Hints: read-only yes · destructive no · idempotent yes · open-world yes
email_verifyread-onlyUse when you need to know if an email address is real and deliverable before signup, outreach or onboarding: syntax, live MX routing, 9,000+ disposable domains, role addresses, free providers, typo suggestions (gmial.com to gmail.com) and SPF/DMARC. One verdict: deliverable, risky or undeliverable. Costs 0.002 USDC via x402, or 1 credit of a Factline API key.
Parameters:
email(required) — string — Email address, e.g. [email protected]
Hints: read-only yes · destructive no · idempotent yes · open-world yes
phone_verifyread-onlyUse when you need to check a phone number from any country: valid and possible against allocated ranges, E.164 and national format, country, and line type (mobile, landline, VoIP, toll-free, premium) with an SMS-capable hint. National numbers need a country, e.g. 0612345678 with country=NL. Costs 0.003 USDC via x402, or 2 credits of a Factline API key.
Parameters:
phone(required) — string — Phone number, e.g. +31612345678country— string — ISO country for national numbers, e.g. NL
Hints: read-only yes · destructive no · idempotent yes · open-world yes
self_hosted_wallet_evidenceread-onlyUse when a crypto service sends to or receives from a self-hosted wallet and must document its checks (EU AMLR, Travel Rule files): screens the wallet against OFAC-listed addresses, the claimed owner against EU, UN, UK and US sanctions and PEP, and checks the company register for businesses. Returns no_hits, review or block_review with list versions and a signed receipt. Input: wallet, owner, optional owner_type, birth_year, country. Costs 0.02 USDC via x402, or 10 credits of a Factline API key.
Parameters:
wallet(required) — stringowner(required) — string — Person or company that claims the walletcountry— stringbirth_year— stringowner_type— string
Hints: read-only yes · destructive no · idempotent yes · open-world yes
watch_30_daysread-onlyUse when the user wants to be told later: watches one item for 30 days, paid once, no account. kind=sanctions (a name, re-screened when the EU, UN, UK or US lists change), company (COUNTRY:name or number, register checked daily) or apk (Dutch plate, daily). Alerts go to webhook and to /v1/watch/alerts with the returned token. Input: kind, value, optional webhook, label. Costs 0.05 USDC via x402, or 25 credits of a Factline API key.
Parameters:
kind(required) — stringvalue(required) — string — Name, COUNTRY:company (e.g. IE:Ryanair) or Dutch platelabel— stringwebhook— string — https URL for alerts
Hints: read-only yes · destructive no · idempotent yes · open-world yes
x402_payee_checkread-onlyUse before an agent pays an x402 endpoint it has not used before: reads the seller's own 402 challenge, screens every payTo wallet against the OFAC list, checks the domain (age, setup), Factline's daily uptime probes and, with company, the register record and EU/UN/UK/US sanctions. Returns allow, review or deny, plus a trust-provider block (decision, score, evidence, ttl). Input: url, optional wallet, company, country. Costs 0.01 USDC via x402, or 5 credits of a Factline API key.
Parameters:
url— string — The x402 endpoint or origin you are about to paywallet— string — payTo wallet to screencompany— string — Company behind the sellercountry— string
Hints: read-only yes · destructive no · idempotent yes · open-world yes
company_dossierread-onlyUse for due diligence before a deal, contract or large payment: the full European company check (national registers in 10 countries plus GLEIF, directors, owners and parents screened for sanctions and PEP, VAT, Peppol, website) plus financial health (accounts on time, size, turnover and result where published, insolvency in GB, FR, NO, FI, NL). One verdict and a cite_as line. Input: name or id, best with country. Costs 0.15 USDC via x402, or 75 credits of a Factline API key.
Parameters:
id— string — Or a company number: LEI, UK company number, SIREN, Norwegian org number, etc.kvk— string — Dutch KvK number: adds a bankruptcy checkvat— string — EU VAT numbername— string — Company name, e.g. Equinordomain— string — Company websitecountry— string — ISO country, e.g. NO, GB, FR, NL
Hints: read-only yes · destructive no · idempotent yes · open-world yes
company_healthread-onlyUse to check if a European company is healthy before you deal with it: UK accounts overdue, size band and insolvency history; French headcount, turnover, net result and BODACC insolvency; Norwegian employees, bankruptcy, winding-up and filed accounts; Finnish bankruptcy and restructuring; Dutch insolvency with a KvK number. Verdict healthy, watch, distressed or limited_data. Costs 0.02 USDC via x402, or 10 credits of a Factline API key.
Parameters:
id— string — Or a company number, e.g. SIREN 552032534kvk— string — Dutch KvK number: adds the insolvency registername— string — Company name, e.g. Danonecountry— string — ISO country: GB, FR, NO and FI have full signals; NL with kvk
Hints: read-only yes · destructive no · idempotent yes · open-world yes
eu_company_checkread-onlyUse before onboarding, paying or contracting a European company: finds it in 10 official registers (GLEIF, UK, IE, FR, NO, FI, CZ, SK, EE, PL), screens it, its directors, owners and parent companies against EU, UN, UK and US sanctions and PEP, checks VAT and Peppol, flags new websites and Dutch bankruptcies. One verdict: pass, review, block_review or incomplete. Input: name or id, best with country; optional vat, domain, kvk. Costs 0.05 USDC via x402, or 25 credits of a Factline API key.
Parameters:
id— string — Or a company number: LEI, UK company number, Irish CRO, SIREN, etc.kvk— string — Dutch KvK number: adds a bankruptcy checkvat— string — EU VAT number: checked in VIES and matched to the registered namename— string — Company name, e.g. ASML Holdingdomain— string — Company website or email domaincountry— string — ISO country, e.g. NL, GB, IE, FR
Hints: read-only yes · destructive no · idempotent yes · open-world yes
kyc_checkread-onlyUse when onboarding a customer, seller or business and you want one answer: screens the name against EU, UN, UK and US sanctions and the PEP list, verifies email and phone, and checks an EU VAT number in VIES, all in parallel, with one verdict: pass, review, block_review or incomplete. Send any of name, email, phone, vat. Costs 0.01 USDC via x402, or 5 credits of a Factline API key.
Parameters:
kvk— string — Dutch KvK number: adds a bankruptcy checkpep— string — PEP check of a person name, default truevat— string — EU VAT numbername— string — Person or company nametype— stringemail— stringphone— stringcompany— string — Company name to verifycountry— stringbirth_year— stringcompany_country— string
Hints: read-only yes · destructive no · idempotent yes · open-world yes
nl_address_batchread-onlyUse when enriching a list of Dutch addresses (up to 10 per call, 0.0015 USDC each): official BAG address and coordinates, CBS neighbourhood, liveability percentile, crime per 1,000 residents vs national, average home value and optionally the energy label. Unfound addresses are flagged, not charged extra. Costs 0.015 USDC via x402, or 8 credits of a Factline API key.
Parameters:
addresses(required) — string — 1 to 10 addresses separated by ';', e.g. '3511LX 1; 2517AS 100'include— string — 'energy_label' to add energy labels
Hints: read-only yes · destructive no · idempotent yes · open-world yes
nl_rent_checkread-onlyUse when a tenant asks if their Dutch rent is too high or what the maximum rent is: estimated rent points (WWS) from floor area, energy label and neighbourhood WOZ, the likely segment (social up to 143 points, middle 144-186, free 187+) and the approximate maximum basic rent (2026 limits). An estimate with a link to the official check. Input: postcode + house number. Costs 0.01 USDC via x402, or 5 credits of a Factline API key.
Parameters:
q— string — Alternative to postcode: free-text address, e.g. 'Visschersplein 1 Utrecht'addition— string — Optional house number additionpostcode— string — Dutch postcode, e.g. 3511LXhouse_letter— string — Optional house letter, e.g. Ahouse_number— integer — House number, e.g. 1
Hints: read-only yes · destructive no · idempotent yes · open-world yes
nl_flood_riskread-onlyUse when the user asks if a Dutch address can flood: annual flood probability (any water, over 20, 50 and 200 cm) from Rijkswaterstaat LIWO, 2050 and 2100 climate scenarios, worst-case water depth and ground height vs sea level (AHN). Input: postcode + house number. Costs 0.004 USDC via x402, or 2 credits of a Factline API key.
Parameters:
q— string — Alternative to postcode: free-text address, e.g. 'Visschersplein 1 Utrecht'addition— string — Optional house number additionpostcode— string — Dutch postcode, e.g. 3511LXhouse_letter— string — Optional house letter, e.g. Ahouse_number— integer — House number, e.g. 1
Hints: read-only yes · destructive no · idempotent yes · open-world yes
nl_house_pricesread-onlyUse when the user asks what homes cost in a Dutch area: average home value (WOZ) in the neighbourhood with its trend, plus actual average sale prices per year in the municipality vs the national average. Context for an asking price, not a valuation of one home. Input: postcode or CBS buurt code. Source: CBS, Kadaster. Costs 0.003 USDC via x402, or 2 credits of a Factline API key.
Parameters:
code— string — Alternative: CBS neighbourhood code, e.g. BU05182245postcode— string — Any Dutch postcode in the neighbourhood, e.g. 2517AS
Hints: read-only yes · destructive no · idempotent yes · open-world yes
Measured by MCPYP probing. Untested fields are omitted, never estimated. Listing is always free; MCPYP never proxies calls or stores user tokens.