Documentação Official

Consulta NIF Angola

API REST para consulta de dados de contribuintes e empresas registadas em Angola, utilizando o número de identificação fiscal (NIF).

REST API JSON Dados Oficiais PHP Lumen
# Base URL
Base URL https://api-agt.angohost.ao

Todos os endpoints são relativos a esta URL base. A API responde exclusivamente em JSON.

# Autenticação
🔑
Bearer Token obrigatório. Todos os endpoints de consulta requerem uma API key. Para obter acesso, contacte-nos — ser-lhe-á atribuída uma chave pessoal e intransmissível.

Inclua a sua API key em cada pedido usando o header Authorization:

Formato
Authorization: Bearer SUA_API_KEY
cURL
curl https://api-agt.angohost.ao/consultar/5400123456 \
  -H "Authorization: Bearer SUA_API_KEY" \
  -H "Accept: application/json"
JavaScript (fetch)
const res = await fetch(
  'https://api-agt.angohost.ao/consultar/5400123456',
  { headers: { 'Authorization': 'Bearer SUA_API_KEY' } }
);
const data = await res.json();
PHP
$ch = curl_init('https://api-agt.angohost.ao/consultar/5400123456');
curl_setopt_array($ch, [
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_HTTPHEADER => [
    'Authorization: Bearer SUA_API_KEY',
    'Accept: application/json',
  ],
]);
$data = json_decode(curl_exec($ch), true);
Python
import requests
r = requests.get(
  'https://api-agt.angohost.ao/consultar/5400123456',
  headers={'Authorization': 'Bearer SUA_API_KEY'}
)
data = r.json()
Erros de Autenticação
Código Significado Solução
401 Token em falta ou inválido Verifique o header Authorization: Bearer ...
403 Token desactivado Contacte o suporte para reactivar o acesso
# Rate Limit
Use com responsabilidade. Esta API funciona como proxy da fonte oficial. Não faça mais de 10 pedidos por minuto para o mesmo NIF. Os resultados são automaticamente cached por 1 hora.
# Endpoints
GET / Estado da API

Retorna informações gerais sobre a API e confirma que está online.

Resposta
JSON
{
  "api_name":    "Consulta NIF API",
  "version":     "1.0.0",
  "description": "API para consulta de dados empresariais por NIF",
  "status":      "online",
  "timestamp":   "2026-03-05 14:00:00",
  "endpoints": {
    "GET /":            "Informações da API",
    "GET /consultar/{nif}": "Consultar empresa por NIF"
  }
}
GET /consultar/{nif} Consultar por NIF

Retorna os dados completos do contribuinte ou empresa registada com o NIF indicado.

Parâmetros
Nome Tipo Obrigatório Descrição
nif string obrigatório Número de Identificação Fiscal (NIF) angolano. Ex: 5400123456
Exemplos de Pedido
cURL
curl -X GET \
  https://api-agt.angohost.ao/consultar/5400123456 \
  -H "Accept: application/json"
JavaScript (fetch)
const res = await fetch(
  'https://api-agt.angohost.ao/consultar/5400123456'
);
const data = await res.json();
console.log(data);
PHP
$response = file_get_contents(
  'https://api-agt.angohost.ao/consultar/5400123456'
);
$data = json_decode($response, true);
Python
import requests
r = requests.get(
  'https://api-agt.angohost.ao/consultar/5400123456'
)
data = r.json()
Respostas
200 OK 404 Not Found 500 Error
200 — Sucesso
{
  "data": {
    "success":          true,
    "nif":              "5400123456",
    "nome":             "ANGOHOST - PRESTAÇÃO DE SERVIÇOS, LDA",
    "numero_contacto":  "923592652",
    "endereco":         "CACUACO, CENTRALIDADE DO SEQUELE, RUA 2...",
    "municipio":        "CACUACO",
    "provincia":        "LA",
    "estado":           "Activo",
    "tipo":             "COLLECTIVE",
    "data_constituicao": "2020-11-17",
    "original":         { /* objecto completo de dados do contribuinte */ }
  }
}
404 — NIF não encontrado
{
  "error":   "NIF não encontrado",
  "message": "Não foi possível encontrar dados para o NIF informado"
}
# Campos da Resposta
Campo Tipo Descrição
success boolean Indica se a consulta foi bem sucedida
nif string Número de Identificação Fiscal
nome string Nome completo ou denominação social
numero_contacto string Número de contacto principal
endereco string Endereço completo formatado
municipio string Município onde está registado
provincia string Código da província (ex: LA = Luanda)
estado string Activo ou código de estado
tipo string COLLECTIVE (empresa) ou SINGULAR (pessoa)
data_constituicao string Data de constituição (formato YYYY-MM-DD)
original object Objecto completo com todos os dados do contribuinte
# Erros
HTTP Código Descrição
200 Sucesso
404 NIF não encontrado O NIF não existe ou não foi encontrado
500 Erro na consulta Falha de rede ou serviço temporariamente indisponível
# Exemplos Completos

▸ Axios (Node.js / React / Vue)

JavaScript — Axios
import axios from 'axios';

async function consultarNIF(nif) {
  try {
    const { data } = await axios.get(
      `https://api-agt.angohost.ao/consultar/${nif}`
    );
    return data.data; // objecto com nome, endereço, etc.
  } catch (e) {
    if (e.response?.status === 404) {
      throw new Error('NIF não encontrado');
    }
    throw e;
  }
}

// Uso:
const empresa = await consultarNIF('5400123456');
console.log(empresa.nome); // "ANGOHOST - PRESTAÇÃO DE SERVIÇOS, LDA"

▸ Python — requests

Python
import requests

def consultar_nif(nif: str) -> dict:
    r = requests.get(f"https://api-agt.angohost.ao/consultar/{nif}")
    r.raise_for_status()
    return r.json()["data"]

empresa = consultar_nif("5400123456")
print(empresa["nome"])       # ANGOHOST - PRESTAÇÃO DE SERVIÇOS, LDA
print(empresa["municipio"])  # CACUACO

▸ PHP — cURL

PHP
function consultarNIF(string $nif): array {
    $ch = curl_init();
    curl_setopt_array($ch, [
        CURLOPT_URL            => "https://api-agt.angohost.ao/consultar/$nif",
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_HTTPHEADER     => ['Accept: application/json'],
    ]);
    $json = curl_exec($ch);
    curl_close($ch);
    return json_decode($json, true)['data'];
}

$empresa = consultarNIF('5400123456');
echo $empresa['nome']; // ANGOHOST - PRESTAÇÃO DE SERVIÇOS, LDA