API · Apify actors · pay per row

Use LatSouth from code.

14 actors over the same builds as the files: filters in, company rows out, priced per returned row. curl, Python and JavaScript for each, plus the MCP URL for agents.

Start here

One token, fourteen actors.

Every LatSouth dataset is also an Apify actor: you send a JSON input with filters, the actor queries the current release of the registry and returns company rows, billed per returned row. One token works for all 14 actors. Get it in Apify Console under Settings → API & Integrations and keep it in an environment variable (APIFY_TOKEN below); never paste it into code you share.

The examples call the synchronous endpoint POST https://api.apify.com/v2/actors/<user>~<actor>/run-sync-get-dataset-items, which runs the actor and returns its dataset items in the response; runs longer than 300 seconds answer 408, so keep max_results modest there and use the clients (which wait for the run) for large pulls. Each example input is the actor's own default example, so it runs as is.

The same rule as the files applies: company data only, natural persons removed at build time, owner-named legal forms masked. Freshness of every source: data freshness.

ActorApify idPrice
LATAM Company Finder: 7 Countries, ISIC, English Labelslatsouth/latam-company-finderUS$0.004 per company-result event (US$4 per 1,000)
LATAM Company Enrichment — CNPJ, RUT, NIT, RUC, CUIT Lookuplatsouth/latam-company-enrichmentUS$0.01 per enriched-match event (US$10 per 1,000); US$0.001 per no-match event (US$1 per 1,000)
LATAM Gov Contracts & Suppliers — Licitações PNCP, SECOPlatsouth/latam-gov-contractsUS$0.005 per record event (US$5 per 1,000)
Brazil Company Leads & CNPJ Lookup — Empresas por CNAElatsouth/brazil-company-finderUS$0.0015 per company-result event (US$1.5 per 1,000); US$0.0002 per cnpj-not-found event (US$0.2 per 1,000)
Brazil Company Contacts — Website, Email & Phone (CNPJ)latsouth/brazil-verified-contactsUS$0.01 per company-result event (US$10 per 1,000)
Brazil Health Facilities (CNES, CNPJ, phone)latsouth/brazil-health-facilitiesUS$0.005 per record event (US$5 per 1,000)
Mexico Company Leads (DENUE) — Empresas por Actividadlatsouth/mexico-company-finderUS$0.003 per company-result event (US$3 per 1,000)
Chile Company Finder: RUT Registry, ISIC, Size, Englishlatsouth/chile-company-finderUS$0.003 per company-result event (US$3 per 1,000)
Colombia Company Finder: NIT, RUES, Supersociedades, Contactslatsouth/colombia-company-finderUS$0.003 per company-result event (US$3 per 1,000)
Peru Company Finder: SUNAT RUC 20 Registry, ISIC, Employeeslatsouth/peru-company-finderUS$0.003 per company-result event (US$3 per 1,000)
Argentina Company Finder: CUIT, Registro Nacional Sociedadeslatsouth/argentina-company-finderUS$0.003 per company-result event (US$3 per 1,000)
Ecuador Company Finder: SRI RUC Registry, ISIC, Englishlatsouth/ecuador-company-finderUS$0.003 per company-result event (US$3 per 1,000)
Paraguay Company Finder: RUC Registry (DNIT), Legal Formlatsouth/paraguay-company-finderUS$0.003 per company-result event (US$3 per 1,000)
Dominican Republic Company Finder: RNC, ISIC, MSME Sizelatsouth/dominican-republic-company-finderUS$0.003 per company-result event (US$3 per 1,000)
Actor · latsouth/latam-company-finder

LATAM Company Finder: 7 Countries, ISIC, English Labels

Search 19.7M companies from the official registries of Brazil, Mexico, Chile, Colombia, Peru, Argentina and Ecuador in one English schema: ISIC Rev.4 industry, region, city, size, status, websites and corporate e-mail domains. Company data only.

What it returns

One row per company matching the filters, from the official registries of BR, MX, CL, CO, PE, AR and EC in one English schema. Fields: country, tax_id, legal_name, trade_name, legal_form, status, isic_section/division/class (+ English labels), size_class, region, city, address, email_domain, website, registration_date, data_as_of, source, source_license. No e-mail, phone or mobile values.

  • companies: Companies (dataset)
  • summary: Run summary (OUTPUT)

46 fields per dataset item. Default memory 2048 MB. Actor page on Apify.

Price per event

EventCharged whenPricePer 1,000
company-resultOnce per company row returned in the datasetUS$0.004US$4

Billed by Apify to your account; set a maximum cost per run and the run stops at it. Prices as published in the actor's README in our repository; the Apify Pricing tab is authoritative.

API (curl)

curl -X POST "https://api.apify.com/v2/actors/latsouth~latam-company-finder/run-sync-get-dataset-items?format=json" \
  -H "Authorization: Bearer $APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "isic_divisions": [
    "62"
  ],
  "max_results_per_country": 2,
  "max_results": 14
}'

Python

# pip install apify-client
import os
from apify_client import ApifyClient

client = ApifyClient(os.environ["APIFY_TOKEN"])
run_input = {
    "isic_divisions": ["62"],
    "max_results_per_country": 2,
    "max_results": 14,
}
run = client.actor("latsouth/latam-company-finder").call(run_input=run_input)
items = client.dataset(run["defaultDatasetId"]).list_items().items
print(len(items), items[:1])

JavaScript

// npm install apify-client
import { ApifyClient } from 'apify-client';

const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const input = {
  "isic_divisions": [
    "62"
  ],
  "max_results_per_country": 2,
  "max_results": 14
};
const { defaultDatasetId } = await client.actor('latsouth/latam-company-finder').call(input);
const { items } = await client.dataset(defaultDatasetId).listItems();
console.log(items.length, items[0]);

MCP (AI agents)

Server URL with only this actor as a tool: https://mcp.apify.com?tools=latsouth/latam-company-finder. Setup per client on AI agents.

{
  "mcpServers": {
    "latsouth": {
      "url": "https://mcp.apify.com?tools=latsouth/latam-company-finder"
    }
  }
}
All 19 input fields
InputTypeDefaultWhat it does
countriesarray—Leave empty for all 7 countries. Selecting countries makes runs faster. (7 allowed values)
isic_sectionsarray—ISIC Rev.4 sections (the UN industry standard every country's code was mapped to). Combined with divisions using OR. (21 allowed values)
isic_divisionsarray—ISIC Rev.4 divisions, e.g. 62 = computer programming and IT consultancy, 70 = management consultancy, 46 = wholesale trade. (88 allowed values)
keywordstring—Case- and accent-insensitive substring searched in the English and local activity labels and in the legal and trade names (e.g. software, logistica, clinic).
regionsarray—Region names, accents optional (Sao Paulo, Jalisco, Antioquia, Lima, Cordoba, Pichincha, Metropolitana de Santiago), or ISO 3166-2 codes (BR-SP, MX-JAL, CO-ANT, PE-LMA, AR-X, EC-P, CL-RM).
citiesarray—City as each registry publishes it, accents optional: BR municipio, MX municipio, CL comuna, CO municipio, PE province, AR localidad, EC canton (e.g. Sao Paulo, Monterrey, Providencia, Medellin, Lima, Rosario, Guayaquil).
size_classarray—Harmonized size (rule per country in the README: revenue bands in BR/CL/CO, employees in MX/PE). Argentina and Ecuador publish no size. (5 allowed values)
only_activebooleantrueKeep companies the registry reports as active. Argentina publishes no status: there it keeps companies with at least one active tax activity.
exclude_public_sectorbooleantrueLeave out government bodies, state-owned companies and international organizations.
exclude_sole_ownerbooleantrueLeave out sole-owner companies (EIRL, unipersonal, EIRELI) and entities whose name is a person's name. Their names are masked (***) anyway.
only_headquartersbooleanfalseBrazil lists branches as separate CNPJs; keep only the head office. Other countries are already one row per company.
only_with_websitebooleanfalseKeep companies with a website (declared to the registry, or HTTP-verified in Brazil) OR a website_guess (a domain derived from the company's registered corporate e-mail, NOT checked over HTTP). Brazil, Mexico and Colombia only; free-mail,…
only_with_verified_websitebooleanfalseStricter: keep only companies whose website answered an HTTP check (2xx/3xx, not parked, for sale or a hosting default page). Brazil and Mexico; other countries return no rows with this on.
only_with_corporate_email_domainbooleanfalseKeep companies whose registered e-mail uses their own domain (not Gmail/Hotmail/ISP/placeholder). Only the domain is returned, never the e-mail address. Brazil, Mexico and Colombia publish e-mails.
registered_afterstring—YYYY-MM-DD, on registration_date (opening/incorporation date; see registration_date_basis per country). Peru has no date.
registered_beforestring—YYYY-MM-DD, on registration_date.
sort_bystring"size_desc"Order of results. (4 allowed values)
max_results_per_countryinteger—Optional cap per country, for a balanced multi-country sample (e.g. 2 per country x 7 countries = 14 rows).
max_resultsinteger1000You pay per company returned (US$0.004 each: 1,000 companies = US$4). The run also stops at your spending limit. Default 1,000 when called via API without this field.
All 46 output fields

country, tax_id, tax_id_type, legal_name, legal_name_masked, trade_name, legal_form, legal_form_normalized, is_sole_owner_entity, is_headquarters, is_active, status, sector, activity_system, activity_code_local, activity_label_local, activity_label_en, isic_section, isic_section_label_en, isic_division, isic_division_label_en, isic_class, isic_class_label_en, isic_basis, size_bracket, size_class, size_class_basis, employees_bracket, employees_min, employees_max, region, region_name, region_iso, city, address, zip, email_domain, has_corporate_email, website, website_verified, website_guess, registration_date, registration_date_basis, data_as_of, source, source_license

Actor · latsouth/latam-company-enrichment

LATAM Company Enrichment — CNPJ, RUT, NIT, RUC, CUIT Lookup

Enrich lists of CNPJ, RUT, NIT, RUC, CUIT or company domains from the official registries of 7 LATAM countries: match status, legal name, status, industry, size, address, verified website, public contacts, gov-supplier flag. PT/ES: enriquecimento de empresas por CNPJ, RUT, RUC.

What it returns

One row per input (tax ID or domain): match_status, the matched company's registry record in the unified LatSouth schema, public company contacts (BR/MX/CO) and government-supplier flags (BR/CO).

  • rows: Enriched rows (dataset)
  • summary: Run summary (OUTPUT)

75 fields per dataset item. Default memory 2048 MB. Actor page on Apify.

Price per event

EventCharged whenPricePer 1,000
enriched-matchthe input matched exactly one companyUS$0.01US$10
no-matchnot found, ambiguous, invalid or unsupportedUS$0.001US$1

Billed by Apify to your account; set a maximum cost per run and the run stops at it. Prices as published in the actor's README in our repository; the Apify Pricing tab is authoritative.

API (curl)

curl -X POST "https://api.apify.com/v2/actors/latsouth~latam-company-enrichment/run-sync-get-dataset-items?format=json" \
  -H "Authorization: Bearer $APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "identifiers": [
    "33.000.167/0001-01",
    "CO:899999068-1",
    "pipefy.com"
  ]
}'

