{
  "openapi": "3.0.1",
  "info": {
    "title": "Gumtree Scraper: UK, Australia, South Africa Ads",
    "description": "Gumtree UK, Australia and South Africa classifieds in one run: keywords, categories, places, car and property filters, links, every page. Rows hold price, monthly rent (UK, AU), posted time, UK postcode area, seller type, make, mileage; details add full text, car checks. Monitor, pay per ad, API.",
    "version": "0.1",
    "x-build-id": "ryVK2P2qwmywi1Hyc"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/automation_craft~gumtree-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-automation_craft-gumtree-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/automation_craft~gumtree-scraper/runs": {
      "post": {
        "operationId": "runs-sync-automation_craft-gumtree-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/automation_craft~gumtree-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-automation_craft-gumtree-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": {
          "country": {
            "title": "Gumtree site",
            "enum": [
              "uk",
              "au",
              "za"
            ],
            "type": "string",
            "description": "Which Gumtree the built searches read: uk (gumtree.com, the default), au (gumtree.com.au) or za (gumtree.co.za). Pasted links are read on their own site whatever this says; a bare ad id belongs to this site.",
            "default": "uk"
          },
          "keywords": {
            "title": "Keywords",
            "type": "array",
            "description": "Search words, each one its own search (for example \"sofa\", \"iphone 15\", \"bmw 320d\"). Left empty, the categories and places are searched without words. Up to 100 characters each.",
            "items": {
              "type": "string"
            }
          },
          "categories": {
            "title": "Categories",
            "type": "array",
            "description": "Gumtree categories by the name or id the site uses, each its own search. UK: \"cars\", \"sofas\", \"property-to-rent\", \"jobs\", \"dogs\" (the slug in the site's links) or the name (\"Sofas\"). Australia: \"Cars, Vans & Utes\" or its id 18320. South Africa: \"Cars & Bakkies\", \"Phones\" or the ref (\"hkdd7\"). A name several categories share is refused with the candidates. Left empty: all categories.",
            "items": {
              "type": "string"
            }
          },
          "locations": {
            "title": "Places",
            "type": "array",
            "description": "Places to search in, each its own search. UK: a town, city, county or region as the site names it (\"manchester\", \"London\", \"west-yorkshire\"). Australia: a suburb or region as the site names it (\"Bondi\", \"Bondi 2026\", \"Sydney Region\", \"Melbourne City\") or its location id. South Africa: a town or suburb (\"Benoni\", \"Cape Town\") or its ref. Australian and South African places are looked up with the site's own place search; a name it gives several places for is refused with the candidates. Left empty: the whole country.",
            "items": {
              "type": "string"
            }
          },
          "searchUrls": {
            "title": "Search links",
            "type": "array",
            "description": "Search result links copied from gumtree.com, gumtree.com.au or gumtree.co.za (a category, place or keyword search with its filters). Each link keeps its own filters; the Actor reads every page itself, so a link with a page number other than 1 is refused.",
            "items": {
              "type": "string"
            }
          },
          "adUrls": {
            "title": "Ad links",
            "type": "array",
            "description": "Ad links or ad ids (gumtree.com /p/... links, gumtree.com.au /s-ad/... links, gumtree.co.za links ending in an ad id such as ls26... or lr26...). Each is read with its full record and billed as a Listing plus Listing details. A removed or unknown ad is a free row.",
            "items": {
              "type": "string"
            }
          },
          "minPrice": {
            "title": "Lowest price",
            "minimum": 0,
            "type": "integer",
            "description": "Lowest price in the site's currency (GBP, AUD, ZAR). Sent to the site and checked on every row. UK rentals: per week, as Gumtree UK filters rents (a rent per month is compared as a week)."
          },
          "maxPrice": {
            "title": "Highest price",
            "minimum": 0,
            "type": "integer",
            "description": "Highest price in the site's currency. Sent to the site and checked on every row. UK rentals: per week, as Gumtree UK filters rents (a rent per month is compared as a week)."
          },
          "sellerType": {
            "title": "Seller type",
            "enum": [
              "any",
              "private",
              "trade"
            ],
            "type": "string",
            "description": "any (the default), private, or trade (businesses: traders, dealers, agencies), as the search's own seller filter offers it."
          },
          "conditions": {
            "title": "Condition",
            "type": "array",
            "description": "Item condition as the site labels it (UK: \"New\", \"As good as new\", \"Good condition\", \"Fair condition\"; South Africa: \"New\", \"Used\").",
            "items": {
              "type": "string"
            }
          },
          "radius": {
            "title": "Radius around the place",
            "type": "integer",
            "description": "UK: miles added around the place's own area, one of 1, 3, 5, 10, 15, 30, 50, 75, 100. Australia: kilometres, one of 2, 5, 10, 20, 50, 100, 250, 500. Needs a place. Not offered by Gumtree South Africa."
          },
          "makes": {
            "title": "Vehicle makes",
            "type": "array",
            "description": "Car or vehicle makes (\"BMW\", \"Toyota\"), each its own search, with a vehicle category such as \"cars\" (UK), \"Cars, Vans & Utes\" (Australia) or \"Cars & Bakkies\" (South Africa).",
            "items": {
              "type": "string"
            }
          },
          "models": {
            "title": "Vehicle models",
            "type": "array",
            "description": "Models of the one make in \"makes\" (\"3 Series\", \"Hilux\").",
            "items": {
              "type": "string"
            }
          },
          "minYear": {
            "title": "Year from",
            "minimum": 1900,
            "maximum": 2100,
            "type": "integer",
            "description": "First registration or model year, from."
          },
          "maxYear": {
            "title": "Year to",
            "minimum": 1900,
            "maximum": 2100,
            "type": "integer",
            "description": "First registration or model year, to."
          },
          "minMileage": {
            "title": "Mileage from",
            "minimum": 0,
            "type": "integer",
            "description": "Mileage from: miles on Gumtree UK, kilometres in Australia and South Africa."
          },
          "maxMileage": {
            "title": "Mileage to",
            "minimum": 0,
            "type": "integer",
            "description": "Mileage to: miles on Gumtree UK, kilometres in Australia and South Africa."
          },
          "fuelTypes": {
            "title": "Fuel types",
            "type": "array",
            "description": "Fuel types as the site labels them (\"Diesel\", \"Petrol\", \"Hybrid Electric\").",
            "items": {
              "type": "string"
            }
          },
          "transmissions": {
            "title": "Transmissions",
            "type": "array",
            "description": "Gearboxes as the site labels them (\"Manual\", \"Automatic\").",
            "items": {
              "type": "string"
            }
          },
          "bodyTypes": {
            "title": "Body types",
            "type": "array",
            "description": "Body types as the site labels them (\"Hatchback\", \"SUV\", \"Estate\").",
            "items": {
              "type": "string"
            }
          },
          "colours": {
            "title": "Colours",
            "type": "array",
            "description": "Colours as the site labels them (\"Black\", \"White\").",
            "items": {
              "type": "string"
            }
          },
          "minBedrooms": {
            "title": "Bedrooms from",
            "minimum": 0,
            "maximum": 20,
            "type": "integer",
            "description": "Property: bedrooms, from (0 is a studio)."
          },
          "maxBedrooms": {
            "title": "Bedrooms to",
            "minimum": 0,
            "maximum": 20,
            "type": "integer",
            "description": "Property: bedrooms, to."
          },
          "attributeFilters": {
            "title": "Other filters of the site",
            "type": "object",
            "description": "Any other filter a search offers, by the site's own name or label, with a list of values or a range: {\"Doors\": [\"5\"], \"vehicle_seats\": [\"5\"], \"rentals.parking_s\": [\"grage\"], \"driveType\": [\"4X4\"], \"Engine size\": {\"min\": 1000}}. A filter the search does not offer is refused with the filters it does offer."
          },
          "postedWithinHours": {
            "title": "Posted within the last hours",
            "minimum": 1,
            "maximum": 8760,
            "type": "integer",
            "description": "Only ads posted in the last N hours (1 to 8760). Checked on every row; newest first searches stop at the first page past it. Gumtree Australia shows an age, not a time: an Australian ad is kept only when everything its age can mean is inside (\"6 hours ago\" can be up to 7 hours old; \"Yesterday\" is that day in any Australian time zone)."
          },
          "postedAfter": {
            "title": "Posted on or after",
            "type": "string",
            "description": "Only ads posted on or after this day (YYYY-MM-DD, UTC)."
          },
          "includeKeywords": {
            "title": "Must contain words",
            "type": "array",
            "description": "Keep only ads whose title or text contains one of these words (all of them with \"requireAllKeywords\"). With details on (and on ad links), the full description is searched too.",
            "items": {
              "type": "string"
            }
          },
          "requireAllKeywords": {
            "title": "Require all words",
            "type": "boolean",
            "description": "With \"includeKeywords\": an ad must contain every word, not one of them."
          },
          "excludeKeywords": {
            "title": "Must not contain words",
            "type": "array",
            "description": "Leave out ads whose title or text contains one of these words. Checked on search rows and ad links alike.",
            "items": {
              "type": "string"
            }
          },
          "excludeAdIds": {
            "title": "Ads to leave out",
            "type": "array",
            "description": "Ad ids or ad links never to deliver (free).",
            "items": {
              "type": "string"
            }
          },
          "sort": {
            "title": "Sort",
            "enum": [
              "newest",
              "relevance",
              "priceLow",
              "priceHigh",
              "nearest"
            ],
            "type": "string",
            "description": "newest (the default), relevance (needs keywords), priceLow, priceHigh, or nearest (Gumtree UK with a place). A pasted link keeps its own sort unless you set one."
          },
          "maxItems": {
            "title": "Maximum ads",
            "minimum": 1,
            "maximum": 100000,
            "type": "integer",
            "description": "The most ad rows the run delivers (and bills), over all searches and links.",
            "default": 100
          },
          "maxItemsPerSearch": {
            "title": "Maximum ads per search",
            "minimum": 1,
            "type": "integer",
            "description": "The most ad rows one search delivers."
          },
          "maxPagesPerSearch": {
            "title": "Maximum pages per search",
            "minimum": 1,
            "type": "integer",
            "description": "The most result pages one search reads (a page is 30 UK, 40 Australian or 25 South African ads)."
          },
          "maxRowsPerSearch": {
            "title": "Rows read per search",
            "minimum": 1,
            "type": "integer",
            "description": "How many result rows of each search are read at most. A monitor reads this window of each search every run (100 by default)."
          },
          "includeDetails": {
            "title": "Include details",
            "type": "boolean",
            "description": "Read each ad's full record and merge it into its row: the full description, every attribute, all photos, the seller's facts (member since, rating, ads count), Australian and South African view counts, car history check flags, a business's phone (Australia). Billed as Listing details per row.",
            "default": false
          },
          "descriptionFormat": {
            "title": "Description format",
            "enum": [
              "asServed",
              "text",
              "markdown"
            ],
            "type": "string",
            "description": "asServed (the default: the text exactly as the site serves it; South Africa serves HTML), text (South African HTML turned into plain text) or markdown."
          },
          "priceSummary": {
            "title": "Price summary per search",
            "type": "boolean",
            "description": "Add a free price summary to each search's coverage row: count, lowest, quartiles, median, mean and highest of the prices met.",
            "default": true
          },
          "includePersonalData": {
            "title": "Include personal data",
            "type": "boolean",
            "description": "Off by default. On: a private seller's name, seller and account ids, the masked phone the UK page shows, the full UK postcode, the ad's map point, a private vehicle's identifiers (VIN, number plate) and South African photo links (named after the seller's account) are delivered as the site shows them. Off, those fields are null for private sellers; businesses' details are always delivered. You are responsible for a lawful use of personal data (GDPR, POPIA, the Australian Privacy Act).",
            "default": false
          },
          "monitorName": {
            "title": "Monitor name",
            "type": "string",
            "description": "Name a monitor to get only ads it has not delivered before: each run reads every search's newest window and bills only new ads (plus a Results page per page read). The memory is kept per name in this Actor's own storage."
          },
          "resetMonitor": {
            "title": "Reset the monitor",
            "type": "boolean",
            "description": "Forget what this monitor delivered and start again (needs a monitor name)."
          },
          "trackChanges": {
            "title": "Track price changes",
            "type": "boolean",
            "description": "With a monitor: an ad met again with another price, title, photo count or place, as the search page shows them (ad links: as the ad's record shows them), is delivered again (change.changeType priceChanged or updated, with its previous price and price history; billed as a Listing, plus Listing details with details on)."
          },
          "changesToDeliver": {
            "title": "Changes to deliver",
            "enum": [
              "all",
              "priceChanges",
              "priceDrops"
            ],
            "type": "string",
            "description": "With trackChanges: which changes of a known ad are delivered (and billed as a Listing): all (the default), price changes only, or price drops only (a lower price than the last one this monitor delivered). Other changes are noted for the next run and are free. Removed ads (with every search read to its end, confirmed by the ad's record) are reported only with all."
          },
          "markReposts": {
            "title": "Mark reposts",
            "type": "boolean",
            "description": "With a monitor: mark a new ad whose title, price and seller match an ad the monitor delivered (possibleRepostOf)."
          },
          "skipReposts": {
            "title": "Skip reposts",
            "type": "boolean",
            "description": "With markReposts: leave reposts out (free)."
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Left as it is, Gumtree is read through Apify's datacenter proxy, which every Gumtree site answers. Your own proxy links (http://user:password@host:port) replace it."
          },
          "requestsPerSecond": {
            "title": "Requests per second",
            "minimum": 0.1,
            "maximum": 1,
            "type": "number",
            "description": "The pace per site, 0.1 to 1 (0.5 by default)."
          },
          "maxConcurrency": {
            "title": "Requests in flight",
            "minimum": 1,
            "maximum": 2,
            "type": "integer",
            "description": "Requests in flight per site, 1 or 2."
          },
          "maxRequestRetries": {
            "title": "Retries per request",
            "minimum": 0,
            "maximum": 5,
            "type": "integer",
            "description": "Tries of a failed request after the first, 0 to 5."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}