7 MIN LEITURA · Pedro Thomaz

O radar que encontrou zero concursos no primeiro dia

210 concursos recolhidos, nenhum para nós. Em vez de mexer nos filtros, perguntámos porquê — e encontrámos um PDF encriptado, alertas a 677 € por ano e uma API pública que ninguém documenta.

O radar que encontrou zero concursos no primeiro dia

Construímos um radar de concursos públicos. Ao fim do primeiro dia tinha recolhido 210 procedimentos e não havia um único que servisse. Zero.

A tentação, nesse momento, é mexer nos filtros até o ecrã dar sinal. Não mexemos. Um sistema que encontra sempre alguma coisa não é um radar — é um espelho. O que fizemos foi perguntar porque é que estava vazio, e a resposta ensinou-nos mais sobre contratação pública em Portugal do que qualquer manual.

O TED é o mercado errado

Começámos pelo TED, o Diário Oficial da União Europeia. API pública, sem chave, documentação decente. Duas semanas de anúncios portugueses deram 250 registos, dos quais dois tinham pontuação acima de zero.

O TED só publica acima dos limiares europeus. O concurso de 48 mil euros de uma câmara municipal para uma exposição não aparece lá — e é exatamente esse o tamanho do trabalho que fazemos. A fonte mais limpa era a menos útil.

O DRE publica tudo, e esconde o essencial num PDF encriptado

A seguir, o Diário da República série II. Num único dia: 238 itens, 35 anúncios de procedimento — mais concursos municipais do que o TED traz num mês.

Só que o RSS dá o número do anúncio, a entidade, o objeto e um link. Não dá prazo, não dá preço base, não dá CPV. Isso está no PDF. E o INCM publica esses PDF encriptados — handler de segurança normalizado, AES-128, sem password de utilizador.

Decifrar é possível em PHP puro, com a chave derivada pelo algoritmo do próprio formato. Fizemo-lo. Mas vale a pena dizer em voz alta o que isto significa: informação que a lei obriga a publicar chega ao cidadão dentro de um ficheiro cifrado.

As plataformas vendem aquilo que já é público

Em Portugal há quatro plataformas eletrónicas licenciadas pelo IMPIC. Todas oferecem alertas por área de negócio. Fomos ver os preços, que estão publicados por elas próprias:

O registo base é gratuito, como a lei obriga. O aviso de que existe um concurso na tua área é serviço pago. (Preços publicados em setembro de 2026; o preçário da ComprasPT tem data de 11 de fevereiro de 2025.)

E depois encontrámos a API que ninguém documenta

O Portal BASE, do IMPIC, é o repositório oficial da contratação pública portuguesa. O site é uma aplicação em JavaScript que fala com o próprio servidor. Fomos ver o que ela pergunta.

POST https://www.base.gov.pt/Base4/pt/resultados/
type=search_anuncios&version=109.0&query=…&page=0&size=25

Devolve JSON. Entidade, designação, tipo de procedimento, preço base, data de publicação, prazo de propostas — já em campos separados. 251.784 anúncios. Sem chave, sem registo, sem conta.

A mesma coisa na VORTAL: a pesquisa pública de consultas ativas é um POST que devolve 605 concursos portugueses em curso, e a página de detalhe dá o CPV, o NIF da entidade e as peças do procedimento. Também sem conta.

Não há nada de clandestino nisto. São anúncios de concurso — publicidade legal obrigatória, que tem de estar acessível a qualquer pessoa. A diferença é que a forma legível por máquina não está documentada em lado nenhum, e há quem cobre 180 € por ano para ta enviar por email.

O que o radar faz com isto

Cada concurso é pontuado por regras explicáveis: termos no objeto, CPV na lista-alvo, preço base dentro da faixa de trabalho, prazo suficiente para preparar proposta. O ecrã mostra o score e, ao abrir, a conta linha a linha — «CPV 72413000 na lista alvo, +30».

Isso importa porque a decisão não é do algoritmo. É de quem vai gastar duas semanas a escrever uma proposta.

O que ainda está por resolver, e fica dito

A parte que não se vê nos dashboards

O ecrã bonito com seis concursos pontuados é fácil de fabricar. O que interessa é o primeiro dia com zero, e resistir a mexer nos números até parecerem melhores.

Um radar honesto tem de poder dizer «não há nada para ti hoje». Se não puder dizer isso, também não vale nada quando disser o contrário.