Python

# pip install apify-client
import os
from apify_client import ApifyClient

client = ApifyClient(os.environ["APIFY_TOKEN"])
run_input = {
    "identifiers": ["33.000.167/0001-01", "CO:899999068-1", "pipefy.com"],
}
run = client.actor("latsouth/latam-company-enrichment").call(run_input=run_input)
items = client.dataset(run["defaultDatasetId"]).list_items().items
print(len(items), items[:1])

JavaScript

// npm install apify-client
import { ApifyClient } from 'apify-client';

const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const input = {
  "identifiers": [
    "33.000.167/0001-01",
    "CO:899999068-1",
    "pipefy.com"
  ]
};
const { defaultDatasetId } = await client.actor('latsouth/latam-company-enrichment').call(input);
const { items } = await client.dataset(defaultDatasetId).listItems();
console.log(items.length, items[0]);

MCP (AI agents)

Server URL with only this actor as a tool: https://mcp.apify.com?tools=latsouth/latam-company-enrichment. Setup per client on AI agents.

{
  "mcpServers": {
    "latsouth": {
      "url": "https://mcp.apify.com?tools=latsouth/latam-company-enrichment"
    }
  }
}
All 5 input fields
InputTypeDefaultWhat it does
identifiersarray—One per line, up to 10,000: CNPJ (12.345.678/0001-95 or the 8-digit root), DENUE id (Mexico), RUT (77.552.777-3), NIT (900.593.229-1, with or without the check digit), RUC (Peru 20..., Ecuador 13 digits), CUIT (30-70917199-9), or a domain…
default_countrystring"AUTO"Country of identifiers that carry no prefix. Auto-detect looks the identifier up in every country whose format fits and reports ambiguous if it exists in more than one. (8 allowed values)
recordsarray—Optional, for API use: [{"tax_id": "900593229", "country": "CO", "domain": "acme.co", "ref": "crm-123"}]. ref is echoed as input_ref. When both a tax ID and a domain are given, the tax ID is tried first and the domain is the fallback.
include_contactsbooleantrueRole e-mails (contato@, ventas@...), company phones and social profiles published on the company's own website. Only when the domain belongs to that single company; never personal mailboxes.
include_gov_flagsbooleantruePublic contracts won (Brazil PNCP 2025-2026, Colombia SECOP II): count, last 12 months, total in USD, last award date, top category.
All 75 output fields

input, input_ref, input_type, match_status, match_method, match_note, normalized_id, id_check_digit_valid, candidate_tax_ids, tax_id_formatted, country, tax_id, tax_id_type, legal_name, legal_name_masked, trade_name, legal_form, legal_form_normalized, is_sole_owner_entity, is_headquarters, is_active, status, sector, activity_system, activity_code_local, activity_label_local, activity_label_en, isic_section, isic_section_label_en, isic_division, isic_division_label_en, isic_class, isic_class_label_en, isic_basis, size_bracket, size_class, size_class_basis, employees_bracket, employees_min, employees_max, region, region_name, region_iso, city, address, zip, email_domain, has_corporate_email, website, website_verified, website_guess, registration_date, registration_date_basis, data_as_of, source, source_license, public_role_emails, public_phones, linkedin_url, instagram_url, facebook_url, has_public_contact, contact_source_url, contact_fetched_at, is_gov_supplier, gov_contracts_count, gov_contracts_last_12m, gov_total_value_usd, gov_last_award_date, gov_top_category_en, gov_source, is_importer, is_exporter, parish, enriched_at

Actor · latsouth/latam-gov-contracts

LATAM Gov Contracts & Suppliers — Licitações PNCP, SECOP

8.3M public contracts and 527k government suppliers: Brazil (PNCP, since 2021), Colombia (SECOP II), Chile (ChileCompra) and Peru (OECE). Search by keyword, agency, value and date. PT/ES: licitações e licitaciones públicas.

What it returns

Contracts mode: one row per public contract awarded to a company in Brazil (PNCP) or Colombia (SECOP II): buyer, supplier tax ID and name, description, category, value in local currency and USD, dates, status, link. Suppliers mode: one row per supplier company with contract count, total awarded, top buyer and category, and industry/size/region from the company registry. No person data.

  • results: Results (dataset)
  • summary: Run summary (OUTPUT)

78 fields per dataset item. Default memory 4096 MB. Actor page on Apify.

Price per event

EventCharged whenPricePer 1,000
recordper result rowUS$0.005US$5

Billed by Apify to your account; set a maximum cost per run and the run stops at it. Prices as published in the actor's README in our repository; the Apify Pricing tab is authoritative.

API (curl)

curl -X POST "https://api.apify.com/v2/actors/latsouth~latam-gov-contracts/run-sync-get-dataset-items?format=json" \
  -H "Authorization: Bearer $APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "mode": "contracts",
  "countries": [
    "CO",
    "BR"
  ],
  "keywords": [
    "software"
  ],
  "only_new_since": "60 days",
  "max_results": 10
}'

Python

# pip install apify-client
import os
from apify_client import ApifyClient

client = ApifyClient(os.environ["APIFY_TOKEN"])
run_input = {
    "mode": "contracts",
    "countries": ["CO", "BR"],
    "keywords": ["software"],
    "only_new_since": "60 days",
    "max_results": 10,
}
run = client.actor("latsouth/latam-gov-contracts").call(run_input=run_input)
items = client.dataset(run["defaultDatasetId"]).list_items().items
print(len(items), items[:1])

JavaScript

// npm install apify-client
import { ApifyClient } from 'apify-client';

const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const input = {
  "mode": "contracts",
  "countries": [
    "CO",
    "BR"
  ],
  "keywords": [
    "software"
  ],
  "only_new_since": "60 days",
  "max_results": 10
};
const { defaultDatasetId } = await client.actor('latsouth/latam-gov-contracts').call(input);
const { items } = await client.dataset(defaultDatasetId).listItems();
console.log(items.length, items[0]);

MCP (AI agents)

Server URL with only this actor as a tool: https://mcp.apify.com?tools=latsouth/latam-gov-contracts. Setup per client on AI agents.

