{
  "openapi": "3.0.1",
  "info": {
    "title": "Gumtree UK Scraper - Classified Ads & Listings",
    "description": "Scrape Gumtree UK classifieds: ad id, title, price, category, town and postcode, seller type, posted date, full ad text, attributes and photos. Search by keyword, category, town or postcode, or paste a Gumtree URL. No login, no API key. Phone numbers and emails are stripped from every field.",
    "version": "0.1",
    "x-build-id": "w4VcLZQwvCdjP7yyy"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/dami_studio~gumtree-uk-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-dami_studio-gumtree-uk-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/dami_studio~gumtree-uk-scraper/runs": {
      "post": {
        "operationId": "runs-sync-dami_studio-gumtree-uk-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/dami_studio~gumtree-uk-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-dami_studio-gumtree-uk-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": {
          "query": {
            "title": "Search terms",
            "type": "string",
            "description": "What to look for, e.g. \"ford focus\", \"sofa\", \"2 bed flat\". Leave it empty to take everything in the category you pick."
          },
          "location": {
            "title": "Location",
            "type": "array",
            "description": "A UK town, city, county or postcode — \"london\", \"leeds\", \"west-midlands\", \"OL8 3TS\". Use \"uk\" for the whole country. Add several to run the same search in several places. Gumtree answers an unknown place with zero ads rather than an error, so a typo shows up as an empty run.",
            "items": {
              "type": "string"
            }
          },
          "category": {
            "title": "Category",
            "type": "array",
            "description": "Optional. A section (\"cars-vans-motorbikes\", \"for-sale\", \"flats-houses\", \"pets\", \"jobs\", \"community\", \"business-services\"), a leaf category (\"cars\", \"property-to-rent\", \"dogs\", \"phones\", \"home-garden\", \"video-games-consoles\"), or a plain label like \"Cars\" or \"Flats to rent\". 115 leaf categories are recognised. Leave empty to search everything.",
            "items": {
              "type": "string"
            }
          },
          "searchUrls": {
            "title": "Gumtree search URLs",
            "type": "array",
            "description": "Optional. Paste Gumtree search or browse URLs instead of filling the fields above — https://www.gumtree.com/search?search_category=cars&search_location=leeds or https://www.gumtree.com/cars-vans-motorbikes/cars/uk/leeds. Filters already in the URL are kept; anything you set above overrides them.",
            "items": {
              "type": "string"
            }
          },
          "maxItems": {
            "title": "Maximum listings",
            "minimum": 1,
            "maximum": 50000,
            "type": "integer",
            "description": "How many listings to return in total across every search (1-50000). One returned listing is one charged result. Sample and diagnostic rows are never charged."
          },
          "fetchDetails": {
            "title": "Open each listing page",
            "type": "boolean",
            "description": "Adds the full ad text, the attribute table (mileage, bedrooms, breed, hours), seller type, exact posted date, the full photo set and — on property ads — the postcode and map coordinates. Costs one extra page load per listing, so a 100-listing run takes roughly 90 seconds instead of 10."
          },
          "sort": {
            "title": "Sort",
            "enum": [
              "relevance",
              "date",
              "price-low",
              "price-high"
            ],
            "type": "string",
            "description": "Newest first is the one to use for monitoring. Note that asking Gumtree for any order other than relevance also narrows the result set it will serve."
          },
          "distanceMiles": {
            "title": "Radius (miles)",
            "minimum": 0,
            "maximum": 500,
            "type": "integer",
            "description": "Optional. How far around the location to search. Gumtree's own default radius is small, so widening this is usually the fastest way to get more results."
          },
          "minPrice": {
            "title": "Minimum price (£)",
            "minimum": 0,
            "type": "integer",
            "description": "Optional. Gumtree only applies a price range when a category is set — on an all-category keyword search it accepts the range and ignores it, so this Actor drops the out-of-range rows itself and does not charge for them."
          },
          "maxPrice": {
            "title": "Maximum price (£)",
            "minimum": 0,
            "type": "integer",
            "description": "Optional upper bound. Same caveat as the minimum."
          },
          "sellerType": {
            "title": "Posted by",
            "enum": [
              "any",
              "private",
              "trade"
            ],
            "type": "string",
            "description": "Private sellers or trade sellers only. Gumtree applies this inside Cars, Vans, Property and the other sections that have both; it has no effect on an all-category search."
          },
          "includeFeatured": {
            "title": "Include featured ads",
            "type": "boolean",
            "description": "Gumtree pins a handful of paid \"Featured\" cards to the top of every page of a search, so the same advert comes back on page 1, page 2 and page 3. They are skipped by default and not charged. Turn this on if you are tracking paid placements."
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Optional. Leave this alone unless you need the run to go out through a particular network. Your own proxy servers are used exactly as given."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}