Background Verification
Metamap
API integration
Ship Background Verification features without building the integration. Full Metamap API access via Proxy and 40+ MCP-ready tools for AI agents — extend models and mappings to fit your product.
Talk to usUse Cases
Why integrate with Metamap
Common scenarios for SaaS companies building Metamap integrations for their customers.
Embed KYC/KYB for LATAM & Africa expansion
Give your users a native way to verify individuals and businesses across Mexico, Brazil, Colombia, Nigeria, Kenya, and more without your team integrating dozens of local government registries. Truto handles the auth and API quirks so you can ship regional compliance in days.
Automate contractor onboarding for HR & payroll platforms
HR and EOR platforms can trigger country-specific verifications (Mexico CURP/RFC, Colombia legal search, Nigeria NIN) the moment a contractor is added, blocking payroll until identity, tax status, and court records clear.
Power AML and PEP screening in fintech onboarding
Neobanks, lenders, and crypto platforms can run ComplyAdvantage watchlist screening, Mexico PEP checks, and custom watchlist lookups on every new user or business shareholder as part of their account-opening flow.
Ship silent fraud scoring for marketplaces and PropTech
Run email and phone ownership plus risk checks in the background during signup to score applicants without adding friction — ideal for tenant screening, gig worker onboarding, or marketplace seller vetting.
Build compliance-ready audit trails
Automatically pull verification media and generate downloadable PDF reports for each verified user, so your customers have a defensible audit record for regulators without you building storage or reporting yourself.
What You Can Build
Ship these features with Truto + Metamap
Concrete product features your team can ship faster by leveraging Truto’s Metamap integration instead of building from scratch.
One-click verification launcher
Let your users kick off a Metamap verification directly from your product using create_a_metamap_verification, with the flow, country, and check type pre-selected based on the user's context.
Country-aware GovCheck routing
Automatically route verifications to the right endpoint — Brazil CPF/CNPJ, Mexico INE/RFC/CURP, Colombia RUE, Nigeria CAC, Ghana Verify Card, Kenya BR — based on the end user's jurisdiction.
KYB with shareholder drill-down
Chain business registry checks (e.g. Nigeria CAC + CAC Affiliate, Brazil CNPJ Extended) with individual KYC and ComplyAdvantage screening on each director or shareholder in a single automated workflow.
Government-backed facematch biometrics
Offer selfie-to-government-photo matching for high-assurance flows using Panama TSE Facematch and Ghana Verify Card Facematch, without wiring up each registry separately.
Verification media vault and PDF export
Use list_all_metamap_verification_media and create_a_metamap_verification_pdf_download to pull selfies, ID images, and compiled verification PDFs into your own storage for compliance audits.
Bulk verification management
Support back-office operations with metamap_verifications_bulk_update and metamap_verifications_skip so ops teams can review, skip, or update large batches of pending verifications from your UI.
SuperAI
Metamap AI agent tools
Comprehensive AI agent toolset with fine-grained control. Integrates with MCP clients like Cursor and Claude, or frameworks like LangChain.
create_a_metamap_verification
Create a new MetaMap verification by specifying a flow and optional metadata for internal references. Returns: id, status, metadata, steps, computed. Required: flowId. Metadata must be ≦4Kb and one level deep.
get_single_metamap_verification_by_id
Get a MetaMap verification by id, retrieving user information after document submission or verification completion. Returns: id, status, metadata, steps, computed. Required: id.
delete_a_metamap_verification_by_id
Delete a MetaMap verification by id. Returns an empty 204 response on success. Required: id.
metamap_verifications_skip
Skip the mandatory 10-minute wait time for uploading the back of a document during a MetaMap verification, allowing the verification process to proceed with only the document front. Returns: success. Required: verification_id.
metamap_verifications_bulk_update
Update a user's verification status in MetaMap. Returns the updated verification object including its id and status. Required: id, status.
list_all_metamap_verification_media
Download MetaMap verification media (selfie images, document photos, liveness videos) for a verification using the media_auth token obtained from a Retrieve Webhook Resource Data response. Returns the verification media content (content-type-specific binary data such as images or documents) associated with the provided media_auth. Required: media_auth. The media URL expires after 30 days.
create_a_metamap_verification_input
Upload user verification inputs (document photos, selfies, liveness videos, custom documents, bank statements) to a MetaMap identity for validation. Returns: success. Required: identity_id, inputs. Body is multipart form data; inputs must match the flow configuration order on your MetaMap Dashboard.
create_a_metamap_verification_pdf_download
Download MetaMap verification results as one PDF file per verification, delivered to a specified callback URL. Returns: message. Required: request_id, verification_ids, timezone.
create_a_metamap_comply_advantage
Create a ComplyAdvantage Anti-Money Laundering watchlist screening in MetaMap to check whether a person or company is listed on watchlists from over 800 organizations worldwide. Returns the screening result including id and attributes. Required: name. callbackUrl is mandatory when monitor is set to true.
create_a_metamap_custom_watchlist
Upload a CSV file of custom watchlist entries to MetaMap for screening. Returns: success. Required: watchlistId, callbackUrl, file. The CSV file supports up to 10,000 entries with a maximum size of 10MB, and processing results are delivered asynchronously via webhook.
create_a_metamap_email_ownership_check
Send a one-time password (OTP) to a user's email address to verify email ownership in MetaMap. The OTP is emailed to the recipient and verification results are delivered asynchronously to the provided callbackUrl webhook. Returns the response data for the initiated email ownership check. Required: recipient, callbackUrl.
create_a_metamap_email_risk_check
Create an email risk check in MetaMap by submitting an email address for fraud and validity assessment. Results are delivered asynchronously via webhook callback. Returns: email, riskScore, valid, disposable, timed_out, deliverability, catch_all, leaked, suspect, smtp_score, overall_score, first_name, common, generic, dns_valid, honeypot, spam_trap_score, recent_abuse, fraud_score,…
create_a_metamap_phone_ownership_check
Create a phone ownership OTP check in MetaMap by sending an SMS verification code to a recipient's phone number. Returns the check result including an id. The verification outcome is delivered asynchronously to the provided callback webhook URL. Required: recipient, callbackUrl, locale, senderName.
create_a_metamap_phone_risk_check
Create a phone risk check in MetaMap to get a risk score for a supplied phone number. Returns the risk assessment score for the phone number. Required: recipient, callbackUrl. The score is delivered to the callback webhook URL; optional metadata must be ≤4Kb and one level deep.
create_a_metamap_govchecks_brazil_cnpj_extended
Validate a Brazilian CNPJ (National Registry of Legal Entities) number with MetaMap against the Brazilian Internal Revenue Service (Ministério da Fazenda). Returns: cnpj, companyName, type, status, companyPhone, companyEmail, companyAddress, shareholders. Required: cnpj, callbackUrl. A webhook URL is required to receive results.
create_a_metamap_govchecks_brazil_cpf_validation
Validate a Brazilian CPF (Cadastro de Pessoas Físicas) number and owner data against the Brazilian Internal Revenue Service database via MetaMap. Returns: data, error, metadata. Required: cpfNumber, fullName.
create_a_metamap_govchecks_brazil_cpf_light
Validate a Brazilian CPF number against the Brazilian Internal Revenue Service via MetaMap GovChecks. Returns: fullName, documentNumber, status. Required: cpf, callbackUrl. A webhook URL is required to receive the asynchronous result; only compatible with Brazilian national IDs or driver licenses.
create_a_metamap_govchecks_chile_registro_civil
Validate a Chilean RUN number against the Civil Registry (SRCEI) via MetaMap to confirm it exists and is currently valid. Returns: documentNumber, runNumber. Required: runNumber, callbackUrl. A webhook URL is required for asynchronous result delivery; nationality defaults to CHL.
create_a_metamap_govchecks_colombia_govcheck
Create a MetaMap Colombia GovCheck verification by submitting a Cédula de Ciudadanía (national ID) document number. Returns a 202 Accepted acknowledgment; verification results are delivered asynchronously to the provided callbackUrl webhook. Required: documentNumber.
create_a_metamap_govchecks_colombia_migration_institute
Submit a Colombia Migration Institute (Migración Colombia) residence permit verification in MetaMap. Validates that the user's name and ID issue date match the information associated with their residence permit. Returns the verification result indicating whether the user was found in the migration records. Required: documentNumber, dateOfIssue, callbackUrl. Results are also delivered…
create_a_metamap_govchecks_colombia_unified_legal_search
Search Colombian police records in MetaMap for a user's past or current warrants or arrest cases. Returns the search result data from the criminal records check; the outcome varies (no records found, too many results, or active legal case found). Required: fullName, callbackUrl. A webhook URL must be configured to receive the results.
create_a_metamap_govchecks_colombia_rue
Validate a Colombian business's national tax ID (NIT) against the Single Business and Social Registry (RUES) in MetaMap. Returns: attributes. Required: nit, callbackUrl. A webhook URL is required to receive results.
create_a_metamap_govchecks_colombia_ppt
Verify a Colombian Permiso por protección temporal (PPT) document in MetaMap by searching the Colombian PPT registry against the RUMV number, identity document number, and date of birth. Results are delivered asynchronously to the provided callback webhook. Returns: id. Required: rumv, dni, dateOfBirth, callbackUrl. Date of birth must use DD-MM-YYYY format.
create_a_metamap_govchecks_costa_rica_tse
Validate a Costa Rican National Identity Document (DNI) against the Supreme Electoral Court (TSE) registry in MetaMap. Returns the validation result object with country-specific attributes. Required: documentNumber, callbackUrl. A webhook URL is required to receive asynchronous validation results.
create_a_metamap_govchecks_dominican_rnc
Verify a Dominican Republic taxpayer's RNC (Registro Nacional de Contribuyentes) number against the Dominican Internal Revenue Service via MetaMap. Returns: documentNumber. Required: documentNumber, callbackUrl. This API requires a webhook URL; detailed verification results are delivered asynchronously via webhook.
create_a_metamap_govchecks_ghana_verify_card
Verify a Ghana national card in MetaMap by submitting the personal number. Returns: placeOfIssueCode, placeOfIssue, personalNumber, regDate, expiryDate, picture, signature, nationality, placeOfBirth, dateOfBirth, gender, middleName, lastName, firstName. Required: personalNumber, callbackUrl.
create_a_metamap_govchecks_ghana_verify_card_facematch
Verify a Ghana national ID card with face match via MetaMap GovChecks. Returns: personalNumber, documentNumber, cardValidFrom, cardValidTo, surname, forenames, nationality, birthDate, gender, birthCountry, birthDistrict, birthRegion, birthTown, addresses, contact, occupations, biometricFeed, binaries. Required: personalNumber, imageBase64, callbackUrl. Returns 202 on submission; full results are…
create_a_metamap_govchecks_kenya_ipr
Validate a Kenyan national ID against the Integrated Population Registration System (IPRS) via MetaMap. Returns: documentNumber, firstName, lastName. Required: documentNumber, firstName, lastName, callbackUrl. This API requires a webhook URL to receive verification results.
create_a_metamap_govchecks_kenya_br
Validate a Kenyan business registration number against the Business Registration System (BRS) in MetaMap. Accepts registration numbers for both private (PVT) and corporate (CPR) businesses; verification results are delivered asynchronously to the provided webhook URL. Returns: id. Required: registrationNumber, callbackUrl.
create_a_metamap_govchecks_mexico_curp
Validate a Mexican CURP number against the National Population Registry (RENAPO) in MetaMap. Returns: curp, attributes. Required: curp, callbackUrl. Results are delivered asynchronously via the provided webhook URL.
create_a_metamap_govchecks_mexico_rfc
Submit a MetaMap Mexico RFC govcheck to validate a user's CURP or RFC number against the Mexican SAT (Servicio de Administración Tributaria) database, confirming the CURP exists and its associated RFC number is eligible to pay taxes. Returns validation result data delivered asynchronously to the provided webhook URL. Required: curp, callbackUrl.
create_a_metamap_govchecks_mexico_rfc_status
Validate a Mexican RFC (Federal Taxpayers Registry) number against the SAT database to confirm an individual's or company's RFC number is valid and active. Results are delivered asynchronously to the provided webhook URL, including the entity type (Company/Individual), number of certificates found, and certificate status (All OK/Inactive). Required: rfc, callbackUrl.
create_a_metamap_govchecks_mexico_ine
Validate a user's national ID against the Mexican National Electoral Institute (INE) database in MetaMap. Returns the validation result with identity data including firstName, lastName, and dateOfBirth. Required: documentNumber, ocrNumber.
create_a_metamap_govchecks_mexico_pep
Validate a user against the Mexican Politically Exposed People (Personas Expuestas Políticamente / PEP) database in MetaMap. Returns the PEP check result data indicating whether the user is a politically exposed person, with detailed results delivered asynchronously to the configured webhook URL. The PEP database is updated monthly. Required: fullName, callbackUrl.
create_a_metamap_govchecks_nigeria_nin
Verify a Nigerian user's identity through the National Identity Management Commission (NIMC) using their National Identity Number (NIN) or phone number in MetaMap. Returns: documentNumber, firstName, lastName, middleName, dateOfBirth, gender, nationality. Required: callbackUrl.
create_a_metamap_govchecks_nigeria_tin
Validate a Nigerian company tax ID number (TIN) issued by the Federal Inland Revenue Service (FIRS) or Joint Tax Board (JTB) in MetaMap. Returns: companyName, FirsNumber, CacNumber, JtbNumber, taxOffice, companyPhone, companyEmail. Required: taxNumber, callbackUrl. Results are delivered asynchronously via webhook — a configured webhook URL is required.
create_a_metamap_govchecks_nigeria_cac
Check a company's Corporate Affairs Commission (CAC) registration number in Nigeria. Returns: type, companyName, cacNumber, status, companyAddress, companyEmail, registrationDate. Required: registrationNumber. Supports BN (Business Name) and RC (Registered Company) entity types.
create_a_metamap_govchecks_nigeria_cac_affiliate
Search for company affiliates using one or more Nigeria CAC company IDs in MetaMap. Returns affiliate details including name, position, status, dateOfBirth, phoneNumber, email, city, address, idType, idNumber, shares, and accreditationNumber. Required: companyIds, callbackUrl. Results are delivered asynchronously via the webhook URL; some fields may be empty.
create_a_metamap_govchecks_panama_tse
Validate a Panamanian national ID against the Supreme Electoral Court (Tribunal Supremo Electoral / TSE) registry via MetaMap GovChecks. Returns: name, documentNumber, status. Required: documentNumber, callbackURL. Results are delivered asynchronously to the callback webhook URL.
create_a_metamap_govchecks_panama_tse_facematch
Create a Panama TSE facematch verification in MetaMap by submitting a national ID document number and a base64-encoded selfie image for face-match validation against Panama's Electoral Court (TSE) registry. Returns the verification result data including documentNumber. Required: documentNumber, imageBase64, callbackUrl. Results are delivered asynchronously via webhook.
create_a_metamap_govchecks_paraguay_rcp
Submit a Paraguay RCP govcheck verification request in MetaMap to validate a document against the Paraguayan civil registry. Returns: id, status. Required: documentNumber, callbackUrl. Verification results are delivered asynchronously to the provided callback webhook.
create_a_metamap_govchecks_peru_govcheck
Validate a user's Peruvian national identity document (DNI) against the National Registry of Identification and Civil Status (RENIEC) in MetaMap. Returns: id, status. The full validation results are delivered asynchronously to the provided webhook URL. Required: documentNumber, callbackUrl.
create_a_metamap_govchecks_peru_migration_institute
Submit a MetaMap GovCheck against the Peru Migration Institute to validate a user's document number and ID issue date against migration records. Returns: id, documentNumber, and validation status. Required: documentNumber, dateOfIssue, callbackUrl. Results are delivered asynchronously via webhook.
create_a_metamap_govchecks_peru_sunat
Verify a taxpayer's document number against Peru's SUNAT (Superintendencia Nacional de Aduanas y de Administración Tributaria) tax authority registry in MetaMap. Returns: id. Required: documentNumber, callbackUrl. Results are delivered asynchronously to the provided callback URL.
create_a_metamap_govchecks_philippines_umid_ssn
Create a Philippines UMID-SSN GovCheck in MetaMap to validate a user's UMID/SSN number. Returns: documentNumber. Required: documentNumber, callbackUrl. Verification results are delivered asynchronously via webhook to the callback URL.
create_a_metamap_mexico_court_record
Create a Mexico court records background check (Buholegal) in MetaMap to search a user's legal records. Results are delivered asynchronously to a webhook URL. Returns: id. Required: fullName, callbackUrl.
Why Truto
Why use Truto’s MCP server for Metamap
Other MCP servers give you a static tool list for one app. Truto gives you a managed, multi-tenant MCP infrastructure across 650+ integrations.
Auto-generated, always up to date
Tools are dynamically generated from curated documentation — not hand-coded. As integrations evolve, tools stay current without manual maintenance.
Fine-grained access control
Scope each MCP server to read-only, write-only, specific methods, or tagged tool groups. Expose only what your AI agent needs — nothing more.
Multi-tenant by design
Each MCP server is scoped to a single connected account with its own credentials. The URL itself is the auth token — no shared secrets, no credential leaking across tenants.
Works with every MCP client
Standard JSON-RPC 2.0 protocol. Paste the URL into Claude, ChatGPT, Cursor, or any MCP-compatible agent framework — tools are discovered automatically.
Built-in auth, rate limits, and error handling
Tool calls execute through Truto’s proxy layer with automatic OAuth refresh, rate-limit handling, and normalized error responses. No raw API plumbing in your agent.
Expiring and auditable servers
Create time-limited MCP servers for contractors or automated workflows. Optional dual-auth requires both the URL and a Truto API token for high-security environments.
How It Works
From zero to integrated
Go live with Metamap in under an hour. No boilerplate, no maintenance burden.
Link your customer’s Metamap account
Use Truto’s frontend SDK to connect your customer’s Metamap account. We handle all OAuth and API key flows — you don’t need to create the OAuth app.
We handle authentication
Don’t spend time refreshing access tokens or figuring out secure storage. We handle it and inject credentials into every API request.
Call our API, we call Metamap
Truto’s Proxy API is a 1-to-1 mapping of the Metamap API. You call us, we call Metamap, and pass the response back in the same cycle.
Unified response format
Every response follows a single format across all integrations. We translate Metamap’s pagination into unified cursor-based pagination. Data is always in the result attribute.
FAQs
Common questions about Metamap on Truto
Authentication, rate limits, data freshness, and everything else you need to know before you integrate.
How does authentication with Metamap work through Truto?
Your end users connect their Metamap account by providing their Metamap API credentials, and Truto stores and rotates them on your behalf. You call Truto's unified endpoints with an integrated account ID — you never handle Metamap tokens or auth headers directly.
How do we receive verification results given Metamap is asynchronous?
Most Metamap checks, especially GovChecks and AML screenings, complete asynchronously. You supply a callbackUrl when creating a verification and Metamap posts the final verified/rejected status to your webhook. You can also poll get_single_metamap_verification_by_id to fetch the current state on demand.
Which countries and check types are supported?
The integration exposes GovChecks for Brazil (CPF, CNPJ), Mexico (CURP, RFC, INE, PEP, court records), Colombia (unified legal search, migration, RUE, PPT), Chile, Costa Rica, Dominican Republic, Panama, Paraguay, Peru, Ghana, Kenya, Nigeria (NIN, TIN, CAC), and Philippines UMID/SSN — plus ComplyAdvantage, custom watchlists, and email/phone ownership and risk checks.
Can we download the underlying documents and selfies a user submitted?
Yes. Use list_all_metamap_verification_media to enumerate media artifacts on a verification and create_a_metamap_verification_pdf_download to generate a compiled PDF report. This is how most customers build their audit vault.
Can our operations team edit or skip verifications in flight?
Yes. metamap_verifications_bulk_update lets you modify multiple verifications at once, and metamap_verifications_skip lets you skip specific steps in a verification flow — useful for manual review queues. Individual verifications can also be deleted via delete_a_metamap_verification_by_id.
How do we add extra inputs to an existing verification?
Use create_a_metamap_verification_input to attach additional data points (such as an extra document or field) to a verification that's already been started, without recreating the entire flow.
From the Blog
Metamap integration guides
Deep dives, architecture guides, and practical tutorials for building Metamap integrations.
Metamap
Get Metamap integrated into your app
Our team understands what it takes to make a Metamap integration successful. A short, crisp 30 minute call with folks who understand the problem.