{
  "mcpServers": {
    "latsouth": {
      "url": "https://mcp.apify.com?tools=latsouth/latam-gov-contracts"
    }
  }
}
All 23 input fields
InputTypeDefaultWhat it does
modestring"contracts"contracts returns awarded public contracts. suppliers returns one row per supplier company with contract count, total value, top buyer, top category and its industry/size from our company registry. (2 allowed values)
countriesarray—Leave empty for all four. Selecting one country makes runs faster. (4 allowed values)
keywordsarray—Contracts mode. Case- and accent-insensitive substrings searched in the contract object/description (Portuguese or Spanish), any of them matches: software, licencia, ambulancia, merenda escolar, obra, consultoria.
category_prefixesarray—Colombia, Chile and Peru: UNSPSC code prefixes (43 = IT and telecom, 4323 = software, 81 = engineering and IT services, 72 = construction, 85 = health services). Brazil: PNCP process categories PNCP-01 .. PNCP-11 (PNCP-02 purchases,…
buyer_keywordsarray—Contracts mode. Substrings of the buying entity or unit name, any matches: ministerio, alcaldia de medellin, prefeitura de sao paulo, hospital, universidade.
buyer_tax_idsarray—Contracts mode. Buyer NIT (Colombia, without check digit), CNPJ (Brazil, 14 characters; punctuation is ignored), RUT (Chile) or RUC (Peru).
supplier_tax_idsarray—Supplier NIT (Colombia; with or without the check digit), CNPJ (Brazil), RUT (Chile, e.g. 76.047.684-6) or RUC (Peru, 11 digits). Use it to pull every contract a company won, or its supplier profile.
min_value_usdinteger—Contracts mode. On value_usd = local value converted at the fixed monthly average FX of the signing month (BRL: BCB PTAX; COP: TRM; CLP: ChileCompra monthly parity; PEN: BCRP monthly average; Peru contracts signed in USD keep their USD…
max_value_usdinteger—Contracts mode. On value_usd.
signed_afterstring—Contracts mode. YYYY-MM-DD or a relative window such as '30 days'.
signed_beforestring—Contracts mode. YYYY-MM-DD or a relative window.
only_new_sincestring—Contracts mode. Keep contracts published on or after this date (Brazil: PNCP publication date; Colombia and Peru: signing date; Chile: date the purchase order was sent to the supplier). Schedule the Actor daily or weekly with '7 days' to…
buyer_regionsarray—Contracts mode. Buyer state / department name (accents optional) or ISO 3166-2 code: Sao Paulo, BR-SP, Antioquia, CO-ANT, Bogota, CO-DC, CL-RM, Lima, PE-LIM.
isic_sectionsarray—Suppliers mode. ISIC Rev.4 section of the supplier in our company registry (Brazil: Receita Federal CNPJ; Colombia: RUES). Combined with divisions using OR. Suppliers not found in the registry have no ISIC and are left out by this filter. (21 allowed values)
isic_divisionsarray—Suppliers mode. ISIC Rev.4 division of the supplier in our company registry, e.g. 62 = software and IT services, 71 = engineering, 86 = health. (88 allowed values)
min_total_value_usdinteger—Suppliers mode. Sum of value_usd over all the supplier's contracts in the dataset.
last_award_afterstring—Suppliers mode. Keep suppliers whose most recent contract was signed on or after this date (YYYY-MM-DD or '12 months').
regionsarray—Suppliers mode. State / department of the supplier's registered address in our registry (Sao Paulo, BR-SP, Antioquia, CO-ANT); for suppliers not in the registry, the region of their top buyer (see region_basis).
only_in_registrybooleanfalseSuppliers mode. Keep suppliers matched to the Receita Federal CNPJ (Brazil, active companies) or RUES (Colombia) registry, so industry, size and address are filled.
exclude_public_sectorbooleantrueSuppliers mode. Leave out state-owned companies and public bodies acting as suppliers (per our registry).
only_pymebooleanfalseKeep suppliers SECOP II flags as Pyme (small or medium enterprise). Colombia only; Brazilian rows are dropped when this is on.
sort_bystring"published_desc"A sort of the other mode falls back to the mode's default (contracts: newest published; suppliers: largest total). (7 allowed values)
max_resultsinteger1000You pay per row returned (US$0.005 each: 1,000 rows = US$5). The run also stops at your spending limit. Default 1,000 when called via API without this field.
All 78 output fields

country, contract_id, process_id, contract_reference, buyer_tax_id, buyer_name, buyer_unit_name, buyer_level, buyer_branch, buyer_sector, buyer_region_name, buyer_region_code, buyer_city, buyer_city_code, supplier_tax_id, supplier_tax_id_type, supplier_name, supplier_name_masked, supplier_is_pyme, supplier_is_consortium, contract_type, procurement_method, category_system, category_code, category_label_en, description, value_local, value_initial_local, currency, fx_month, fx_local_per_usd, value_usd, value_outlier, signed_date, start_date, end_date, published_date, updated_at, status, url, data_as_of, source, source_license, contracts_count, contracts_last_12m, total_value_local, total_value_usd, value_usd_last_12m, max_contract_value_usd, first_award_date, last_award_date, distinct_buyers, top_buyer_tax_id, top_buyer_name, top_buyer_region_name, top_category_system, top_category_code, top_category_label_en, is_pyme, is_consortium, in_company_registry, registry_match, registry_tax_id, registry_legal_name, registry_trade_name, registry_is_active, registry_sector, registry_isic_section, registry_isic_division, registry_isic_division_label_en, registry_activity_label_en, registry_size_class, registry_region_name, registry_region_iso, registry_city, registry_website, region_name, region_basis

Actor · latsouth/brazil-company-finder

Brazil Company Leads & CNPJ Lookup — Empresas por CNAE

Brazilian companies (CNPJ) by industry (CNAE), state, city, size and opening date, plus bulk CNPJ lookup from a list or CSV. Company phone, role e-mail, verified website, accountant flag. No scraping. PT: consulta CNPJ em lote, leads de empresas, empresas abertas recentemente.

What it returns

One row per company matching the filters (active legal entities only). Fields: cnpj, legal_name, trade_name, company_size, share_capital_brl, opening_date, cnae_code, cnae_label_en, state, city, address, phone, email (role mailbox on the company domain only), website, website_verified, public_role_emails, public_phones, linkedin_url, has_public_contact (contacts from the verified homepage, with…

  • companies: Companies (dataset)
  • summary: Run summary (OUTPUT)

53 fields per dataset item. Default memory 2048 MB. Actor page on Apify.

Price per event

EventCharged whenPricePer 1,000
company-resultper result rowUS$0.0015US$1.5
cnpj-not-foundper result rowUS$0.0002US$0.2

Billed by Apify to your account; set a maximum cost per run and the run stops at it. Prices as published in the actor's README in our repository; the Apify Pricing tab is authoritative.

API (curl)

curl -X POST "https://api.apify.com/v2/actors/latsouth~brazil-company-finder/run-sync-get-dataset-items?format=json" \
  -H "Authorization: Bearer $APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "cnae_divisions": [
    "62"
  ],
  "states": [
    "SP"
  ],
  "max_results": 10
}'

Python

# pip install apify-client
import os
from apify_client import ApifyClient

client = ApifyClient(os.environ["APIFY_TOKEN"])
run_input = {
    "cnae_divisions": ["62"],
    "states": ["SP"],
    "max_results": 10,
}
run = client.actor("latsouth/brazil-company-finder").call(run_input=run_input)
items = client.dataset(run["defaultDatasetId"]).list_items().items
print(len(items), items[:1])

JavaScript

// npm install apify-client
import { ApifyClient } from 'apify-client';

const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const input = {
  "cnae_divisions": [
    "62"
  ],
  "states": [
    "SP"
  ],
  "max_results": 10
};
const { defaultDatasetId } = await client.actor('latsouth/brazil-company-finder').call(input);
const { items } = await client.dataset(defaultDatasetId).listItems();
console.log(items.length, items[0]);

MCP (AI agents)

Server URL with only this actor as a tool: https://mcp.apify.com?tools=latsouth/brazil-company-finder. Setup per client on AI agents.

{
  "mcpServers": {
    "latsouth": {
      "url": "https://mcp.apify.com?tools=latsouth/brazil-company-finder"
    }
  }
}
All 26 input fields
InputTypeDefaultWhat it does
modestring"search"search = filter the registry (industry, state, city, size...). new_companies = same filters, only companies opened in the last N days (see 'Opened in the last N days'), newest first. lookup = one record per CNPJ you send (list or CSV);… (3 allowed values)
cnpjsarray—14-digit CNPJs, formatted or not (11.222.333/0001-81 or 11222333000181), including the new alphanumeric CNPJ (12.ABC.345/01DE-35). An 8-digit root (11222333) returns the head office (matriz). Spreadsheet numbers that lost their leading…
cnpjs_filestring—Upload a file or paste a public URL. One CNPJ per line, or a CSV (comma, semicolon or tab) with a column whose header contains 'cnpj' (cnpj, CNPJ, cnpj_basico...). Up to 100,000 distinct CNPJs per run, 50 MB. Combined with the list above.…
include_not_foundbooleantrueOn: every CNPJ you send gets a row; the ones we don't return have not_found = true and not_found_reason (not_in_dataset = inactive/closed, MEI or other individual-owner form, or not in the Receita release; invalid_cnpj = wrong check…
cnae_divisionsarray—Two-digit CNAE divisions of the main activity, e.g. 62 = IT services (software development, IT consulting), 47 = retail trade, 86 = human health. Combined with industry codes using OR. PT: divisão CNAE da atividade principal.
cnae_codesarray—Full 7-digit CNAE subclasses (6201501 or 6201-5/01) or shorter prefixes (4-5 digits = class or group). PT: código CNAE (subclasse) ou prefixo.
include_secondary_cnaesbooleanfalseIf on, industry codes also match companies that list the code as a secondary activity.
keywordstring—Case- and accent-insensitive substring searched in the English activity label and in the legal and trade names (razão social, nome fantasia), e.g. software, clinica, logistica.
statesarray—Leave empty for all of Brazil. Selecting states makes runs faster. PT: estado (UF). (27 allowed values)
citiesarray—City names as in the federal registry, accents optional (e.g. Sao Paulo, Campinas, Belo Horizonte).
company_sizearray—Receita 'porte'. Leave empty for all sizes. PT: ME, EPP, demais. (3 allowed values)
opened_in_last_daysinteger—Only companies opened in the N days before the registry snapshot date (data_as_of of the Receita release, shown in every row; the Receita publishes monthly, so this is not 'until today'). 30 = last month, 90 = last quarter. Mode…
opened_afterstring—YYYY-MM-DD
opened_beforestring—YYYY-MM-DD
min_share_capitalinteger—Declared share capital of the company, in Brazilian reais.
only_with_websitebooleanfalseKeep companies that have a website_guess: the domain of the company's registered corporate e-mail (not Gmail/Hotmail/ISP/accounting firm/placeholder such as contato.com). It is NOT checked over HTTP and may be dead or parked. For live…
only_with_verified_websitebooleanfalseStricter: keep only companies whose website answered an HTTP check with a 2xx/3xx status and is not a parked, for-sale, suspended, under-construction or hosting default page. The check is at most 90 days older than the dataset build; see…
only_with_emailbooleanfalseKeep only companies whose registered e-mail is a role/generic mailbox (contato@, comercial@, financeiro@, ...) on the company's own corporate domain. Personal mailboxes (joao.silva@) and free-mail/ISP addresses are never output and never…
only_with_phonebooleanfalseKeep only companies with a valid registered phone number.
only_with_public_contactbooleanfalseKeep only companies whose verified homepage publishes a company contact: a role/generic e-mail (contato@, vendas@, comercial@, ...), a phone or a company social profile, returned in public_role_emails, public_phones, linkedin_url,…
exclude_accountant_contactsbooleantrueMany Brazilian companies register their accountant's e-mail or phone. When on, companies whose registered contact is shared by many unrelated companies (or looks like an accounting firm) are left out. In lookup mode nothing is left out:…
headquarters_onlybooleanfalseReturn only head offices (matriz), not branches (filiais).
technologiesarray—Technology ids seen on the company's own verified homepage; a company matches if it uses ANY of them. Examples: vtex, shopify, nuvemshop, loja_integrada, tray, woocommerce, magento, wix_stores, wordpress, wix, rd_station, hubspot,…
technology_categoriesarray—Keep companies whose homepage uses at least one technology of ANY of these categories. Combined with the technologies above using AND (e.g. technologies = rd_station and category = ecommerce: online stores that use RD Station). Head… (14 allowed values)
sort_bystring"share_capital_desc"Order of results. Largest share capital first is a good default for B2B prospecting. Mode new_companies always sorts newest first. (4 allowed values)
max_resultsinteger1000You pay per company returned (US$0.0015 each: 1,000 companies = US$1.50). The run also stops at your spending limit. Default 1,000 when called via API without this field. Not used by lookup (one row per CNPJ sent).
All 53 output fields

lookup_input, lookup_match, not_found, not_found_reason, cnpj, cnpj_root, is_headquarters, legal_name, trade_name, legal_nature_code, legal_nature, company_size, share_capital_brl, opening_date, cnae_code, cnae_label_en, cnae_label_pt, cnae_division, cnae_division_en, cnae_section, cnae_section_en, secondary_cnaes, state, city, zip, address, phone, email, email_is_role, email_domain, website_guess, website, website_verified, website_checked_at, is_likely_accountant_contact, public_role_emails, public_phones, linkedin_url, instagram_url, facebook_url, has_public_contact, contact_source_url, contact_fetched_at, contact_is_shared_domain, contact_is_accountant_domain, won_gov_contract, gov_contracts_count, gov_last_award_date, data_as_of, technologies, ecommerce_platform, hosting_provider, tech_last_seen

Actor · latsouth/brazil-verified-contacts

Brazil Company Contacts — Website, Email & Phone (CNPJ)

115k Brazilian companies (CNPJ) with a verified own website and a public company contact: role e-mail (contato@, vendas@) and phone, with source URL and date. No personal e-mails. PT: contatos de empresas com site, e-mail e telefone.

What it returns

One row per company (CNPJ) with a verified website and a public role e-mail and/or phone from its own homepage. Fields: cnpj, legal_name, trade_name, cnae_code, cnae_label_en, state, city, website, email, public_role_emails, public_phones, linkedin_url, contact_source_url, contact_fetched_at, data_as_of.

  • companies: Companies (dataset)
  • summary: Run summary (OUTPUT)

34 fields per dataset item. Default memory 1024 MB. Actor page on Apify.

Price per event

EventCharged whenPricePer 1,000
company-resultper result rowUS$0.01US$10

Billed by Apify to your account; set a maximum cost per run and the run stops at it. Prices as published in the actor's README in our repository; the Apify Pricing tab is authoritative.

API (curl)

curl -X POST "https://api.apify.com/v2/actors/latsouth~brazil-verified-contacts/run-sync-get-dataset-items?format=json" \
  -H "Authorization: Bearer $APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "cnae_divisions": [
    "62"
  ],
  "states": [
    "SP"
  ],
  "max_results": 10
}'

