{
  "openapi": "3.0.1",
  "info": {
    "title": "MCS Certified Products Scraper",
    "description": "Scrape 260,000+ MCS certified renewable energy products from the official UK scheme directory. Extract certification numbers, manufacturers, model numbers, technology types, SCOP data, and certification details across 12 categories including solar PV, heat pumps, biomass.",
    "version": "1.0",
    "x-build-id": "FgRaSCgqSjpd2Zu4j"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/morkerr~mcscertified-com-product-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-morkerr-mcscertified-com-product-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/morkerr~mcscertified-com-product-scraper/runs": {
      "post": {
        "operationId": "runs-sync-morkerr-mcscertified-com-product-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/morkerr~mcscertified-com-product-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-morkerr-mcscertified-com-product-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": {
          "search": {
            "title": "Search Keyword",
            "type": "string",
            "description": "Search by product name or certification number."
          },
          "sortBy": {
            "title": "Sort By",
            "enum": [
              "",
              "date-desc",
              "date-asc",
              "title-asc",
              "title-desc"
            ],
            "type": "string",
            "description": "Sort order for results."
          },
          "manufacturer": {
            "title": "Manufacturer Name",
            "type": "string",
            "description": "Filter by manufacturer name (partial match supported)."
          },
          "certificationStatus": {
            "title": "Certification Status",
            "type": "array",
            "description": "Filter by current certification status. Leave empty for all.",
            "items": {
              "type": "string",
              "enum": [
                "certified",
                "expired"
              ],
              "enumTitles": [
                "Certified",
                "Certification Expired"
              ]
            }
          },
          "technologyTypes": {
            "title": "Technology Types",
            "type": "array",
            "description": "Filter by technology categories. Leave empty for all.",
            "items": {
              "type": "string",
              "enum": [
                "Air Source Heat Pump",
                "Biomass",
                "Exhaust Air Heat Pump",
                "Gas Absorbtion Heat Pump",
                "Ground/Water Source Heat Pump",
                "Micro CHP",
                "Solar Assisted Heat Pump",
                "Solar Heating",
                "Solar Heating Mounting",
                "Solar PV",
                "Solar PV Mounting",
                "Wind Turbine"
              ],
              "enumTitles": [
                "Air Source Heat Pump",
                "Biomass",
                "Exhaust Air Heat Pump",
                "Gas Absorbtion Heat Pump",
                "Ground/Water Source Heat Pump",
                "Micro CHP",
                "Solar Assisted Heat Pump",
                "Solar Heating",
                "Solar Heating Mounting",
                "Solar PV",
                "Solar PV Mounting",
                "Wind Turbine"
              ]
            }
          },
          "technologySubTypes": {
            "title": "Technology Sub-Types",
            "type": "array",
            "description": "Filter by technology sub-type (e.g., Air-to-Air, Air-to-Water). Only applies when Air Source Heat Pump is selected.",
            "items": {
              "type": "string",
              "enum": [
                "Air-to-Air",
                "Air-to-Water"
              ],
              "enumTitles": [
                "Air to Air Heat Pump",
                "Air to Water Heat Pump"
              ]
            }
          },
          "certifiedFrom": {
            "title": "Certification Date From",
            "type": "string",
            "description": "Start of certification date range (YYYY-MM-DD)."
          },
          "certifiedTo": {
            "title": "Certification Date To",
            "type": "string",
            "description": "End of certification date range (YYYY-MM-DD)."
          },
          "resultsPerPage": {
            "title": "Results Per Page",
            "minimum": 1,
            "maximum": 90,
            "type": "integer",
            "description": "Number of products per page.",
            "default": 30
          },
          "maxPages": {
            "title": "Max Pages to Scrape",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum number of pages to scrape. Set to 0 to scrape all pages.",
            "default": 1
          },
          "proxyConfiguration": {
            "title": "Proxy Configuration",
            "type": "object",
            "description": "Proxy settings for the actor.",
            "default": {
              "useApifyProxy": true
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}