{
  "openapi": "3.0.1",
  "info": {
    "title": "PagineGialle.it Business Directory Scraper",
    "description": "Scrape public business listings from PagineGialle.it. Search by Italian city and business category, collect names, phone numbers, addresses, profile URLs, websites and contact links when available, then export to JSON, CSV or Excel.",
    "version": "0.0",
    "x-build-id": "lywYsrXKP9TD9m3tD"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/ayrtondavoli97~paginegialle-it-business-directory-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-ayrtondavoli97-paginegialle-it-business-directory-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/ayrtondavoli97~paginegialle-it-business-directory-scraper/runs": {
      "post": {
        "operationId": "runs-sync-ayrtondavoli97-paginegialle-it-business-directory-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/ayrtondavoli97~paginegialle-it-business-directory-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-ayrtondavoli97-paginegialle-it-business-directory-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": {
          "categories": {
            "title": "Business Categories",
            "type": "array",
            "description": "Select one or more business categories to search for.",
            "items": {
              "type": "string",
              "enum": [
                "ristorante",
                "pizzeria",
                "bar",
                "pasticceria",
                "gelateria",
                "trattoria",
                "enoteca",
                "sushi",
                "dentista",
                "medico",
                "farmacia",
                "parrucchiere",
                "estetista",
                "fisioterapista",
                "psicologo",
                "ottico",
                "veterinario",
                "avvocato",
                "commercialista",
                "notaio",
                "architetto",
                "geometra",
                "agenzia-immobiliare",
                "agenzia-assicurativa",
                "idraulico",
                "elettricista",
                "falegname",
                "muratore",
                "impresa-edile",
                "officina-meccanica",
                "carrozzeria",
                "hotel",
                "bed-and-breakfast",
                "agriturismo",
                "palestra",
                "piscina",
                "scuola-guida",
                "supermercato",
                "ferramenta",
                "fiorista",
                "panificio"
              ],
              "enumTitles": [
                "🍽️ Restaurant",
                "🍕 Pizzeria",
                "☕ Bar / Café",
                "🎂 Pastry Shop",
                "🍦 Ice Cream Shop",
                "🍷 Trattoria",
                "🍾 Wine Bar",
                "🍱 Sushi",
                "🦷 Dentist",
                "👨‍⚕️ Doctor / GP",
                "💊 Pharmacy",
                "💇 Hair Salon",
                "💅 Beauty Salon",
                "🏃 Physiotherapist",
                "🧠 Psychologist",
                "👓 Optician",
                "🐾 Veterinarian",
                "⚖️ Lawyer",
                "📊 Accountant",
                "📜 Notary",
                "📐 Architect",
                "📏 Surveyor",
                "🏠 Real Estate Agency",
                "🛡️ Insurance Agency",
                "🔧 Plumber",
                "⚡ Electrician",
                "🪵 Carpenter",
                "🧱 Builder / Mason",
                "🏗️ Construction Company",
                "🔩 Auto Repair Shop",
                "🚗 Body Shop",
                "🏨 Hotel",
                "🛏️ Bed & Breakfast",
                "🌾 Farm Stay (Agriturismo)",
                "💪 Gym / Fitness",
                "🏊 Swimming Pool",
                "🚦 Driving School",
                "🛒 Supermarket",
                "🔨 Hardware Store",
                "🌸 Florist",
                "🥖 Bakery"
              ]
            },
            "default": [
              "ristorante"
            ]
          },
          "cities": {
            "title": "Cities",
            "type": "array",
            "description": "Select one or more Italian cities to search in.",
            "items": {
              "type": "string",
              "enum": [
                "roma",
                "milano",
                "napoli",
                "torino",
                "bologna",
                "firenze",
                "palermo",
                "genova",
                "venezia",
                "bari",
                "catania",
                "verona",
                "messina",
                "padova",
                "trieste",
                "brescia",
                "taranto",
                "prato",
                "modena",
                "parma",
                "livorno",
                "cagliari",
                "perugia",
                "foggia",
                "salerno",
                "reggio-emilia",
                "ravenna",
                "ferrara",
                "monza",
                "trento",
                "vicenza",
                "bergamo",
                "ancona",
                "siena",
                "pescara",
                "arezzo",
                "lecce",
                "rimini",
                "reggio-calabria",
                "cesena"
              ],
              "enumTitles": [
                "Rome",
                "Milan",
                "Naples",
                "Turin",
                "Bologna",
                "Florence",
                "Palermo",
                "Genoa",
                "Venice",
                "Bari",
                "Catania",
                "Verona",
                "Messina",
                "Padua",
                "Trieste",
                "Brescia",
                "Taranto",
                "Prato",
                "Modena",
                "Parma",
                "Livorno",
                "Cagliari",
                "Perugia",
                "Foggia",
                "Salerno",
                "Reggio Emilia",
                "Ravenna",
                "Ferrara",
                "Monza",
                "Trento",
                "Vicenza",
                "Bergamo",
                "Ancona",
                "Siena",
                "Pescara",
                "Arezzo",
                "Lecce",
                "Rimini",
                "Reggio Calabria",
                "Cesena"
              ]
            },
            "default": [
              "roma"
            ]
          },
          "customCategories": {
            "title": "Custom Categories (not in dropdown)",
            "type": "array",
            "description": "Add any category not listed above, one per line (e.g. 'tatuaggi', 'pompe-funebri', 'erboristeria'). Combined with all selected cities.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "customCities": {
            "title": "Custom Cities (not in dropdown)",
            "type": "array",
            "description": "Add any Italian city not listed above, one per line (e.g. 'barletta', 'cosenza', 'agrigento'). Combined with all selected categories.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "maxResults": {
            "title": "Max Results per Search",
            "minimum": 1,
            "maximum": 5000,
            "type": "integer",
            "description": "Maximum listings per category+city combination. Large cities (Rome/Milan) can yield 500–2500+ results per category.",
            "default": 200
          },
          "onlyWithPhone": {
            "title": "Only listings with phone number",
            "type": "boolean",
            "description": "Skip listings that don't have a phone number.",
            "default": false
          },
          "onlyWithWebsite": {
            "title": "Only listings with website",
            "type": "boolean",
            "description": "Skip listings that don't have a website URL.",
            "default": false
          },
          "onlyWithEmail": {
            "title": "Only listings with email",
            "type": "boolean",
            "description": "Skip listings that don't have an email address.",
            "default": false
          },
          "useApifyProxy": {
            "title": "Use Apify Proxy (recommended)",
            "type": "boolean",
            "description": "Use Apify datacenter proxies for IP rotation. Strongly recommended for multi-city/multi-category runs.",
            "default": true
          },
          "searches": {
            "title": "Advanced: Raw Search Queries",
            "type": "array",
            "description": "Expert mode: provide a custom JSON array of {\"what\": \"...\", \"where\": \"...\"} objects. When set, this overrides all dropdown selections above.",
            "default": []
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}