Python

# pip install apify-client
import os
from apify_client import ApifyClient

client = ApifyClient(os.environ["APIFY_TOKEN"])
run_input = {
    "cnae_divisions": ["62"],
    "states": ["SP"],
    "max_results": 10,
}
run = client.actor("latsouth/brazil-verified-contacts").call(run_input=run_input)
items = client.dataset(run["defaultDatasetId"]).list_items().items
print(len(items), items[:1])

JavaScript

// npm install apify-client
import { ApifyClient } from 'apify-client';

const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const input = {
  "cnae_divisions": [
    "62"
  ],
  "states": [
    "SP"
  ],
  "max_results": 10
};
const { defaultDatasetId } = await client.actor('latsouth/brazil-verified-contacts').call(input);
const { items } = await client.dataset(defaultDatasetId).listItems();
console.log(items.length, items[0]);

MCP (AI agents)

Server URL with only this actor as a tool: https://mcp.apify.com?tools=latsouth/brazil-verified-contacts. Setup per client on AI agents.

{
  "mcpServers": {
    "latsouth": {
      "url": "https://mcp.apify.com?tools=latsouth/brazil-verified-contacts"
    }
  }
}
All 11 input fields
InputTypeDefaultWhat it does
cnae_divisionsarray—Two-digit CNAE divisions of the main activity, e.g. 62 = IT services (software development, IT consulting), 47 = retail trade, 86 = human health. Combined with industry codes using OR.
cnae_codesarray—Full 7-digit CNAE subclasses (6201501 or 6201-5/01) or shorter prefixes (4-5 digits = class or group).
keywordstring—Case- and accent-insensitive substring searched in the English activity label and in the legal and trade names (e.g. software, clinic, logistica).
statesarray—Leave empty for all of Brazil. Selecting states makes runs faster. (27 allowed values)
citiesarray—City names as in the federal registry, accents optional (e.g. Sao Paulo, Campinas, Belo Horizonte).
company_sizearray—Leave empty for all sizes. (3 allowed values)
opened_afterstring—YYYY-MM-DD
require_emailbooleanfalseKeep only companies whose homepage publishes a role/generic company e-mail (contato@, vendas@, comercial@, ...).
require_phonebooleanfalseKeep only companies whose homepage publishes a valid Brazilian phone number.
sort_bystring"share_capital_desc"Order of results. Largest share capital first is a good default for B2B prospecting. (4 allowed values)
max_resultsinteger1000You pay per company returned (US$0.01 each: 1,000 companies = US$10). The run also stops at your spending limit. Default 1,000 when called via API without this field.
All 34 output fields

cnpj, cnpj_root, is_headquarters, legal_name, trade_name, legal_nature_code, legal_nature, company_size, share_capital_brl, opening_date, cnae_code, cnae_label_en, cnae_label_pt, cnae_division, cnae_division_en, cnae_section, cnae_section_en, state, city, zip, address, website, website_checked_at, email, public_role_emails, public_phones, linkedin_url, instagram_url, facebook_url, contact_source, contact_source_url, contact_fetched_at, data_as_of, source

Actor · latsouth/brazil-health-facilities

Brazil Health Facilities (CNES, CNPJ, phone)

360k Brazilian hospitals, clinics, labs and pharmacies from DATASUS CNES: CNPJ, facility type, public/private sphere, SUS, beds, address, geo, phone, role e-mail, verified website, joined to the CNPJ registry. Company data only.

What it returns

One row per health facility (CNES code) run by a legal entity: cnes_code, company_cnpj, legal_name, trade_name, facility_type_en, sphere, accepts_sus, beds_total, address, city, state, zip, phone, email, website, latitude, longitude, registry fields (company_size, opening_date), data_as_of, source.

  • facilities: Facilities (dataset)
  • summary: Run summary (OUTPUT)

49 fields per dataset item. Default memory 512 MB. Actor page on Apify.

Price per event

EventCharged whenPricePer 1,000
recordper result rowUS$0.005US$5

Billed by Apify to your account; set a maximum cost per run and the run stops at it. Prices as published in the actor's README in our repository; the Apify Pricing tab is authoritative.

API (curl)

curl -X POST "https://api.apify.com/v2/actors/latsouth~brazil-health-facilities/run-sync-get-dataset-items?format=json" \
  -H "Authorization: Bearer $APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "states": [
    "SP"
  ],
  "facility_categories": [
    "hospital"
  ],
  "max_results": 10
}'

Python

# pip install apify-client
import os
from apify_client import ApifyClient

client = ApifyClient(os.environ["APIFY_TOKEN"])
run_input = {
    "states": ["SP"],
    "facility_categories": ["hospital"],
    "max_results": 10,
}
run = client.actor("latsouth/brazil-health-facilities").call(run_input=run_input)
items = client.dataset(run["defaultDatasetId"]).list_items().items
print(len(items), items[:1])

JavaScript

// npm install apify-client
import { ApifyClient } from 'apify-client';

const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const input = {
  "states": [
    "SP"
  ],
  "facility_categories": [
    "hospital"
  ],
  "max_results": 10
};
const { defaultDatasetId } = await client.actor('latsouth/brazil-health-facilities').call(input);
const { items } = await client.dataset(defaultDatasetId).listItems();
console.log(items.length, items[0]);

MCP (AI agents)

Server URL with only this actor as a tool: https://mcp.apify.com?tools=latsouth/brazil-health-facilities. Setup per client on AI agents.

{
  "mcpServers": {
    "latsouth": {
      "url": "https://mcp.apify.com?tools=latsouth/brazil-health-facilities"
    }
  }
}
All 16 input fields
InputTypeDefaultWhat it does
statesarray—Leave empty for all of Brazil. Selecting states makes runs faster. (27 allowed values)
citiesarray—City names as in CNES, accents optional (e.g. Sao Paulo, Campinas, Belo Horizonte).
facility_categoriesarray—Broad groups of CNES unit types. Combined with the unit types below using OR. Leave both empty for all. (11 allowed values)
facility_typesarray—Official CNES establishment types (TP_UNIDADE), e.g. 05 General hospital, 39 Diagnostic support unit, 43 Pharmacy. (41 allowed values)
spheresarray—From the legal nature of the facility's CNPJ. Leave empty for all. (7 allowed values)
private_onlybooleanfalseKeep only private facilities (for-profit and non-profit), i.e. drop municipal, state and federal units.
susstring"any"Based on the payers each facility declares in CNES. (3 allowed values)
accepts_health_plansbooleanfalseKeep only facilities that declare private or own health plans / insurers as payers.
min_bedsinteger—Minimum number of existing hospital beds (only hospitals and some clinics report beds).
keywordstring—Case- and accent-insensitive substring searched in the legal and trade names and the facility type (e.g. oncologia, cardio, laboratorio, odonto).
only_with_phonebooleanfalseKeep only facilities with a valid registered phone (+55, DDD checked).
only_with_emailbooleanfalseKeep only facilities with a role/generic e-mail (contato@, faturamento@, saude@ ...) on their own domain. Personal and Gmail/Hotmail addresses are never output.
only_with_websitebooleanfalseKeep only facilities whose website answered an HTTP check (2xx/3xx, not parked).
only_with_contactbooleanfalseKeep only facilities with at least one company contact (phone or role e-mail).
sort_bystring"beds_desc"Order of results. Most beds first surfaces the largest hospitals. (4 allowed values)
max_resultsinteger1000You pay per facility returned (US$0.005 each: 1,000 facilities = US$5). The run also stops at your spending limit. Default 1,000 when called via API without this field.
All 49 output fields

