OCDS Analytics API query examples

Please read the full documentation here

Example 1: Top 5 contracts

Query example:

{
  Contracts(
    page: { limit: 5 }
    filters: [
      { eq: { field: "status", value: "active" } }
      { gte: { field: "value.amount", value: "0" } }
    ]
    order: { field: "value.amount", direction: "DESC" }
  ) {
    values {
      title
      status
      value {
        amount
      }
    }
  }
}

Result:

{
  "data": {
    "Contracts": {
      "values": [
        {
          "title": "Contract 060",
          "status": "active",
          "value": {
            "amount": 1633149952
          }
        },
        {
          "title": "Contract 140",
          "status": "active",
          "value": {
            "amount": 151917936
          }
        },
        {
          "title": "Contract 39",
          "status": "active",
          "value": {
            "amount": 99448408
          }
        },
        {
          "title": "Contract 0300/30/089",
          "status": "active",
          "value": {
            "amount": 64790000
          }
        },
        {
          "title": "Contract 2",
          "status": "active",
          "value": {
            "amount": 61977776
          }
        }
      ]
    }
  }
}
Try it

Example 2: Top 5 suppliers

Query example:

{
  Organizations(
    page: { limit: 5 }
    order: {
      aggregation: { sum: { contractsAsSupplier: { field: "value.amount" } } }
      direction: "DESC"
    }
    filters: {
      eq: {
        relatedField: { contractsAsSupplier: { field: "status" } }
        value: "active"
      }
    }
  ) {
    values {
      id
      name
      contracts {
        aggregation {
          sum(params: { field: "value.amount" })
          count
        }
      }
    }
  }
}

Result:

{
  "data": {
    "Organizations": {
      "values": [
        {
          "id": "CN-SAIC-650200060000050",
          "name": "Xinjiang Beiken Energy Engineering Co., Ltd",
          "contracts": {
            "aggregation": {
              "sum": 6098719549,
              "count": 14
            }
          }
        },
        {
          "id": "TR-MERSIS-83588",
          "name": "ONUR TAAHHUT TASIMACILIK İNSAAT TİCARET VE SANAYİ ANONİM SİRKETİ(ОНУР ТААХХУТ ТАШИМАДЖИЛИК ІНШААТ ТІДЖАРЕТ ВЕ САНАЇ АНОНІМ ШИРКЕТІ)",
          "contracts": {
            "aggregation": {
              "sum": 4618252412,
              "count": 16
            }
          }
        },
        {
          "id": "GE-NAPR-01027012312",
          "name": "რაჟდენ ნადირაშვილი",
          "contracts": {
            "aggregation": {
              "sum": 1633149952,
              "count": 1
            }
          }
        },
        {
          "id": "BY-UNP-100067972",
          "name": "Открытое акционерное общество \"Строительно-монтажный трест № 8\"",
          "contracts": {
            "aggregation": {
              "sum": 1306001024,
              "count": 7
            }
          }
        },
        {
          "id": "CN-SAIC-913100007514799050",
          "name": "Zhongman Petroleum and Natural Gas Group Corp., Ltd",
          "contracts": {
            "aggregation": {
              "sum": 1129044444,
              "count": 3
            }
          }
        }
      ]
    }
  }
}
Try it

Example 3: Top 5 procuring entities

Query example:

{
  Organizations(
    page: { limit: 5 }
    order: {
      aggregation: {
        sum: { contractsAsProcuringEntity: { field: "value.amount" } }
      }
      direction: "DESC"
    }
    filters: {
      eq: {
        relatedField: { contractsAsProcuringEntity: { field: "status" } }
        value: "active"
      }
    }
  ) {
    values {
      id
      name
      contracts {
        aggregation {
          sum(params: { field: "value.amount" })
          count
        }
      }
    }
  }
}

Result:

