docs

API — Export date

Export bulk al licitațiilor scorificate în format CSV sau JSON prin API-ul public SCOPO Intelligence v1.

API — Export date

Disponibil: plan Consultant · Autentificare: API Key

Exportul bulk îți permite să extragi date brute ale licitațiilor scorificate pentru analize BI, dashboarduri Excel sau pipeline-uri proprii de date.

Cost credite: 1 credit × număr de rânduri exportate


GET /api/v1/export/tenders

Request:

GET /api/v1/export/tenders?companyId={uuid}&from=2026-05-01&to=2026-06-18&format=json&limit=100
Authorization: Bearer scopo_<cheie>

Parametri de interogare:

ParametruTipObligatoriuDescriere
companyIdstringUUID — compania pentru care se exportă
fromstringData de start YYYY-MM-DD
tostringData de sfârșit YYYY-MM-DD
formatstringjson (default) sau csv
limitintegerRânduri per cerere (1–1000); default: 100
cursorstringCursor opac din meta.next_cursor (paginare)

Restricții:

  • Interval maxim: 90 de zile (to - from ≤ 90) — 400 DATE_RANGE_EXCEEDED altfel
  • Limită maximă: 1.000 rânduri per cerere — 400 LIMIT_EXCEEDED altfel

Răspuns JSON

{
  "data": [
    {
      "tender_id": "uuid",
      "title": "Servicii de mentenanță software pentru...",
      "cpv_codes": ["72212000-4"],
      "cpv_description": "Servicii de dezvoltare software pentru achiziții",
      "contracting_authority": "Primăria Municipiului Focșani",
      "authority_county": "Vrancea",
      "deadline": "2026-08-15T23:59:59Z",
      "estimated_value_ron": 450000,
      "estimated_value_eur": 90400,
      "publish_date": "2026-06-18T09:00:00Z",
      "overall_score": 87,
      "verdict": "GO",
      "score_cpv": 85,
      "score_semantic": 92,
      "score_keyword": 78,
      "score_value_fit": 80,
      "score_historical": 65,
      "price_benchmark_signal": "in_range",
      "price_benchmark_median_eur": 128000,
      "source_url": "https://sicap-prod.e-licitatie.ro/..."
    }
  ],
  "meta": {
    "count": 100,
    "next_cursor": "eyJsYXN0UHVibGlzaERhdGUiOiIyMDI2LTA2LTE4IiwibGFzdElkIjoidXVpZCJ9",
    "has_more": true,
    "exported_at": "2026-06-18T10:30:00Z",
    "credits": {
      "cost": 100,
      "remaining": 1380,
      "period_ends_at": "2026-07-01T00:00:00+03:00"
    }
  }
}

Câmpuri:

CâmpTipDescriere
price_benchmark_signalstring?below_market / in_range / above_market / null (Faza 1 Beta: mereu null)
price_benchmark_median_eurnumber?Prețul median de referință EUR (null dacă indisponibil sau Faza 1 Beta)
cpv_descriptionstring?Descrierea CPV în română (null în Faza 1 Beta)
verdictstringGO / RESEARCH / SKIP

Răspuns CSV

GET /api/v1/export/tenders?...&format=csv
HTTP/1.1 200 OK
Content-Type: text/csv; charset=utf-8
Content-Disposition: attachment; filename="scopo-export-2026-06-18.csv"

Fișierul CSV respectă:

  • Encoding UTF-8 cu BOM () — compatibil Excel cu diacritice românești
  • Separator: , (virgulă)
  • Prima linie: header row cu toate câmpurile

Paginare cursor

# Primul export (100 rânduri)
curl "https://api.scopo.ro/api/v1/export/tenders?companyId=uuid&from=2026-05-01&to=2026-06-18&limit=100" \
  -H "Authorization: Bearer scopo_..."

# Pagina următoare — folosește next_cursor
curl "https://api.scopo.ro/api/v1/export/tenders?companyId=uuid&from=2026-05-01&to=2026-06-18&limit=100&cursor=eyJsYXN..." \
  -H "Authorization: Bearer scopo_..."

Cursorul este stabil față de licitații noi apărute în timp ce paginezi.


Export complet — exemplu Python

import requests
import csv
import io

API_KEY = "scopo_..."
BASE_URL = "https://api.scopo.ro/api/v1/export/tenders"
COMPANY_ID = "uuid-companie"

params = {
    "companyId": COMPANY_ID,
    "from": "2026-05-01",
    "to": "2026-06-18",
    "format": "json",
    "limit": 1000,
}

all_rows = []
while True:
    resp = requests.get(
        BASE_URL,
        headers={"Authorization": f"Bearer {API_KEY}"},
        params=params
    )
    resp.raise_for_status()
    data = resp.json()

    all_rows.extend(data["data"])

    if not data["meta"]["has_more"]:
        break
    params["cursor"] = data["meta"]["next_cursor"]

print(f"Total licitații exportate: {len(all_rows)}")

Rate limiting

LimităValoare
Export20 / oră

Erori frecvente

CodEroareCauză
400DATE_RANGE_EXCEEDEDIntervalul to - from depășește 90 de zile
400LIMIT_EXCEEDEDlimit > 1000
401API_KEY_INVALIDCheie lipsă sau invalidă
403COMPANY_ACCESS_DENIEDcompanyId nu aparține tenant-ului
403PLAN_UPGRADE_REQUIREDPlan < Consultant
429RATE_LIMIT_EXCEEDEDDepășit 20 req export/oră
402API_CREDITS_EXHAUSTEDCredite insuficiente

Vezi și

On this page