{
  "openapi": "3.0.1",
  "info": {
    "title": "India e-Tenders Scraper - CPPP, Defence & 23 States",
    "description": "Open government tenders from 26 Indian NIC e-procurement portals (CPPP, Central, Defence, Tamil Nadu, UP, Kerala, MP and more): Tender ID, title, closing date and time, value, EMD, fee, location, PIN code, category. Daily \"only new\" alerts.",
    "version": "0.3",
    "x-build-id": "xXnMNlY1QjqgeHKuB"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/tenderdata-india~gepnic-tenders/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-tenderdata-india-gepnic-tenders",
        "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/tenderdata-india~gepnic-tenders/runs": {
      "post": {
        "operationId": "runs-sync-tenderdata-india-gepnic-tenders",
        "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/tenderdata-india~gepnic-tenders/run-sync": {
      "post": {
        "operationId": "run-sync-tenderdata-india-gepnic-tenders",
        "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": {
          "portals": {
            "title": "Portals",
            "type": "array",
            "description": "Which NIC e-procurement (GePNIC) portals to collect open tenders from. Pick one or several; the maximum number of tenders is shared evenly between them.",
            "items": {
              "type": "string",
              "enum": [
                "central",
                "cppp",
                "defence",
                "arunachal-pradesh",
                "assam",
                "chandigarh",
                "delhi",
                "goa",
                "dadra-nagar-haveli",
                "daman-diu",
                "haryana",
                "himachal-pradesh",
                "jammu-kashmir",
                "jharkhand",
                "kerala",
                "ladakh",
                "lakshadweep",
                "madhya-pradesh",
                "meghalaya",
                "nagaland",
                "odisha",
                "puducherry",
                "punjab",
                "rajasthan",
                "sikkim",
                "tamil-nadu",
                "tripura",
                "uttar-pradesh",
                "uttarakhand",
                "west-bengal"
              ],
              "enumTitles": [
                "Central (CPSE eProcurement)",
                "Central Public Procurement Portal (CPPP)",
                "Defence eProcurement",
                "Arunachal Pradesh",
                "Assam",
                "Chandigarh",
                "Delhi",
                "Goa",
                "Dadra & Nagar Haveli",
                "Daman & Diu",
                "Haryana",
                "Himachal Pradesh",
                "Jammu & Kashmir",
                "Jharkhand",
                "Kerala",
                "Ladakh",
                "Lakshadweep",
                "Madhya Pradesh",
                "Meghalaya",
                "Nagaland",
                "Odisha",
                "Puducherry",
                "Punjab",
                "Rajasthan",
                "Sikkim",
                "Tamil Nadu",
                "Tripura",
                "Uttar Pradesh",
                "Uttarakhand",
                "West Bengal"
              ]
            },
            "default": [
              "kerala"
            ]
          },
          "maxResults": {
            "title": "Maximum number of tenders",
            "minimum": 1,
            "maximum": 20000,
            "type": "integer",
            "description": "The run stops after saving this many tenders. You pay per saved tender. Raise it to collect more.",
            "default": 25
          },
          "keyword": {
            "title": "Keywords",
            "type": "string",
            "description": "Optional. Only keep tenders whose title, reference number or Tender ID contains one of these words (not case-sensitive). Separate several with commas, for example \"road, bridge, culvert\". Whole words only: \"ERP\" does not match \"waterproofing\"."
          },
          "organisation": {
            "title": "Organisation filter",
            "type": "string",
            "description": "Optional. Only keep tenders from organisations whose name contains this text (not case-sensitive), for example \"PWD\" or \"Water Authority\"."
          },
          "minValue": {
            "title": "Minimum tender value (₹)",
            "minimum": 0,
            "type": "integer",
            "description": "Optional. Only keep tenders with an estimated value of at least this many rupees. Tenders whose value the department did not state are left out when a value filter is set."
          },
          "maxValue": {
            "title": "Maximum tender value (₹)",
            "minimum": 0,
            "type": "integer",
            "description": "Optional. Only keep tenders with an estimated value of at most this many rupees."
          },
          "closingWithinDays": {
            "title": "Closing within (days)",
            "minimum": 0,
            "maximum": 365,
            "type": "integer",
            "description": "Optional. Only keep tenders whose bid submission closes within this many days from today, for example 7."
          },
          "onlyNew": {
            "title": "Only new tenders (daily alerts)",
            "type": "boolean",
            "description": "Skip tenders this Actor already delivered to you in earlier runs with the same portal and filters. Turn this on and schedule the Actor daily to get only fresh tenders, and only pay for those.",
            "default": 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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}