Skip to main content

Cliente oficial de la API de LicitaPilot: licitaciones públicas de España (PLACSP y autonómicas), baja temeraria, radar de vencimientos y rankings de adjudicatarios.

Project description

licitapilot-python

Cliente oficial de Python para la API de LicitaPilot — licitaciones públicas de España (PLACSP y boletines autonómicos), estadísticas de baja temeraria, radar de vencimientos y rankings de adjudicatarios.

PyPI Python CI License: MIT

Datos de contratación pública española, listos para tu código en 10 segundos. La capa pública no necesita registro ni clave.

from licitapilot import LicitaPilot

lp = LicitaPilot()                       # sin clave
radar = lp.vencimientos(sector="45")     # contratos de construcción que van a re-licitarse
print(radar["total"], "vencimientos próximos")
for v in radar["items"][:5]:
    print(v["title"], "→ vence", v.get("contract_end_date"))

Instalación

pip install licitapilot

Dos capas

Capa Necesita clave Qué te da
Pública Radar de vencimientos, baja temeraria, rankings de adjudicatarios, ficha de empresa y de licitación por id — los mismos datos abiertos que ya publica la web
Empresa lp_live_… /v1: listado masivo de licitaciones (histórico + filtros) y tus matches personalizados por perfil

Consigue tu clave en licitapilot.com (plan Empresa).

Uso

"El foso": vencimientos, baja temeraria y rankings (público, sin clave)

lp = LicitaPilot()

lp.vencimientos()                  # hub global de contratos que caducan y volverán a salir
lp.vencimientos(sector="45")       # detalle de un sector (división CPV)
lp.baja_temeraria("45")            # cuánto se baja de media en construcción
lp.ranking_adjudicatarios("obras") # quién gana más en un sector
lp.empresa("acme-construcciones")  # ficha pública de una adjudicataria
lp.tender(123)                     # ficha pública de una licitación por id

Licitaciones y matches (plan Empresa, con clave)

El listado masivo y tus coincidencias personalizadas viven en /v1 y requieren clave:

lp = LicitaPilot(api_key="lp_live_…")   # o export LICITAPILOT_API_KEY=…

# Listado con filtros e histórico
page = lp.tenders(cpv="72", province="Madrid", state="open", limit=50)
for t in lp.iter_tenders(cpv="45", state="all", max_items=1000):
    print(t.id, t.title, t.url)

# Tus matches por perfil (scoring de relevancia + IA)
for m in lp.matches(limit=50):
    print(m.relevance_score, m.tender.title, m.status)

Sin clave, tenders() y matches() lanzan AuthRequiredError a propósito: son la parte de pago y la capa gratis no compite con ellas.

CLI

Instalar el paquete te da el comando licitapilot:

licitapilot tenders --cpv 45 --province Madrid
licitapilot vencimientos --sector 45
licitapilot baja --cpv 45
licitapilot ranking obras
licitapilot matches            # usa LICITAPILOT_API_KEY

licitapilot tenders --cpv 72 --json   # salida JSON para pipes

Ejemplos

Recetas listas para copiar en examples/:

Manejo de errores

from licitapilot import LicitaPilot, APIError, AuthRequiredError

try:
    LicitaPilot().matches()          # sin clave
except AuthRequiredError:
    ...                              # esta operación es de plan Empresa
except APIError as e:
    print(e.status_code, e.payload)  # la API devolvió 4xx/5xx

Desarrollo

pip install -e ".[dev]"
ruff check src tests
pytest -q            # tests con HTTP simulado, sin red

Sobre LicitaPilot

LicitaPilot es el copiloto de licitaciones públicas para empresas y autónomos en España: alertas por perfil, análisis con IA, radar de vencimientos, grafo de competidores y escritos jurídicos asistidos. Este SDK expone parte de esos datos de forma programática.

Licencia

MIT © LicitaPilot

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

licitapilot-0.1.0.tar.gz (10.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

licitapilot-0.1.0-py3-none-any.whl (10.8 kB view details)

Uploaded Python 3

File details

Details for the file licitapilot-0.1.0.tar.gz.

File metadata

  • Download URL: licitapilot-0.1.0.tar.gz
  • Upload date:
  • Size: 10.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for licitapilot-0.1.0.tar.gz
Algorithm Hash digest
SHA256 5f779e64429047637ef8305631e3af36bdb897b24618a8d4676c94e655d26e93
MD5 ea03dbf28e20a96a6c0b2bbc0456290c
BLAKE2b-256 81071ff7f46032e7070a4f523e722069638f3d35a53bf9cc55166fca62efc249

See more details on using hashes here.

Provenance

The following attestation bundles were made for licitapilot-0.1.0.tar.gz:

Publisher: publish.yml on jmcodero/licitapilot-python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file licitapilot-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: licitapilot-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 10.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for licitapilot-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ac9a6914a78f92d586d80154e69597c677e08bd89774d75ca97aefb50a43d3e4
MD5 423fcd33d3251fc063f8c5f2c891de0d
BLAKE2b-256 a081d1d0bb063f7925eed9f256577fb8cd8f78232d01437ca42b82fa6ad23779

See more details on using hashes here.

Provenance

The following attestation bundles were made for licitapilot-0.1.0-py3-none-any.whl:

Publisher: publish.yml on jmcodero/licitapilot-python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page