{
  "openapi": "3.0.1",
  "info": {
    "title": "Subito.it Scraper [$2.5💰] Cars · Property · Jobs & More",
    "description": "Scrape Subito.it Italian classifieds across every category — cars, real estate, electronics, jobs and goods. Title, full description, price, condition, category features (year/mileage/fuel…), location, images and seller. Paste a search URL or build one from filters",
    "version": "0.0",
    "x-build-id": "FdvIvXOVDeM9rQSry"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/memo23~subito-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-memo23-subito-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/memo23~subito-scraper/runs": {
      "post": {
        "operationId": "runs-sync-memo23-subito-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/memo23~subito-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-memo23-subito-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": [
          "searchUrls"
        ],
        "properties": {
          "searchUrls": {
            "title": "Subito URLs",
            "type": "array",
            "description": "Full subito.it URLs to crawl. Search URLs auto-paginate (30 listings per page); annuncio URLs are scraped directly.",
            "items": {
              "type": "string"
            }
          },
          "category": {
            "title": "Category",
            "enum": [
              "usato",
              "auto",
              "moto-e-scooter",
              "veicoli-commerciali",
              "caravan-e-camper",
              "nautica",
              "immobili",
              "telefonia",
              "informatica",
              "elettronica",
              "console-e-videogiochi",
              "audio-video",
              "fotografia",
              "arredamento-e-casalinghi",
              "giardino-e-fai-da-te",
              "abbigliamento-e-accessori",
              "tutto-per-i-bambini",
              "sports-e-hobby",
              "musica-e-film",
              "libri-e-riviste",
              "animali",
              "lavoro",
              "collezionismo"
            ],
            "type": "string",
            "description": "Subito category to search."
          },
          "region": {
            "title": "Region",
            "enum": [
              "italia",
              "abruzzo",
              "basilicata",
              "calabria",
              "campania",
              "emilia-romagna",
              "friuli-venezia-giulia",
              "lazio",
              "liguria",
              "lombardia",
              "marche",
              "molise",
              "piemonte",
              "puglia",
              "sardegna",
              "sicilia",
              "toscana",
              "trentino-alto-adige",
              "umbria",
              "valle-d-aosta",
              "veneto"
            ],
            "type": "string",
            "description": "Italian region to scope the search to. Choose 'All Italy' for nationwide."
          },
          "operation": {
            "title": "Operation",
            "enum": [
              "vendita",
              "affitto"
            ],
            "type": "string",
            "description": "Transaction type. 'For sale' works for every category; 'For rent' is for real estate (immobili)."
          },
          "query": {
            "title": "Keyword query",
            "type": "string",
            "description": "Free-text keyword to search for (the ?q= parameter), e.g. 'bmw serie 1' or 'iphone 14'. Optional."
          },
          "fetchSellerProfile": {
            "title": "Fetch seller profile (name, reputation, member-since, reply-time)",
            "type": "boolean",
            "description": "When enabled, each unique seller is looked up via Subito's public trust API to add sellerName, sellerMemberSince, sellerVerified, sellerReputationScore, sellerFeedbackCount and sellerReplyTime. One cached call per seller. Reliable and recommended for lead-gen.",
            "default": false
          },
          "fetchSellerPhone": {
            "title": "Attempt seller phone (best-effort)",
            "type": "boolean",
            "description": "When enabled, attempts to reveal the seller's phone number per listing. Subito gates this behind DataDome, so it is BEST-EFFORT and frequently returns null — and it adds one request per listing (slower, higher block risk). Leave off unless you specifically need phone numbers.",
            "default": false
          },
          "enrichEmails": {
            "title": "Enrich company sellers with contact emails (experimental, free)",
            "type": "boolean",
            "description": "When enabled, company/dealer advertisers are run through website discovery (Clearbit) + contact-page scraping to find a contact email. ~97% of Subito sellers are private individuals with no website, so this only ever returns data for the rare company/dealer. Best-effort and free.",
            "default": false
          },
          "maxItems": {
            "title": "Maximum items to scrape",
            "minimum": 1,
            "type": "integer",
            "description": "Hard cap on the number of listings collected. Subito searches can return tens of thousands of results, so always set a sensible cap to control billing.",
            "default": 1000
          },
          "maxConcurrency": {
            "title": "Max concurrency",
            "minimum": 1,
            "type": "integer",
            "description": "Maximum number of pages/enrichment calls processed in parallel.",
            "default": 10
          },
          "minConcurrency": {
            "title": "Min concurrency",
            "minimum": 1,
            "type": "integer",
            "description": "Minimum number of pages processed in parallel.",
            "default": 1
          },
          "maxRequestRetries": {
            "title": "Max request retries",
            "minimum": 0,
            "type": "integer",
            "description": "Number of retries before a failed request is given up.",
            "default": 5
          },
          "proxy": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Apify proxy settings. Subito uses DataDome anti-bot, so residential proxies are recommended for large runs; the listing approach (30 results per fetch) keeps request volume low.",
            "default": {
              "useApifyProxy": true,
              "apifyProxyGroups": [
                "RESIDENTIAL"
              ]
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}