{
  "openapi": "3.0.1",
  "info": {
    "title": "Paraguay DNCP Public Procurement Scraper",
    "description": "Scrape Paraguay public procurement from the official DNCP OCDS API at contrataciones.gov.py. Extract tenders, awards, suppliers with RUC, buyer and supplier emails and phones, line items with UNSPSC, bids, budgets and contracts. Export to JSON, CSV or Excel.",
    "version": "0.1",
    "x-build-id": "dnFhJkcn1EfdRiBag"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/scrapers_lat~paraguay-dncp-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-scrapers_lat-paraguay-dncp-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/scrapers_lat~paraguay-dncp-scraper/runs": {
      "post": {
        "operationId": "runs-sync-scrapers_lat-paraguay-dncp-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/scrapers_lat~paraguay-dncp-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-scrapers_lat-paraguay-dncp-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "properties": {
          "maxItems": {
            "title": "Max Items",
            "minimum": 1,
            "maximum": 1000000,
            "type": "integer",
            "description": "Maximum number of procurement processes to collect across all matching filters. Optional."
          },
          "withDetails": {
            "title": "Fetch Full Details",
            "type": "boolean",
            "description": "When enabled, the scraper fetches the full OCDS record for each process to add tender value, currency, procurement category, award value/date and contract value/dates. When disabled, only the lightweight listing fields are returned (faster, fewer requests).",
            "default": true
          },
          "supplierName": {
            "title": "Supplier Name",
            "type": "string",
            "description": "Filter by the awarded supplier (contractor) company or person name, for example 'TIGO' or 'CONSTRUCCIONES'. Matches processes whose awarded supplier name contains this text. Ideal for supplier lead-gen and KYC."
          },
          "supplierRuc": {
            "title": "Supplier RUC",
            "type": "string",
            "description": "Filter by the awarded supplier RUC (Paraguayan tax-ID), for example '80014897-5'. Returns the full awarded-process history for that supplier. Provide the RUC with or without the verification digit."
          },
          "buyerName": {
            "title": "Buyer (Entity) Name",
            "type": "string",
            "description": "Filter by the contracting government entity name, for example 'Ministerio de Salud' or 'Municipalidad'. Matches processes whose buyer (convocante) name contains this text."
          },
          "buyerId": {
            "title": "Buyer SICP Code",
            "type": "string",
            "description": "Filter by the DNCP SICP code of the contracting entity, digits only, for example '20' for the Ministry of Public Works (MOPC). Returns every process published by that entity."
          },
          "title": {
            "title": "Title / Object Keyword",
            "type": "string",
            "description": "Filter by a keyword in the tender title (object of the procurement), for example 'combustible', 'medicamentos' or 'obras'. Use this for product, service or project keyword searches."
          },
          "procurementMethod": {
            "title": "Procurement Method",
            "type": "string",
            "description": "Filter by the procurement method description, for example 'Licitación Pública Nacional', 'Contratación Directa' or 'Concurso de Ofertas'. Matches the DNCP procurementMethodDetails text. Multiple values can be given separated by commas."
          },
          "category": {
            "title": "Procurement Category",
            "enum": [
              "goods",
              "services",
              "works"
            ],
            "type": "string",
            "description": "Filter by the OCDS main procurement category of the tender."
          },
          "ocid": {
            "title": "OCID / Process Number",
            "type": "string",
            "description": "Filter by a specific Open Contracting ID or DNCP process number, for example 'ocds-03ad3f-436244-1' or '436244-1'. Returns the matching process only."
          },
          "dateType": {
            "title": "Date Type",
            "enum": [
              "adjudicacion",
              "publicacion_llamado",
              "firma_contrato",
              "entrega_ofertas",
              "fecha_release"
            ],
            "type": "string",
            "description": "Which date the 'from' and 'to' range below filters on.",
            "default": "adjudicacion"
          },
          "dateFrom": {
            "title": "Date From (YYYY-MM-DD)",
            "type": "string",
            "description": "Only include processes whose selected date is on or after this date. Format YYYY-MM-DD, for example '2024-01-01'."
          },
          "dateTo": {
            "title": "Date To (YYYY-MM-DD)",
            "type": "string",
            "description": "Only include processes whose selected date is on or before this date. Format YYYY-MM-DD, for example '2024-12-31'."
          },
          "proxyConfiguration": {
            "title": "Proxy Configuration",
            "type": "object",
            "description": "Optional Apify proxy configuration. The DNCP OCDS API is publicly accessible and normally needs no proxy; enable this only if you hit rate limits.",
            "default": {
              "useApifyProxy": false
            }
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}