{
  "openapi": "3.0.1",
  "info": {
    "title": "Gumtree Scraper - Listings, Prices & Seller Leads",
    "description": "Scrape Gumtree classified ads: titles, prices, locations, full descriptions, photos, vehicle/property attributes, condition and seller details. Filter by category, location, price and seller type, enrich with seller leads, and use monitor mode to capture only new listings. No login or API key.",
    "version": "0.1",
    "x-build-id": "xnsdYXumqdDL71xNm"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/scrapesage~gumtree-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-scrapesage-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/scrapesage~gumtree-scraper/runs": {
      "post": {
        "operationId": "runs-sync-scrapesage-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/scrapesage~gumtree-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-scrapesage-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": {
          "searchQueries": {
            "title": "Search keywords",
            "type": "array",
            "description": "Keywords to search on Gumtree, each combined with every category and location below. Leave empty to browse a whole category/location.",
            "items": {
              "type": "string"
            }
          },
          "categories": {
            "title": "Categories",
            "type": "array",
            "description": "Optional Gumtree category slugs (from the URL `search_category=`), e.g. `cars`, `vans`, `motorbikes`, `property-to-rent`, `property-for-sale`, `flats-and-houses-for-rent`, `jobs`, `for-sale`, `pets`, `business-services`, `services`. Combined with every keyword and location.",
            "items": {
              "type": "string"
            }
          },
          "locations": {
            "title": "Locations",
            "type": "array",
            "description": "Optional location slugs/names (from the URL `search_location=`), e.g. `london`, `manchester`, `birmingham`, `bristol`. Combined with every keyword and category.",
            "items": {
              "type": "string"
            }
          },
          "startUrls": {
            "title": "Start URLs (search or listing pages)",
            "type": "array",
            "description": "Paste full Gumtree URLs — search/results pages (with any filters already applied) or individual ad (listing) pages. Works for gumtree.com (UK), gumtree.com.au and gumtree.co.za. Use this to reproduce an exact filtered search from your browser.",
            "items": {
              "type": "string"
            }
          },
          "region": {
            "title": "Region",
            "enum": [
              "uk",
              "au",
              "za"
            ],
            "type": "string",
            "description": "Gumtree site to search when using keywords/categories/locations. `UK` = gumtree.com (fully supported). For Australia/South Africa, pasting `startUrls` is recommended.",
            "default": "uk"
          },
          "sort": {
            "title": "Sort by",
            "enum": [
              "relevance",
              "date",
              "price-low",
              "price-high",
              "distance"
            ],
            "type": "string",
            "description": "Result ordering.",
            "default": "relevance"
          },
          "minPrice": {
            "title": "Min price",
            "minimum": 0,
            "type": "integer",
            "description": "Only return ads at or above this price."
          },
          "maxPrice": {
            "title": "Max price",
            "minimum": 0,
            "type": "integer",
            "description": "Only return ads at or below this price."
          },
          "distance": {
            "title": "Distance (miles)",
            "minimum": 0,
            "type": "integer",
            "description": "Search radius around the location, in miles."
          },
          "sellerType": {
            "title": "Seller type",
            "enum": [
              "any",
              "trade",
              "private"
            ],
            "type": "string",
            "description": "Filter by seller type (most reliable for vehicle categories). `Any` returns both.",
            "default": "any"
          },
          "maxItems": {
            "title": "Max listings",
            "minimum": 1,
            "type": "integer",
            "description": "Maximum number of listings to return across all searches. Pagination stops once this is reached.",
            "default": 60
          },
          "includeListingDetails": {
            "title": "Enrich with full listing details",
            "type": "boolean",
            "description": "Open each ad's page for the full description, all photos, every attribute (vehicle specs, property details…), condition, exact location/geo, seller name and posted date. Adds one fast request per listing.",
            "default": false
          },
          "includeSellerLeads": {
            "title": "Output seller leads",
            "type": "boolean",
            "description": "Also emit one de-duplicated `seller` lead record per unique seller found (name, trade/private, profile, phone when available, lead score). Implies opening listing pages.",
            "default": false
          },
          "revealPhone": {
            "title": "Extract seller phone (best effort)",
            "type": "boolean",
            "description": "Attempt to extract a contact phone number from each listing page. Private sellers often include one; many ads keep it hidden behind Gumtree's reveal button, so this is best-effort. Implies opening listing pages.",
            "default": false
          },
          "monitorMode": {
            "title": "Monitor mode (only new listings)",
            "type": "boolean",
            "description": "Remember listings seen on previous runs and output only NEW ones each run. Ideal on a Schedule for new-listing alerts and lead pipelines. Uses a named key-value store so it works alongside Apify Schedules.",
            "default": false
          },
          "monitorKey": {
            "title": "Monitor key",
            "type": "string",
            "description": "Name for this monitor's memory. Use a distinct key per saved search so their 'seen' lists don't mix.",
            "default": "default"
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Proxy settings. Apify datacenter proxy works well for Gumtree; switch to residential if you hit blocks on large runs.",
            "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}