{
  "openapi": "3.0.1",
  "info": {
    "title": "Gumtree Scraper",
    "description": "[💰 $1.5 / 1K] Extract classified listings from Gumtree across the UK, Australia, and South Africa. Get titles, prices, locations, descriptions, images, attributes (beds/baths, mileage/year, etc.), seller info, and contact details for cars, property, jobs, services, and general for-sale items.",
    "version": "1.0",
    "x-build-id": "Z9RVYL9Cl1iuvaXHx"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/solidcode~gumtree-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-solidcode-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/solidcode~gumtree-scraper/runs": {
      "post": {
        "operationId": "runs-sync-solidcode-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/solidcode~gumtree-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-solidcode-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": {
          "startUrls": {
            "title": "Gumtree URLs",
            "type": "array",
            "description": "Paste Gumtree search, category, or individual listing URLs. Works with gumtree.com (UK), gumtree.com.au (Australia), and gumtree.co.za (South Africa). Mix any combination - the region is detected per URL. Filters in the URL are kept as-is.",
            "items": {
              "type": "string"
            }
          },
          "searchKeyword": {
            "title": "Search Keyword",
            "type": "string",
            "description": "Keyword to search across Gumtree (e.g. 'iPhone 15', 'Ford Focus', '2 bed flat'). Combined with the Region, Location, and Category below. Leave blank to browse a whole category or region."
          },
          "region": {
            "title": "Region",
            "enum": [
              "uk",
              "au",
              "za"
            ],
            "type": "string",
            "description": "Which Gumtree region to search when using the keyword/location/category fields above. Ignored when 'Gumtree URLs' is populated — the URL's domain is used instead.",
            "default": "uk"
          },
          "location": {
            "title": "Location",
            "type": "string",
            "description": "City, town, area, or postcode to narrow the search (e.g. 'London', 'Perth', 'Cape Town', 'SW1A'). Leave blank to search the whole region."
          },
          "category": {
            "title": "Category",
            "enum": [
              "all",
              "cars-vehicles",
              "property",
              "for-sale",
              "jobs",
              "pets",
              "community"
            ],
            "type": "string",
            "description": "Top-level category to search within. The actor maps this to the right slug for each region. Pick 'All Categories' to search across everything. NOTE: Australia is supported for the 'Cars & Vehicles' category only — picking any other category with Region=Australia will return zero results with a hint to switch category or region.",
            "default": "all"
          },
          "sortBy": {
            "title": "Sort By",
            "enum": [
              "most_recent",
              "best_match",
              "price_low_high",
              "price_high_low",
              "nearest"
            ],
            "type": "string",
            "description": "How to order listings. 'Most Recent' is best when combined with the date filter below — pagination stops as soon as listings get too old. 'Nearest First' is only honoured when a Location is set.",
            "default": "most_recent"
          },
          "minPrice": {
            "title": "Minimum Price",
            "minimum": 0,
            "maximum": 100000000,
            "type": "integer",
            "description": "Only include listings priced at or above this amount, in the region's local currency (GBP / AUD / ZAR). Leave blank for no lower bound."
          },
          "maxPrice": {
            "title": "Maximum Price",
            "minimum": 0,
            "maximum": 100000000,
            "type": "integer",
            "description": "Only include listings priced at or below this amount, in the region's local currency (GBP / AUD / ZAR). Leave blank for no upper bound."
          },
          "listingStartDate": {
            "title": "Listings Posted On or After",
            "type": "string",
            "description": "Only return listings posted on or after this date (YYYY-MM-DD). Most effective with sort 'Most Recent' — the actor stops paginating once it crosses the cutoff, so you don't pay for older rows."
          },
          "maxResults": {
            "title": "Max Results",
            "minimum": 0,
            "maximum": 50000,
            "type": "integer",
            "description": "Maximum number of listings to return across all URLs and searches. Set to 0 for unlimited (an internal cap of 50,000 still applies). A single keyword/category search reaches roughly 1,800 rows due to Gumtree's pagination depth — split into multiple URLs in 'Gumtree URLs' to scale beyond that. The actor stops requesting new pages once this number is reached but keeps the full final page, so the final count may slightly overshoot. Tip: start with 50–100 to test.",
            "default": 100
          },
          "includeListingDetails": {
            "title": "Include Full Listing Details",
            "type": "boolean",
            "description": "Open each listing's page for full description, all images, attributes (beds/baths, mileage/year, etc.), and seller name. Slower but much richer data. Disable for faster, cheaper runs that return only what's on the search-result cards.",
            "default": false
          },
          "includePhone": {
            "title": "Include Seller Phone",
            "type": "boolean",
            "description": "Include the seller's phone number when Gumtree publishes the digits in plain sight. Best results on South Africa (`gumtree.co.za`) and Australian cars (`gumtree.com.au`), where dealers often expose the full number. United Kingdom (`gumtree.com`) listings keep the last four digits behind a click-to-reveal step that we don't impersonate — the field stays `null` for UK rows rather than returning a masked half-number. Off by default to keep runs fast.",
            "default": false
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}