cnes_code, cnpj, cnpj_maintainer, company_cnpj, company_cnpj_source, legal_name, trade_name, legal_nature_code, legal_nature, sphere, facility_type_code, facility_type_en, facility_type_pt, facility_category, facility_kind_pt, management, address, district, city, city_ibge6, state, zip, phone, phone_type, email, website, website_source, updated_at, registry_legal_name, company_size, opening_date, registry_cnae_code, registry_cnae_label_en, competence, data_as_of, source, license, is_private, accepts_sus, accepts_private_pay, accepts_health_plans, website_verified, registry_matched, beds_total, beds_sus, n_specialized_services, latitude, longitude, attendance_types

Actor · latsouth/mexico-company-finder

Mexico Company Leads (DENUE) — Empresas por Actividad

846k Mexican legal entities from INEGI DENUE by industry (SCIAN), state, municipality and size, with +52 phone, website and corporate e-mail. English labels, no scraping. ES: empresas de México por actividad, estado y tamaño.

What it returns

One row per legal entity matching the filters (INEGI DENUE, companies only). Fields: denue_id, legal_name, trade_name, scian_code, scian_label_en, size_bracket, state, municipality, address, phone, email, website, website_verified_url, website_verified, data_as_of, source.

  • companies: Companies (dataset)
  • summary: Run summary (OUTPUT)

53 fields per dataset item. Default memory 1024 MB. Actor page on Apify.

Price per event

EventCharged whenPricePer 1,000
company-resultOnce per company row returned in the datasetUS$0.003US$3

Billed by Apify to your account; set a maximum cost per run and the run stops at it. Prices as published in the actor's README in our repository; the Apify Pricing tab is authoritative.

API (curl)

curl -X POST "https://api.apify.com/v2/actors/latsouth~mexico-company-finder/run-sync-get-dataset-items?format=json" \
  -H "Authorization: Bearer $APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "scian_sectors": [
    "54"
  ],
  "states": [
    "09"
  ],
  "max_results": 10
}'

Python

# pip install apify-client
import os
from apify_client import ApifyClient

client = ApifyClient(os.environ["APIFY_TOKEN"])
run_input = {
    "scian_sectors": ["54"],
    "states": ["09"],
    "max_results": 10,
}
run = client.actor("latsouth/mexico-company-finder").call(run_input=run_input)
items = client.dataset(run["defaultDatasetId"]).list_items().items
print(len(items), items[:1])

JavaScript

// npm install apify-client
import { ApifyClient } from 'apify-client';

const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const input = {
  "scian_sectors": [
    "54"
  ],
  "states": [
    "09"
  ],
  "max_results": 10
};
const { defaultDatasetId } = await client.actor('latsouth/mexico-company-finder').call(input);
const { items } = await client.dataset(defaultDatasetId).listItems();
console.log(items.length, items[0]);

MCP (AI agents)

Server URL with only this actor as a tool: https://mcp.apify.com?tools=latsouth/mexico-company-finder. Setup per client on AI agents.

{
  "mcpServers": {
    "latsouth": {
      "url": "https://mcp.apify.com?tools=latsouth/mexico-company-finder"
    }
  }
}
All 17 input fields
InputTypeDefaultWhat it does
scian_sectorsarray—SCIAN sectors of the establishment's main activity (SCIAN is Mexico's version of NAICS). Combined with industry codes using OR. (20 allowed values)
scian_codesarray—6-digit SCIAN classes (e.g. 541510 = computer systems design services) or shorter prefixes (3 digits = subsector, 4 = industry group, 5 = industry).
keywordstring—Case- and accent-insensitive substring searched in the English and Spanish activity labels and in the legal and trade names (e.g. software, logistics, clinica).
statesarray—Leave empty for all of Mexico. Selecting states makes runs faster. (32 allowed values)
municipalitiesarray—Municipality names as in DENUE, accents optional (e.g. Monterrey, Zapopan, Miguel Hidalgo, Benito Juarez).
size_bracketsarray—INEGI personnel brackets (personal ocupado) of the establishment. Leave empty for all sizes. (7 allowed values)
min_employeesinteger—Keep establishments whose whole size bracket is at or above this number (e.g. 11 keeps 11-30 and larger).
exclude_public_sectorbooleantrueLeave out government offices, public schools and hospitals, and other public-sector establishments.
only_with_websitebooleanfalseKeep establishments with a website declared to INEGI OR a website_guess (the domain of a corporate e-mail, NOT checked over HTTP). Free-mail, ISP and placeholder domains (gmail, prodigy.net.mx, contacto.com, ...) never count. For live…
only_with_verified_websitebooleanfalseStricter: keep only establishments whose site (declared website or website_guess) answered an HTTP check with a 2xx/3xx status and is not a parked, for-sale, suspended, under-construction or hosting default page. The final URL is in…
only_with_emailbooleanfalseKeep only establishments whose e-mail is returned: a company role mailbox (contacto@, ventas@, facturacion@, ...) on the company's own domain. Personal mailboxes (juan.perez@) and free-mail addresses are never returned and do not count.
only_with_phonebooleanfalseKeep only establishments with a valid +52 phone number.
only_with_public_contactbooleanfalseKeep only establishments whose own HTTP-verified homepage publishes a role e-mail (contacto@, ventas@ on the company's domain) or a valid +52 phone (has_public_email_or_phone). Pages with only social links do not count (they still fill…
registered_afterstring—YYYY-MM-DD. DENUE records the month the establishment entered the directory (a proxy for new businesses).
one_per_companybooleanfalseCollapse branches: keep only the largest establishment of each legal name.
sort_bystring"size_desc"Order of results. Largest first is a good default for B2B prospecting. (4 allowed values)
max_resultsinteger1000You pay per company returned (US$0.003 each: 1,000 companies = US$3). The run also stops at your spending limit. Default 1,000 when called via API without this field.
All 53 output fields

denue_id, clee, legal_name, trade_name, is_legal_entity, legal_entity_basis, is_public_sector, scian_code, scian_label_es, scian_label_en, scian_sector, scian_sector_label_en, scian_subsector, scian_subsector_label_en, size_bracket, size_bracket_en, employees_min, employees_max, establishment_type, state, state_iso, state_name, municipality_code, municipality, locality, address, zip, latitude, longitude, phone, email, email_is_role, email_domain, website, website_domain, social_url, website_guess, website_verified_url, website_verified, website_checked_at, registration_date, public_role_emails, public_phones, linkedin_url, instagram_url, facebook_url, has_public_contact, has_public_email_or_phone, contact_source_url, contact_fetched_at, contact_is_shared_domain, data_as_of, source

Actor · latsouth/chile-company-finder

Chile Company Finder: RUT Registry, ISIC, Size, English

Search 3.39M Chilean companies by region, comuna, CIIU/ISIC activity, SII sales size and workers: RUT, legal name and form, address, incorporation date, status. Official RES (CC BY) + SII data in English. Company data only.

What it returns

One row per Chile company matching the filters (unified LatSouth schema, English labels, ISIC Rev.4).

  • companies: Companies (dataset)
  • summary: Run summary (OUTPUT)

40 fields per dataset item. Default memory 512 MB. Actor page on Apify.

Price per event

EventCharged whenPricePer 1,000
company-resultper result rowUS$0.003US$3

Billed by Apify to your account; set a maximum cost per run and the run stops at it. Prices as published in the actor's README in our repository; the Apify Pricing tab is authoritative.

API (curl)

curl -X POST "https://api.apify.com/v2/actors/latsouth~chile-company-finder/run-sync-get-dataset-items?format=json" \
  -H "Authorization: Bearer $APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "regions": [
    "METROPOLITANA_DE_SANTIAGO"
  ],
  "isic_divisions": [
    "62"
  ],
  "max_results": 10
}'

Python

# pip install apify-client
import os
from apify_client import ApifyClient

client = ApifyClient(os.environ["APIFY_TOKEN"])
run_input = {
    "regions": ["METROPOLITANA_DE_SANTIAGO"],
    "isic_divisions": ["62"],
    "max_results": 10,
}
run = client.actor("latsouth/chile-company-finder").call(run_input=run_input)
items = client.dataset(run["defaultDatasetId"]).list_items().items
print(len(items), items[:1])

JavaScript

// npm install apify-client
import { ApifyClient } from 'apify-client';

const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const input = {
  "regions": [
    "METROPOLITANA_DE_SANTIAGO"
  ],
  "isic_divisions": [
    "62"
  ],
  "max_results": 10
};
const { defaultDatasetId } = await client.actor('latsouth/chile-company-finder').call(input);
const { items } = await client.dataset(defaultDatasetId).listItems();
console.log(items.length, items[0]);

MCP (AI agents)

Server URL with only this actor as a tool: https://mcp.apify.com?tools=latsouth/chile-company-finder. Setup per client on AI agents.