{
  "data": {
    "Organizations": {
      "values": [
        {
          "id": "GE-NAPR-211343982",
          "name": "საქართველოს რეგიონული განვითარებისა და ინფრასტრუქტურის სამინისტროს საქართველოს საავტომობილო გზების დეპარტამენტი",
          "contracts": {
            "aggregation": {
              "sum": 2337090458,
              "count": 1576
            }
          }
        },
        {
          "id": "GE-NAPR-204521954",
          "name": "ქ.თბილისის დიდგორის რაიონის გამგეობა",
          "contracts": {
            "aggregation": {
              "sum": 1690386337,
              "count": 527
            }
          }
        },
        {
          "id": "GE-NAPR-204521794",
          "name": "ქ. თბილისის მერია",
          "contracts": {
            "aggregation": {
              "sum": 1168951545,
              "count": 3733
            }
          }
        },
        {
          "id": "GE-NAPR-206074193",
          "name": "საქართველოს მუნიციპალური განვითარების ფონდი",
          "contracts": {
            "aggregation": {
              "sum": 543313518,
              "count": 514
            }
          }
        },
        {
          "id": "GE-NAPR-204383176",
          "name": "საქართველოს შინაგან საქმეთა სამინისტრო",
          "contracts": {
            "aggregation": {
              "sum": 537453395,
              "count": 2966
            }
          }
        }
      ]
    }
  }
}
Try it

Example 4: A list of procurements initiated by the procuring entity

Query example:

{
  Tenders(
    page: { limit: 1 }
    filters: [
      {
        eq: {
          relatedField: { procuringEntityIdentifier: { field: "id" } }
          value: "211343982"
        }
      }
      { eq: { field: "status", value: "complete" } }
    ]
  ) {
    values {
      title
      status
      value {
        amount
      }
      suppliers {
        values {
          name
          identifier {
            id
            legalName
          }
        }
      }
    }
  }
}

Result:

{
  "data": {
    "Tenders": {
      "values": [
        {
          "title": "საწვავი",
          "status": "complete",
          "value": {
            "amount": 180500
          },
          "suppliers": {
            "values": [
              {
                "name": "ვისოლ პეტროლიუმ ჯორჯია",
                "identifier": {
                  "id": "202161098",
                  "legalName": null
                }
              }
            ]
          }
        }
      ]
    }
  }
}
Try it

Example 5: A list of procurements the tenderer participated in

Query example:

{
  Tenders(
    page: { limit: 3 }
    filters: [
      {
        eq: {
          relatedField: { tenderersIdentifiers: { field: "id" } }
          value: "202161098"
        }
      }
      { eq: { field: "status", value: "complete" } }
    ]
  ) {
    values {
      procuringEntity {
        id
        name
      }
      title
      items {
        description
      }
      status
      value {
        amount
      }
    }
  }
}

Result:

{
  "data": {
    "Tenders": {
      "values": [
        {
          "procuringEntity": {
            "id": "GE-NAPR-202307404",
            "name": "სახელმწიფო სერვისების განვითარების სააგენტო"
          },
          "title": "სატრანსპორტო საშუალებებისა და მათთან დაკავშირებული მოწყობილობების შეკეთება, ტექნიკური მომსახურება და მასთან დაკავშირებული მომსახურებები",
          "items": [
            {
              "description": "See tender documentation."
            }
          ],
          "status": "complete",
          "value": {
            "amount": 8000
          }
        },
        {
          "procuringEntity": {
            "id": "GE-NAPR-249251287",
            "name": "აფხაზეთის მთავრობის საქვეუწყებო დაწესებულება - ადმინისტრაციულ-სამეურნეო სამმართველო"
          },
          "title": "სატრანსპორტო საშუალებებისა და მათთან დაკავშირებული მოწყობილობების შეკეთება, ტექნიკური მომსახურება და მასთან დაკავშირებული მომსახურებები",
          "items": [
            {
              "description": "See tender documentation."
            }
          ],
          "status": "complete",
          "value": {
            "amount": 7970
          }
        },
        {
          "procuringEntity": {
            "id": "GE-NAPR-202374251",
            "name": "მასწავლებელთა პროფესიული განვითარების ეროვნული ცენტრი"
          },
          "title": "სატრანსპორტო საშუალებებისა და მათთან დაკავშირებული მოწყობილობების შეკეთება, ტექნიკური მომსახურება და მასთან დაკავშირებული მომსახურებები",
          "items": [
            {
              "description": "See tender documentation."
            }
          ],
          "status": "complete",
          "value": {
            "amount": 15360
          }
        }
      ]
    }
  }
}
Try it

