Dart / Flutter
Integre a API de consulta de CPF usando o SDK oficial do CPFHub.io para Dart e Flutter.
Instalação
bash
dart pub add cpfhubOu adicione ao pubspec.yaml:
yaml
dependencies:
cpfhub: ^1.0.0bash
dart pub getConfiguração
⚠
Nunca inclua a API Key no app Flutter
Chamadas à API devem ser feitas pelo backend. Inclua a API Key apenas em código server-side (Dart server, Cloud Functions, etc.) - nunca no app móvel.
Primeira consulta (Dart server)
Dart
import 'package:cpfhub/cpfhub.dart';
void main() async {
final client = CPFHubClient(
apiKey: Platform.environment['CPFHUB_API_KEY']!,
);
final result = await client.lookup('12345678909');
print(result.data.name); // "Fulano de Tal"
print(result.data.gender); // "M"
print(result.data.birthDate); // "15/06/1990"
}Tratamento de erros
Dart
import 'package:cpfhub/cpfhub.dart';
final client = CPFHubClient(apiKey: Platform.environment['CPFHUB_API_KEY']!);
try {
final result = await client.lookup('12345678909');
print(result.data.name);
} on CPFNotFoundException {
print('CPF não encontrado na base de dados');
} on InvalidCPFException {
print('CPF com dígitos verificadores inválidos');
} on RateLimitException {
await Future.delayed(const Duration(seconds: 1));
// retry
} on CPFHubException catch (e) {
print('Erro: ${e.code} - ${e.message}');
rethrow;
}Uso com Shelf (backend Dart)
Dart
import 'dart:io';
import 'package:shelf/shelf.dart';
import 'package:shelf/shelf_io.dart';
import 'package:cpfhub/cpfhub.dart';
final client = CPFHubClient(apiKey: Platform.environment['CPFHUB_API_KEY']!);
Future<Response> handler(Request request) async {
final cpf = request.url.pathSegments.last;
try {
final result = await client.lookup(cpf);
return Response.ok(
jsonEncode({'ok': true, 'data': result.data.toJson()}),
headers: {'content-type': 'application/json'},
);
} on CPFNotFoundException {
return Response.notFound(
jsonEncode({'ok': false, 'error': 'CPF não encontrado'}),
headers: {'content-type': 'application/json'},
);
}
}
void main() async {
final server = await serve(handler, 'localhost', 8080);
print('Servidor rodando em http://${server.address.host}:${server.port}');
}Links
Atualizado em 12 de maio de 2026