{
  "mcpServers": {
    "latsouth": {
      "url": "https://mcp.apify.com?tools=latsouth/chile-company-finder"
    }
  }
}
All 16 input fields
InputTypeDefaultWhat it does
regionsarray—Leave empty for all of Chile. Pick from the list, or type the name (accents optional) or the ISO 3166-2 code (e.g. CL-AN).
citiesarray—Comuna as the registry publishes it, accents optional.
isic_sectionsarray—ISIC Rev.4 sections (the UN industry standard every country's code was mapped to). Combined with divisions using OR. (21 allowed values)
isic_divisionsarray—ISIC Rev.4 divisions, e.g. 62 = computer programming and IT consultancy, 70 = management consultancy, 46 = wholesale trade. (88 allowed values)
activity_codesarray—Native activity code or prefix, e.g. 620100 (6 digits). Combined with the ISIC filters by OR.
keywordstring—Case- and accent-insensitive substring in the English and Spanish activity labels and in the company name (e.g. software, logistica, clinica).
size_classarray—From the SII annual sales band (UF): micro, small, medium, large. Known for about a third of active companies. (5 allowed values)
min_employeesinteger—Keep companies whose workers bracket starts at this number or more (e.g. 50). Companies with no worker count are left out.
registered_afterstring—YYYY-MM-DD, on registration_date (incorporation or first tax registration).
registered_beforestring—YYYY-MM-DD, on registration_date.
only_activebooleantrueKeep companies the registry reports as active.
exclude_public_sectorbooleantrueLeave out government bodies, state-owned companies and international organizations.
exclude_sole_ownerbooleantrueLeave out sole-owner companies (EIRL, unipersonal, EIRELI) and entities whose name is a person's name. Their names are masked (***) anyway.
only_res_registeredbooleanfalseKeep only RUTs present in the Registro de Empresas y Sociedades (CC BY). Rows that come only from the SII nómina (older companies, no declared license) are left out.
sort_bystring"size_desc"Order of results. (4 allowed values)
max_resultsinteger1000You pay per company returned (US$0.003 each: 1,000 companies = US$3). The run also stops at your spending limit. Default 1,000 when called via API without this field.
All 40 output fields

country, tax_id, tax_id_type, tax_id_formatted, legal_name, legal_name_masked, legal_form, legal_form_normalized, is_sole_owner_entity, is_active, status, sector, activity_system, activity_code_local, activity_label_local, activity_label_en, isic_section, isic_section_label_en, isic_division, isic_division_label_en, isic_class, isic_class_label_en, isic_basis, size_bracket, size_class, size_class_basis, employees_bracket, employees_min, employees_max, region, region_name, region_iso, city, address, registration_date, registration_date_basis, registry_basis, data_as_of, source, source_license

Actor · latsouth/colombia-company-finder

Colombia Company Finder: NIT, RUES, Supersociedades, Contacts

Search 1.82M Colombian companies by department, CIIU/ISIC activity and size: NIT with check digit, legal name, form, status, registration date, Supersociedades filer flag and public contacts from company websites. RUES data, CC BY-SA 4.0. Company data only.

What it returns

One row per Colombia company matching the filters (unified LatSouth schema, English labels, ISIC Rev.4).

  • companies: Companies (dataset)
  • summary: Run summary (OUTPUT)

49 fields per dataset item. Default memory 512 MB. Actor page on Apify.

Price per event

EventCharged whenPricePer 1,000
company-resultper result rowUS$0.003US$3

Billed by Apify to your account; set a maximum cost per run and the run stops at it. Prices as published in the actor's README in our repository; the Apify Pricing tab is authoritative.

API (curl)

curl -X POST "https://api.apify.com/v2/actors/latsouth~colombia-company-finder/run-sync-get-dataset-items?format=json" \
  -H "Authorization: Bearer $APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "regions": [
    "BOGOTA_D_C"
  ],
  "isic_divisions": [
    "62"
  ],
  "max_results": 10
}'

Python

# pip install apify-client
import os
from apify_client import ApifyClient

client = ApifyClient(os.environ["APIFY_TOKEN"])
run_input = {
    "regions": ["BOGOTA_D_C"],
    "isic_divisions": ["62"],
    "max_results": 10,
}
run = client.actor("latsouth/colombia-company-finder").call(run_input=run_input)
items = client.dataset(run["defaultDatasetId"]).list_items().items
print(len(items), items[:1])

JavaScript

// npm install apify-client
import { ApifyClient } from 'apify-client';

const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const input = {
  "regions": [
    "BOGOTA_D_C"
  ],
  "isic_divisions": [
    "62"
  ],
  "max_results": 10
};
const { defaultDatasetId } = await client.actor('latsouth/colombia-company-finder').call(input);
const { items } = await client.dataset(defaultDatasetId).listItems();
console.log(items.length, items[0]);

MCP (AI agents)

Server URL with only this actor as a tool: https://mcp.apify.com?tools=latsouth/colombia-company-finder. Setup per client on AI agents.

{
  "mcpServers": {
    "latsouth": {
      "url": "https://mcp.apify.com?tools=latsouth/colombia-company-finder"
    }
  }
}
All 17 input fields
InputTypeDefaultWhat it does
regionsarray—Leave empty for all of Colombia. Pick from the list, or type the name (accents optional) or the ISO 3166-2 code (e.g. CO-AMA).
citiesarray—Municipality as the registry publishes it, accents optional.
isic_sectionsarray—ISIC Rev.4 sections (the UN industry standard every country's code was mapped to). Combined with divisions using OR. (21 allowed values)
isic_divisionsarray—ISIC Rev.4 divisions, e.g. 62 = computer programming and IT consultancy, 70 = management consultancy, 46 = wholesale trade. (88 allowed values)
activity_codesarray—Native activity code or prefix, e.g. 6201 (4 digits). Combined with the ISIC filters by OR.
keywordstring—Case- and accent-insensitive substring in the English and Spanish activity labels and in the company name (e.g. software, logistica, clinica).
size_classarray—Decreto 957/2019 revenue rule on Supersociedades filings; known only for filers (~2%). (5 allowed values)
registered_afterstring—YYYY-MM-DD, on registration_date (commercial registration date).
registered_beforestring—YYYY-MM-DD, on registration_date.
only_activebooleantrueKeep companies the registry reports as active.
exclude_public_sectorbooleantrueLeave out government bodies, state-owned companies and international organizations.
exclude_sole_ownerbooleantrueLeave out sole-owner companies (EIRL, unipersonal, EIRELI) and entities whose name is a person's name. Their names are masked (***) anyway.
only_supersociedadesbooleanfalseKeep only companies that file financial statements with the Superintendencia de Sociedades (~29k, the larger ones): they carry size, address and city.
only_with_corporate_email_domainbooleanfalseKeep companies whose registered e-mail uses their own domain (Supersociedades filers). Only the domain is returned.
only_with_public_contactbooleanfalseKeep companies with a role e-mail (ventas@, info@...), a company phone or a social profile published on their own website.
sort_bystring"size_desc"Order of results. (4 allowed values)
max_resultsinteger1000You pay per company returned (US$0.003 each: 1,000 companies = US$3). The run also stops at your spending limit. Default 1,000 when called via API without this field.
All 49 output fields

country, tax_id, tax_id_type, tax_id_formatted, legal_name, legal_name_masked, trade_name, legal_form, legal_form_normalized, is_sole_owner_entity, is_active, status, sector, activity_system, activity_code_local, activity_label_local, activity_label_en, isic_section, isic_section_label_en, isic_division, isic_division_label_en, isic_class, isic_class_label_en, isic_basis, size_bracket, size_class, size_class_basis, region, region_name, region_iso, city, address, email_domain, has_corporate_email, website_guess, registration_date, registration_date_basis, supersociedades_filer, public_role_emails, public_phones, linkedin_url, instagram_url, facebook_url, has_public_contact, contact_source_url, contact_fetched_at, data_as_of, source, source_license

Actor · latsouth/peru-company-finder

Peru Company Finder: SUNAT RUC 20 Registry, ISIC, Employees

Search 917k Peruvian legal entities (RUC 20) from SUNAT's Padrón RUC by department, province, CIIU/ISIC activity and number of workers: RUC, legal name, form, status, address. ODC-BY data in English. Company data only.

What it returns

One row per Peru company matching the filters (unified LatSouth schema, English labels, ISIC Rev.4).

  • companies: Companies (dataset)
  • summary: Run summary (OUTPUT)

39 fields per dataset item. Default memory 512 MB. Actor page on Apify.

Price per event

EventCharged whenPricePer 1,000
company-resultper result rowUS$0.003US$3

Billed by Apify to your account; set a maximum cost per run and the run stops at it. Prices as published in the actor's README in our repository; the Apify Pricing tab is authoritative.

API (curl)

curl -X POST "https://api.apify.com/v2/actors/latsouth~peru-company-finder/run-sync-get-dataset-items?format=json" \
  -H "Authorization: Bearer $APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "regions": [
    "LIMA"
  ],
  "isic_divisions": [
    "62"
  ],
  "max_results": 10
}'

Python

# pip install apify-client
import os
from apify_client import ApifyClient

client = ApifyClient(os.environ["APIFY_TOKEN"])
run_input = {
    "regions": ["LIMA"],
    "isic_divisions": ["62"],
    "max_results": 10,
}
run = client.actor("latsouth/peru-company-finder").call(run_input=run_input)
items = client.dataset(run["defaultDatasetId"]).list_items().items
print(len(items), items[:1])

JavaScript

// npm install apify-client
import { ApifyClient } from 'apify-client';

const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const input = {
  "regions": [
    "LIMA"
  ],
  "isic_divisions": [
    "62"
  ],
  "max_results": 10
};
const { defaultDatasetId } = await client.actor('latsouth/peru-company-finder').call(input);
const { items } = await client.dataset(defaultDatasetId).listItems();
console.log(items.length, items[0]);

MCP (AI agents)

Server URL with only this actor as a tool: https://mcp.apify.com?tools=latsouth/peru-company-finder. Setup per client on AI agents.