Example 6: A list of participants that took part in tenders announced by a specific procuring entity

Query example:

{
  Tenders(
    filters: [
      {
        eq: {
          relatedField: { procuringEntity: { field: "id" } }
          value: "GE-NAPR-211343982"
        }
      }
    ]
  ) {
    values {
      tenderers {
        values {
          id
          name
        }
      }
    }
    total_tenders: aggregation {
      count
    }
  }
}
Try it

Example 7: Number of participations of a specific organization in tenders announced by a specific procuring entity

Query example:

{
  Tenders(
    filters: [
      {
        eq: {
          relatedField: { procuringEntity: { field: "id" } }
          value: "GE-NAPR-211343982"
        }
      }
      {
        eq: {
          relatedField: { tenderers: { field: "id" } }
          value: "GE-NAPR-202161098"
        }
      }
    ]
  ) {
    total_tenders: aggregation {
      count
    }
  }
}

Result:

{
  "data": {
    "Tenders": {
      "total_tenders": {
        "count": 5
      }
    }
  }
}
Try it

Example 8: Number of wins of a specific organization in tenders announced by a specific procuring entity

= Number of contracts between a specific organization and a specific procuring entity

Query example:

{
  Contracts(
    filters: [
      { eq: { field: "status", value: "active" } }
      {
        eq: {
          relatedField: { procuringEntity: { field: "id" } }
          value: "GE-NAPR-211343982"
        }
      }
      {
        eq: {
          relatedField: { suppliers: { field: "id" } }
          value: "GE-NAPR-202161098"
        }
      }
    ]
  ) {
    values {
      id
      status
    }
    aggregation {
      count
    }
  }
}

Result:

{
  "data": {
    "Contracts": {
      "values": [
        {
          "id": "SPA110001960-contract",
          "status": "active"
        },
        {
          "id": "SPA110012313-contract",
          "status": "active"
        },
        {
          "id": "SPA110018280-contract",
          "status": "active"
        },
        {
          "id": "SPA110027240-contract",
          "status": "active"
        },
        {
          "id": "NAT160004197-contract",
          "status": "active"
        }
      ],
      "aggregation": {
        "count": 5
      }
    }
  }
}
Try it

Example 9: Sum of contracts between a specific procuring entity and a specific suppliers

Query example:

{
  Contracts(
    filters: [
      { eq: { field: "status", value: "active" } }
      {
        eq: {
          relatedField: { procuringEntity: { field: "id" } }
          value: "GE-NAPR-211343982"
        }
      }
      {
        eq: {
          relatedField: { suppliers: { field: "id" } }
          value: "GE-NAPR-202161098"
        }
      }
    ]
  ) {
    aggregation {
      count
      sum(params: { field: "value.amount" })
    }
  }
}

Result:

{
  "data": {
    "Contracts": {
      "aggregation": {
        "count": 5,
        "sum": 612427
      }
    }
  }
}
Try it

Example 10: Number of tenders with a specific CPV code

Query example:

{
  Tenders(
    filters: [
      {
        eq: {
          relatedField: { classification: { field: "id" } }
          value: "39500000-7"
        }
      }
    ]
  ) {
    aggregation {
      count
    }
  }
}

Result:

{
  "data": {
    "Tenders": {
      "aggregation": {
        "count": 1629
      }
    }
  }
}
Try it

Example 11: A list of contact points

Query example:

{
  Contracts(page: {limit: 2} ) {
    values {
      procuringEntity{
        contactPoint{
          name
          email
          telephone
        }
      }
      value {
        amount
      }
    }
  }
}
Try it