{
  "openapi": "3.0.1",
  "info": {
    "title": "UK Waste & Tip Finder",
    "description": "Find the nearest UK household waste recycling centre (tip) that actually accepts what you need to get rid of.",
    "version": "0.1",
    "x-build-id": "Aw8u3mlFbXoNZ5xXb"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/nerolabs~uk-waste-tip-finder/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-nerolabs-uk-waste-tip-finder",
        "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/nerolabs~uk-waste-tip-finder/runs": {
      "post": {
        "operationId": "runs-sync-nerolabs-uk-waste-tip-finder",
        "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/nerolabs~uk-waste-tip-finder/run-sync": {
      "post": {
        "operationId": "run-sync-nerolabs-uk-waste-tip-finder",
        "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",
        "required": [
          "postcode"
        ],
        "properties": {
          "audience": {
            "title": "Who is this for?",
            "enum": [
              "resident",
              "trade_commercial"
            ],
            "type": "string",
            "description": "Residents get standard household-tip guidance. Trade/commercial (removals, house clearances, man-in-a-van, furniture stores) gets an extra warning: UK household recycling centres are for household waste only, taking a van of commercial waste there can mean a fine, and you generally need a registered waste carrier + a licensed trade waste facility instead.",
            "default": "resident"
          },
          "postcode": {
            "title": "UK postcode",
            "type": "string",
            "description": "A UK postcode, full or partial (e.g. \"SW1A 1AA\" or \"SW1A\")."
          },
          "materials": {
            "title": "Materials to check (optional)",
            "type": "array",
            "description": "Pick what you need to get rid of. Common household recyclables (batteries, electricals, garden waste, scrap metal, textiles, oil) are usually confirmed from open data. Bulky and hazardous items (mattress, rubble, plasterboard, asbestos, POPs furniture) are rarely recorded in open data at site level, so those come back flagged 'unconfirmed, call ahead' rather than a guess, most sites now require these to be separated out or booked in specially anyway.",
            "items": {
              "type": "string",
              "enum": [
                "batteries",
                "small_electrical_appliances",
                "large_electrical_appliances",
                "garden_waste",
                "scrap_metal",
                "textiles",
                "shoes",
                "engine_oil",
                "cooking_oil",
                "paper",
                "cardboard",
                "glass",
                "plastic",
                "cans",
                "mattress",
                "rubble_hardcore",
                "plasterboard",
                "car_battery",
                "tyres",
                "paint_chemicals",
                "asbestos",
                "pops_furniture",
                "fluorescent_tubes",
                "low_energy_bulbs"
              ],
              "enumTitles": [
                "Batteries",
                "Small electrical appliances (WEEE)",
                "Large electrical appliances (fridge, freezer, washing machine)",
                "Garden waste",
                "Scrap metal",
                "Textiles / clothes",
                "Shoes",
                "Engine oil",
                "Cooking oil",
                "Paper",
                "Cardboard",
                "Glass",
                "Plastic",
                "Cans",
                "Mattress",
                "Rubble / hardcore",
                "Plasterboard",
                "Car battery",
                "Tyres",
                "Paint / chemicals",
                "Asbestos",
                "Upholstered furniture with POPs (foam-filled, pre-2023 sofas/chairs)",
                "Fluorescent tubes",
                "Low energy bulbs"
              ]
            },
            "default": []
          },
          "radiusKm": {
            "title": "Search radius (km)",
            "minimum": 1,
            "maximum": 50,
            "type": "integer",
            "description": "How far from the postcode to search.",
            "default": 15
          },
          "maxResults": {
            "title": "Max results",
            "minimum": 1,
            "maximum": 50,
            "type": "integer",
            "description": "Maximum number of sites to return, nearest first.",
            "default": 10
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}