{
  "mcpServers": {
    "latsouth": {
      "url": "https://mcp.apify.com?tools=latsouth/peru-company-finder"
    }
  }
}
All 16 input fields
InputTypeDefaultWhat it does
regionsarray—Leave empty for all of Peru. Pick from the list, or type the name (accents optional) or the ISO 3166-2 code (e.g. PE-AMA).
citiesarray—Province as the registry publishes it, accents optional.
isic_sectionsarray—ISIC Rev.4 sections (the UN industry standard every country's code was mapped to). Combined with divisions using OR. (21 allowed values)
isic_divisionsarray—ISIC Rev.4 divisions, e.g. 62 = computer programming and IT consultancy, 70 = management consultancy, 46 = wholesale trade. (88 allowed values)
activity_codesarray—Native activity code or prefix, e.g. 7220 (4 digits). Combined with the ISIC filters by OR.
keywordstring—Case- and accent-insensitive substring in the English and Spanish activity labels and in the company name (e.g. software, logistica, clinica).
size_classarray—From the number of workers declared to SUNAT (< 10, 10-49, 50-249, 250+). (5 allowed values)
min_employeesinteger—Keep companies whose workers bracket starts at this number or more (e.g. 50). Companies with no worker count are left out.
only_activebooleantrueKeep companies the registry reports as active.
exclude_public_sectorbooleantrueLeave out government bodies, state-owned companies and international organizations.
exclude_sole_ownerbooleantrueLeave out sole-owner companies (EIRL, unipersonal, EIRELI) and entities whose name is a person's name. Their names are masked (***) anyway.
exclude_not_locatedbooleanfalseLeave out active RUCs that SUNAT flags as not located at their tax address (condición NO HABIDO).
only_importersbooleanfalseKeep companies that SUNAT's Padrón RUC flags as importers (foreign-trade activity declared to SUNAT).
only_exportersbooleanfalseKeep companies that SUNAT's Padrón RUC flags as exporters (foreign-trade activity declared to SUNAT).
sort_bystring"size_desc"Order of results. (2 allowed values)
max_resultsinteger1000You pay per company returned (US$0.003 each: 1,000 companies = US$3). The run also stops at your spending limit. Default 1,000 when called via API without this field.
All 39 output fields

country, tax_id, tax_id_type, tax_id_formatted, legal_name, legal_name_masked, legal_form, legal_form_normalized, is_sole_owner_entity, is_active, status, sector, activity_system, activity_code_local, activity_label_local, activity_label_en, isic_section, isic_section_label_en, isic_division, isic_division_label_en, isic_class, isic_class_label_en, isic_basis, size_bracket, size_class, size_class_basis, employees_bracket, employees_min, employees_max, region, region_name, region_iso, city, address, is_importer, is_exporter, data_as_of, source, source_license

Actor · latsouth/argentina-company-finder

Argentina Company Finder: CUIT, Registro Nacional Sociedades

Search 1.27M Argentine companies from the Registro Nacional de Sociedades by province, locality, CLAE/ISIC activity and incorporation date: CUIT, legal name, form, address, zip. CC BY 4.0 data in English. Company data only.

What it returns

One row per Argentina company matching the filters (unified LatSouth schema, English labels, ISIC Rev.4).

  • companies: Companies (dataset)
  • summary: Run summary (OUTPUT)

33 fields per dataset item. Default memory 512 MB. Actor page on Apify.

Price per event

EventCharged whenPricePer 1,000
company-resultper result rowUS$0.003US$3

Billed by Apify to your account; set a maximum cost per run and the run stops at it. Prices as published in the actor's README in our repository; the Apify Pricing tab is authoritative.

API (curl)

curl -X POST "https://api.apify.com/v2/actors/latsouth~argentina-company-finder/run-sync-get-dataset-items?format=json" \
  -H "Authorization: Bearer $APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "regions": [
    "CIUDAD_AUTONOMA_BUENOS_AIRES"
  ],
  "isic_divisions": [
    "62"
  ],
  "max_results": 10
}'

Python

# pip install apify-client
import os
from apify_client import ApifyClient

client = ApifyClient(os.environ["APIFY_TOKEN"])
run_input = {
    "regions": ["CIUDAD_AUTONOMA_BUENOS_AIRES"],
    "isic_divisions": ["62"],
    "max_results": 10,
}
run = client.actor("latsouth/argentina-company-finder").call(run_input=run_input)
items = client.dataset(run["defaultDatasetId"]).list_items().items
print(len(items), items[:1])

JavaScript

// npm install apify-client
import { ApifyClient } from 'apify-client';

const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const input = {
  "regions": [
    "CIUDAD_AUTONOMA_BUENOS_AIRES"
  ],
  "isic_divisions": [
    "62"
  ],
  "max_results": 10
};
const { defaultDatasetId } = await client.actor('latsouth/argentina-company-finder').call(input);
const { items } = await client.dataset(defaultDatasetId).listItems();
console.log(items.length, items[0]);

MCP (AI agents)

Server URL with only this actor as a tool: https://mcp.apify.com?tools=latsouth/argentina-company-finder. Setup per client on AI agents.

{
  "mcpServers": {
    "latsouth": {
      "url": "https://mcp.apify.com?tools=latsouth/argentina-company-finder"
    }
  }
}
All 13 input fields
InputTypeDefaultWhat it does
regionsarray—Leave empty for all of Argentina. Pick from the list, or type the name (accents optional) or the ISO 3166-2 code (e.g. AR-B).
citiesarray—Locality as the registry publishes it, accents optional.
isic_sectionsarray—ISIC Rev.4 sections (the UN industry standard every country's code was mapped to). Combined with divisions using OR. (21 allowed values)
isic_divisionsarray—ISIC Rev.4 divisions, e.g. 62 = computer programming and IT consultancy, 70 = management consultancy, 46 = wholesale trade. (88 allowed values)
activity_codesarray—Native activity code or prefix, e.g. 620100 (6 digits). Combined with the ISIC filters by OR.
keywordstring—Case- and accent-insensitive substring in the English and Spanish activity labels and in the company name (e.g. software, logistica, clinica).
registered_afterstring—YYYY-MM-DD, on registration_date (date of the articles of incorporation).
registered_beforestring—YYYY-MM-DD, on registration_date.
only_activebooleantrueArgentina's registry has no company status: this keeps companies with at least one active tax activity (a weaker signal).
exclude_public_sectorbooleantrueLeave out government bodies, state-owned companies and international organizations.
exclude_sole_ownerbooleantrueLeave out sole-owner companies (EIRL, unipersonal, EIRELI) and entities whose name is a person's name. Their names are masked (***) anyway.
sort_bystring"registration_date_desc"Order of results. (3 allowed values)
max_resultsinteger1000You pay per company returned (US$0.003 each: 1,000 companies = US$3). The run also stops at your spending limit. Default 1,000 when called via API without this field.
All 33 output fields

country, tax_id, tax_id_type, tax_id_formatted, legal_name, legal_name_masked, legal_form, legal_form_normalized, is_sole_owner_entity, status, sector, activity_system, activity_code_local, activity_label_local, activity_label_en, isic_section, isic_section_label_en, isic_division, isic_division_label_en, isic_class, isic_class_label_en, isic_basis, region, region_name, region_iso, city, address, zip, registration_date, registration_date_basis, data_as_of, source, source_license

Actor · latsouth/ecuador-company-finder

Ecuador Company Finder: SRI RUC Registry, ISIC, English

Search 569k Ecuadorian companies (sociedades) from the SRI Catastro RUC by province, canton and CIIU/ISIC activity: RUC, legal and trade name, form, status, start date. CC BY 4.0 data in English. Company data only.

What it returns

One row per Ecuador company matching the filters (unified LatSouth schema, English labels, ISIC Rev.4).

  • companies: Companies (dataset)
  • summary: Run summary (OUTPUT)

34 fields per dataset item. Default memory 512 MB. Actor page on Apify.

Price per event

EventCharged whenPricePer 1,000
company-resultper result rowUS$0.003US$3

Billed by Apify to your account; set a maximum cost per run and the run stops at it. Prices as published in the actor's README in our repository; the Apify Pricing tab is authoritative.

API (curl)

curl -X POST "https://api.apify.com/v2/actors/latsouth~ecuador-company-finder/run-sync-get-dataset-items?format=json" \
  -H "Authorization: Bearer $APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "regions": [
    "PICHINCHA"
  ],
  "isic_divisions": [
    "62"
  ],
  "max_results": 10
}'

Python

# pip install apify-client
import os
from apify_client import ApifyClient

client = ApifyClient(os.environ["APIFY_TOKEN"])
run_input = {
    "regions": ["PICHINCHA"],
    "isic_divisions": ["62"],
    "max_results": 10,
}
run = client.actor("latsouth/ecuador-company-finder").call(run_input=run_input)
items = client.dataset(run["defaultDatasetId"]).list_items().items
print(len(items), items[:1])

JavaScript

// npm install apify-client
import { ApifyClient } from 'apify-client';

const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const input = {
  "regions": [
    "PICHINCHA"
  ],
  "isic_divisions": [
    "62"
  ],
  "max_results": 10
};
const { defaultDatasetId } = await client.actor('latsouth/ecuador-company-finder').call(input);
const { items } = await client.dataset(defaultDatasetId).listItems();
console.log(items.length, items[0]);

MCP (AI agents)

Server URL with only this actor as a tool: https://mcp.apify.com?tools=latsouth/ecuador-company-finder. Setup per client on AI agents.

