# documentação
https://pncp.gov.br/api/pncp/swagger-ui/index.html

# geral
https://pncp.gov.br/api/pncp/v1/orgaos/63025530000104/pca/2026/csv

# pega o sequencial da unidade
https://pncp.gov.br/api/pncp/v1/orgaos/63025530000104/pca/{uasg}/2026/sequenciaisplano

# pegar os itens da sua unidade
https://pncp.gov.br/api/pncp/v1/orgaos/63025530000104/pca/2026/{sequencial}/itens

gerador de “etiqueta” para TR

from datetime import datetime
import json
import requests
import sys
 
pca_id = 63025530000104
ano = 2026
uasg = 102136
numero = int(sys.argv[1]) if len(sys.argv) > 1 else 1
 
geral = "https://pncp.gov.br/api/pncp/v1/orgaos/{pca_id}/pca/{uasg}/{ano}/sequenciaisplano".format(pca_id=pca_id, uasg=uasg, ano=ano)
 
r = requests.get(geral)
tmp = json.loads(r.text)
sequencial = tmp['sequencialPlano']
 
itens = "https://pncp.gov.br/api/pncp/v1/orgaos/{pca_id}/pca/{ano}/{sequencial}/itens".format(pca_id=pca_id, ano=ano, sequencial=sequencial)
 
r = requests.get(itens)
pca = json.loads(r.text)
 
dfd = [d for d in pca if d['numeroItem'] == numero].pop()
data = datetime.strptime(dfd['dataPublicacaoPncp'], "%Y-%m-%dT%H:%M:%S")
print("ID PCA no PNCP: {pca_id}-0-{sequencial}/{ano};".format(pca_id=pca_id, sequencial=f"{sequencial:06d}", ano=ano))
print("Data de publicação no PNCP: {data};".format(data=data.strftime("%d/%m/%Y")))
print("Id do item no PCA: {uasg}-{sequencial}/{ano}-{numero};".format(uasg=uasg, sequencial=sequencial, ano=ano, numero=numero))
print("Classe/Grupo: {classe_codigo} - {classe_nome};".format(classe_codigo=dfd['classificacaoSuperiorCodigo'], classe_nome=dfd['classificacaoSuperiorNome']))
print("Identificador da Futura Contratação: {futura_id}.".format(futura_id=dfd['grupoContratacaoCodigo']))