{
  "openapi": "3.0.1",
  "info": {
    "title": "Subito.it – Italy Listings, Cars, Property & Jobs",
    "description": "Scrape Subito.it listings across cars, real estate, marketplace, jobs, and more. Search by keyword and filters or use Subito URLs. Returns prices, descriptions, photos, specs, seller details, location, 60+ fields, and optional seller reputation.",
    "version": "1.0",
    "x-build-id": "oMDfPNU3SU0NHVP3l"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/abotapi~subito-it-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-abotapi-subito-it-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/abotapi~subito-it-scraper/runs": {
      "post": {
        "operationId": "runs-sync-abotapi-subito-it-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/abotapi~subito-it-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-abotapi-subito-it-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",
        "required": [
          "category",
          "proxyConfiguration"
        ],
        "properties": {
          "category": {
            "title": "Vertical",
            "enum": [
              "auto",
              "realestate",
              "marketplace",
              "jobs"
            ],
            "type": "string",
            "description": "Which Subito.it vertical to scrape. This drives the default landing section and decides which vertical-specific filters below apply. Cars, real estate and jobs each expose their own filter set; marketplace covers all the consumer-goods categories.",
            "default": "marketplace"
          },
          "searchQuery": {
            "title": "Search query",
            "type": "string",
            "description": "Free-text keyword. Leave empty to browse all listings in the chosen vertical. Used together with the filters below. If a Start URL is also given, the URL takes precedence for that entry."
          },
          "subjectOnly": {
            "title": "Search title only",
            "type": "boolean",
            "description": "Match the keyword only against the ad title (not the description).",
            "default": false
          },
          "region": {
            "title": "Region",
            "type": "string",
            "description": "Region name or region id. Leave empty for all of Italy."
          },
          "city": {
            "title": "Province / city",
            "type": "string",
            "description": "Province (provincia) name or id to narrow results."
          },
          "town": {
            "title": "Town (comune)",
            "type": "string",
            "description": "Town (comune) name or id to narrow results further."
          },
          "priceMin": {
            "title": "Min price (EUR)",
            "minimum": 0,
            "type": "integer",
            "description": "Minimum price in euro. For jobs this maps to the advertised salary when present."
          },
          "priceMax": {
            "title": "Max price (EUR)",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum price in euro."
          },
          "sellerType": {
            "title": "Advertiser type",
            "enum": [
              "any",
              "private",
              "company"
            ],
            "type": "string",
            "description": "Filter by advertiser. Any = both, Private = individuals, Company = businesses/dealers.",
            "default": "any"
          },
          "sort": {
            "title": "Sort order",
            "enum": [
              "datedesc",
              "relevance",
              "priceasc",
              "pricedesc",
              "yearasc",
              "yeardesc",
              "mileageasc",
              "mileagedesc",
              "hpasc",
              "hpdesc",
              "vlenasc",
              "vlendesc"
            ],
            "type": "string",
            "description": "Result ordering. Relevance / newest / price options work for every vertical; the year, mileage, power and length options only apply to cars & motors.",
            "default": "datedesc"
          },
          "adType": {
            "title": "Ad type",
            "enum": [
              "s",
              "k",
              "u",
              "h",
              "g"
            ],
            "type": "string",
            "description": "Transaction type. Offer (vendita) and Wanted (cercasi) apply broadly; Rent and Holiday rental apply to real estate; Free (in regalo) applies to marketplace. Cars and jobs only support Offer.",
            "default": "s"
          },
          "condition": {
            "title": "Item condition",
            "type": "array",
            "description": "Marketplace only. Filter by item condition. Choose one or more.",
            "items": {
              "type": "string",
              "enum": [
                "10",
                "20",
                "30",
                "40",
                "50"
              ],
              "enumTitles": [
                "New",
                "Like new",
                "Excellent",
                "Good",
                "Damaged"
              ]
            }
          },
          "shippableOnly": {
            "title": "Shippable only",
            "type": "boolean",
            "description": "Marketplace only. Show only ads that offer shipping.",
            "default": false
          },
          "brand": {
            "title": "Brand id",
            "type": "string",
            "description": "Cars only. Brand id (e.g. 000101 = Volkswagen)."
          },
          "model": {
            "title": "Model id",
            "type": "string",
            "description": "Cars only. Model id (depends on the chosen brand)."
          },
          "yearMin": {
            "title": "Min registration year",
            "type": "integer",
            "description": "Cars only. Earliest registration year."
          },
          "yearMax": {
            "title": "Max registration year",
            "type": "integer",
            "description": "Cars only. Latest registration year."
          },
          "mileageMin": {
            "title": "Min mileage (km)",
            "minimum": 0,
            "type": "integer",
            "description": "Cars only. Minimum kilometres."
          },
          "mileageMax": {
            "title": "Max mileage (km)",
            "minimum": 0,
            "type": "integer",
            "description": "Cars only. Maximum kilometres."
          },
          "fuelType": {
            "title": "Fuel type",
            "type": "array",
            "description": "Cars only. Filter by fuel. Choose one or more.",
            "items": {
              "type": "string",
              "enum": [
                "1",
                "2",
                "3",
                "4",
                "5",
                "6",
                "7"
              ],
              "enumTitles": [
                "Petrol",
                "Diesel",
                "LPG",
                "Electric",
                "Other",
                "Hybrid",
                "Methane"
              ]
            }
          },
          "gearbox": {
            "title": "Gearbox",
            "enum": [
              "1",
              "2",
              "3",
              "4"
            ],
            "type": "string",
            "description": "Cars only. Transmission type."
          },
          "bodyType": {
            "title": "Body type",
            "type": "array",
            "description": "Cars only. Filter by body style. Choose one or more.",
            "items": {
              "type": "string",
              "enum": [
                "1",
                "2",
                "3",
                "4",
                "5",
                "6",
                "7",
                "8",
                "10"
              ],
              "enumTitles": [
                "City / small",
                "Saloon",
                "Estate / wagon",
                "MPV / minivan",
                "SUV / off-road",
                "Convertible",
                "Coupe",
                "City car",
                "Other"
              ]
            }
          },
          "vehicleStatus": {
            "title": "Vehicle condition",
            "type": "array",
            "description": "Cars only. Used, zero-km or new. Choose one or more.",
            "items": {
              "type": "string",
              "enum": [
                "1",
                "2",
                "3"
              ],
              "enumTitles": [
                "Used",
                "Zero km",
                "New"
              ]
            }
          },
          "sizeMin": {
            "title": "Min surface (m²)",
            "minimum": 0,
            "type": "integer",
            "description": "Real estate only. Minimum surface in square metres."
          },
          "sizeMax": {
            "title": "Max surface (m²)",
            "minimum": 0,
            "type": "integer",
            "description": "Real estate only. Maximum surface in square metres."
          },
          "roomsMin": {
            "title": "Min rooms",
            "minimum": 1,
            "type": "integer",
            "description": "Real estate only. Minimum number of rooms."
          },
          "roomsMax": {
            "title": "Max rooms",
            "minimum": 1,
            "type": "integer",
            "description": "Real estate only. Maximum number of rooms."
          },
          "bathroomsMin": {
            "title": "Min bathrooms",
            "minimum": 1,
            "type": "integer",
            "description": "Real estate only. Minimum number of bathrooms."
          },
          "buildingCondition": {
            "title": "Building condition",
            "type": "array",
            "description": "Real estate only. Filter by property condition. Choose one or more.",
            "items": {
              "type": "string",
              "enum": [
                "10",
                "20",
                "30",
                "40"
              ],
              "enumTitles": [
                "New build",
                "Excellent",
                "Good",
                "To renovate"
              ]
            }
          },
          "jobCategory": {
            "title": "Job sector",
            "type": "array",
            "description": "Jobs only. Filter by job sector. Choose one or more.",
            "items": {
              "type": "string",
              "enum": [
                "100",
                "101",
                "102",
                "103",
                "104",
                "105",
                "106",
                "107",
                "108",
                "109",
                "110",
                "111",
                "112",
                "113",
                "114",
                "115",
                "116",
                "117",
                "118",
                "119",
                "120",
                "121",
                "122",
                "123",
                "124"
              ]
            }
          },
          "contractType": {
            "title": "Contract type",
            "type": "array",
            "description": "Jobs only. Filter by contract type. Choose one or more.",
            "items": {
              "type": "string",
              "enum": [
                "agent",
                "apprentice",
                "ind",
                "project",
                "stage",
                "tdet",
                "zzzzzother"
              ],
              "enumTitles": [
                "Agent / representative",
                "Apprenticeship",
                "Permanent",
                "Project / freelance",
                "Internship",
                "Fixed-term",
                "Other"
              ]
            }
          },
          "workHours": {
            "title": "Working hours",
            "enum": [
              "fulltime",
              "parttime",
              "shift",
              "zzzzzother"
            ],
            "type": "string",
            "description": "Jobs only. Filter by working hours."
          },
          "educationDegree": {
            "title": "Education level",
            "enum": [
              "1",
              "2",
              "3",
              "4"
            ],
            "type": "string",
            "description": "Jobs only. Filter by required education level."
          },
          "startUrls": {
            "title": "Start URLs",
            "type": "array",
            "description": "Paste subito.it search URLs (/annunci-italia/...) or listing detail URLs (ending in .htm). Search URLs are parsed into search parameters; a detail URL enriches that single ad. Can be combined with a keyword search — the URL wins for each entry it covers.",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "scrapeDetail": {
            "title": "Fetch full vehicle details",
            "type": "boolean",
            "description": "Vehicles only (category Cars & motors). When on, opens each vehicle's page to add full technical specs (engine size, kW/HP, cylinders, gears, drive, dimensions, weight) and the complete equipment/optionals list. Adds one request per vehicle. Other categories already return their full data from search and are unaffected.",
            "default": false
          },
          "scrapeReviews": {
            "title": "Fetch seller reputation",
            "type": "boolean",
            "description": "When on, fetch each unique seller's public reputation once and attach it to their listings. Adds one request per unique seller. Individual written review texts are not publicly available; only the aggregate reputation is returned.",
            "default": false
          },
          "maxItems": {
            "title": "Max items (total)",
            "minimum": 1,
            "type": "integer",
            "description": "Hard cap on the total number of listings across all searches and URLs."
          },
          "maxItemsPerQuery": {
            "title": "Max items per search",
            "minimum": 1,
            "type": "integer",
            "description": "Per-search / per-URL cap for multi-search runs. Leave empty for no per-search limit (still bounded by Max items)."
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Residential proxy is required for reliable access; the actor defaults the country to Italy.",
            "default": {
              "useApifyProxy": true,
              "apifyProxyGroups": [
                "RESIDENTIAL"
              ],
              "apifyProxyCountry": "IT"
            }
          },
          "mcpConnectors": {
            "title": "Pipe results into your apps (optional)",
            "type": "array",
            "description": "Optionally send the scraped results into the apps you already use, via Model Context Protocol (MCP) connectors. Authorize a connector once under Apify → Settings → Integrations, then select it here. The connector receives a condensed, human-readable summary per item (title + key fields), not the full JSON — the complete record stays in the dataset. Leave empty to skip. Supported: Apify (https://mcp.apify.com)."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}