{
  "mcpServers": {
    "latsouth": {
      "url": "https://mcp.apify.com?tools=latsouth/ecuador-company-finder"
    }
  }
}
All 14 input fields
InputTypeDefaultWhat it does
regionsarray—Leave empty for all of Ecuador. Pick from the list, or type the name (accents optional) or the ISO 3166-2 code (e.g. EC-A).
citiesarray—Canton as the registry publishes it, accents optional.
isic_sectionsarray—ISIC Rev.4 sections (the UN industry standard every country's code was mapped to). Combined with divisions using OR. (21 allowed values)
isic_divisionsarray—ISIC Rev.4 divisions, e.g. 62 = computer programming and IT consultancy, 70 = management consultancy, 46 = wholesale trade. (88 allowed values)
activity_codesarray—Native activity code or prefix, e.g. G4711 or 4711 (letter optional). Combined with the ISIC filters by OR.
keywordstring—Case- and accent-insensitive substring in the English and Spanish activity labels and in the company name (e.g. software, logistica, clinica).
registered_afterstring—YYYY-MM-DD, on registration_date (start of activities).
registered_beforestring—YYYY-MM-DD, on registration_date.
only_activebooleantrueKeep companies the registry reports as active.
exclude_public_sectorbooleantrueLeave out government bodies, state-owned companies and international organizations.
exclude_sole_ownerbooleantrueLeave out sole-owner companies (EIRL, unipersonal, EIRELI) and entities whose name is a person's name. Their names are masked (***) anyway.
parishesarray—Parroquia of the head office as the SRI Catastro RUC publishes it, accents optional (e.g. Iñaquito, Tarqui).
sort_bystring"registration_date_desc"Order of results. (3 allowed values)
max_resultsinteger1000You pay per company returned (US$0.003 each: 1,000 companies = US$3). The run also stops at your spending limit. Default 1,000 when called via API without this field.
All 34 output fields

country, tax_id, tax_id_type, tax_id_formatted, legal_name, legal_name_masked, trade_name, legal_form, legal_form_normalized, is_sole_owner_entity, is_active, status, sector, activity_system, activity_code_local, activity_label_local, activity_label_en, isic_section, isic_section_label_en, isic_division, isic_division_label_en, isic_class, isic_class_label_en, isic_basis, region, region_name, region_iso, city, registration_date, registration_date_basis, parish, data_as_of, source, source_license

Actor · latsouth/paraguay-company-finder

Paraguay Company Finder: RUC Registry (DNIT), Legal Form

Search 174k Paraguayan legal entities (RUC 80) from the DNIT RUC listing by name keyword, legal form and status: RUC with check digit, legal name, legal form (S.A., S.R.L., E.A.S., cooperative, non-profit), status. Open public-information licence (Decreto 4064/2015). Company data only.

What it returns

One row per Paraguay company matching the filters (unified LatSouth schema, English labels, ISIC Rev.4).

  • companies: Companies (dataset)
  • summary: Run summary (OUTPUT)

15 fields per dataset item. Default memory 512 MB. Actor page on Apify.

Price per event

EventCharged whenPricePer 1,000
company-resultper result rowUS$0.003US$3

Billed by Apify to your account; set a maximum cost per run and the run stops at it. Prices as published in the actor's README in our repository; the Apify Pricing tab is authoritative.

API (curl)

curl -X POST "https://api.apify.com/v2/actors/latsouth~paraguay-company-finder/run-sync-get-dataset-items?format=json" \
  -H "Authorization: Bearer $APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "keyword": "agro",
  "legal_forms": [
    "corp_like"
  ],
  "max_results": 10
}'

Python

# pip install apify-client
import os
from apify_client import ApifyClient

client = ApifyClient(os.environ["APIFY_TOKEN"])
run_input = {
    "keyword": "agro",
    "legal_forms": ["corp_like"],
    "max_results": 10,
}
run = client.actor("latsouth/paraguay-company-finder").call(run_input=run_input)
items = client.dataset(run["defaultDatasetId"]).list_items().items
print(len(items), items[:1])

JavaScript

// npm install apify-client
import { ApifyClient } from 'apify-client';

const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const input = {
  "keyword": "agro",
  "legal_forms": [
    "corp_like"
  ],
  "max_results": 10
};
const { defaultDatasetId } = await client.actor('latsouth/paraguay-company-finder').call(input);
const { items } = await client.dataset(defaultDatasetId).listItems();
console.log(items.length, items[0]);

MCP (AI agents)

Server URL with only this actor as a tool: https://mcp.apify.com?tools=latsouth/paraguay-company-finder. Setup per client on AI agents.

{
  "mcpServers": {
    "latsouth": {
      "url": "https://mcp.apify.com?tools=latsouth/paraguay-company-finder"
    }
  }
}
All 7 input fields
InputTypeDefaultWhat it does
keywordstring—Case- and accent-insensitive substring in the company name (e.g. agro, transporte, software).
legal_formsarray—Harmonized legal form (inferred from the registered name). Leave empty for all. (10 allowed values)
only_activebooleantrueKeep RUCs that DNIT lists as ACTIVO (about 57%; the rest are temporarily suspended, cancelled or blocked).
exclude_public_sectorbooleantrueLeave out government bodies, state-owned companies and international organizations.
exclude_sole_ownerbooleantrueLeave out sole-owner companies (EIRL, unipersonal, EIRELI) and entities whose name is a person's name. Their names are masked (***) anyway.
sort_bystring"tax_id"Order of results. (1 allowed values)
max_resultsinteger1000You pay per company returned (US$0.003 each: 1,000 companies = US$3). The run also stops at your spending limit. Default 1,000 when called via API without this field.
All 15 output fields

country, tax_id, tax_id_type, tax_id_formatted, legal_name, legal_name_masked, legal_form, legal_form_normalized, is_sole_owner_entity, is_active, status, sector, data_as_of, source, source_license

Actor · latsouth/dominican-republic-company-finder

Dominican Republic Company Finder: RNC, ISIC, MSME Size

Search 81k Dominican legal entities (RNC) registered as state suppliers (DGCP) or certified MSMEs (MICM) by ISIC activity, size, legal form and incorporation date: RNC, legal name, form, supplier-registry status. ODbL open data in English. Company data only.

What it returns

One row per Dominican Republic company matching the filters (unified LatSouth schema, English labels, ISIC Rev.4).

  • companies: Companies (dataset)
  • summary: Run summary (OUTPUT)

30 fields per dataset item. Default memory 512 MB. Actor page on Apify.

Price per event

EventCharged whenPricePer 1,000
company-resultper result rowUS$0.003US$3

Billed by Apify to your account; set a maximum cost per run and the run stops at it. Prices as published in the actor's README in our repository; the Apify Pricing tab is authoritative.

API (curl)

curl -X POST "https://api.apify.com/v2/actors/latsouth~dominican-republic-company-finder/run-sync-get-dataset-items?format=json" \
  -H "Authorization: Bearer $APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "isic_divisions": [
    "46"
  ],
  "max_results": 10
}'

Python

# pip install apify-client
import os
from apify_client import ApifyClient

client = ApifyClient(os.environ["APIFY_TOKEN"])
run_input = {
    "isic_divisions": ["46"],
    "max_results": 10,
}
run = client.actor("latsouth/dominican-republic-company-finder").call(run_input=run_input)
items = client.dataset(run["defaultDatasetId"]).list_items().items
print(len(items), items[:1])

JavaScript

// npm install apify-client
import { ApifyClient } from 'apify-client';

const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const input = {
  "isic_divisions": [
    "46"
  ],
  "max_results": 10
};
const { defaultDatasetId } = await client.actor('latsouth/dominican-republic-company-finder').call(input);
const { items } = await client.dataset(defaultDatasetId).listItems();
console.log(items.length, items[0]);

MCP (AI agents)

Server URL with only this actor as a tool: https://mcp.apify.com?tools=latsouth/dominican-republic-company-finder. Setup per client on AI agents.

{
  "mcpServers": {
    "latsouth": {
      "url": "https://mcp.apify.com?tools=latsouth/dominican-republic-company-finder"
    }
  }
}
All 13 input fields
InputTypeDefaultWhat it does
isic_sectionsarray—ISIC Rev.4 sections (the UN industry standard every country's code was mapped to). Combined with divisions using OR. (21 allowed values)
isic_divisionsarray—ISIC Rev.4 divisions, e.g. 62 = computer programming and IT consultancy, 70 = management consultancy, 46 = wholesale trade. (88 allowed values)
activity_codesarray—Native activity code or prefix, e.g. 4711 (ISIC class). Combined with the ISIC filters by OR.
keywordstring—Case- and accent-insensitive substring in the English and Spanish activity labels and in the company name (e.g. software, logistica, clinica).
legal_formsarray—Harmonized legal form (inferred from the registered name). Leave empty for all. (10 allowed values)
size_classarray—MSME classification under Ley 187-17 (MICM certificate, else the supplier registry): micro, small, medium, large. Known for about 40%. (5 allowed values)
registered_afterstring—YYYY-MM-DD, on registration_date (incorporation date declared to the state-supplier registry).
registered_beforestring—YYYY-MM-DD, on registration_date.
only_activebooleantrueKeep companies with an active state-supplier registration (RPE) or a valid MSME certificate. Supplier registrations not updated recently have no status and are left out (turn this off to include them).
exclude_public_sectorbooleantrueLeave out government bodies, state-owned companies and international organizations.
exclude_sole_ownerbooleantrueLeave out sole-owner companies (EIRL, unipersonal, EIRELI) and entities whose name is a person's name. Their names are masked (***) anyway.
sort_bystring"size_desc"Order of results. (4 allowed values)
max_resultsinteger1000You pay per company returned (US$0.003 each: 1,000 companies = US$3). The run also stops at your spending limit. Default 1,000 when called via API without this field.
All 30 output fields

country, tax_id, tax_id_type, tax_id_formatted, legal_name, legal_name_masked, legal_form, legal_form_normalized, is_sole_owner_entity, is_active, status, sector, activity_system, activity_code_local, activity_label_en, isic_section, isic_section_label_en, isic_division, isic_division_label_en, isic_class, isic_class_label_en, isic_basis, size_bracket, size_class, size_class_basis, registration_date, registration_date_basis, data_as_of, source, source_license

Need the whole file instead?

Flat-priced CSV + Parquet files of the same data: products and pricing.