{
  "openapi": "3.0.1",
  "info": {
    "title": "Gelbe Seiten Scraper - German Yellow Pages Business Directory",
    "description": "Scrape Gelbe Seiten (German Yellow Pages) business listings. Search by category (Branche) and city (Ort), or fetch full business profiles by URL. Get names, addresses, phone numbers, ratings, opening hours, websites, and more.",
    "version": "1.0",
    "x-build-id": "saUzzerSxCrL7rOdk"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/crawlerbros~gelbeseiten-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-crawlerbros-gelbeseiten-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/crawlerbros~gelbeseiten-scraper/runs": {
      "post": {
        "operationId": "runs-sync-crawlerbros-gelbeseiten-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/crawlerbros~gelbeseiten-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-crawlerbros-gelbeseiten-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": [
          "mode"
        ],
        "properties": {
          "mode": {
            "title": "Mode",
            "enum": [
              "search",
              "detail"
            ],
            "type": "string",
            "description": "What to fetch: search a category + city, or fetch full business profiles from direct URLs.",
            "default": "search"
          },
          "category": {
            "title": "Category (Branche)",
            "enum": [
              "custom",
              "Klempner",
              "Restaurant",
              "Rechtsanwalt",
              "Zahnarzt",
              "Arzt",
              "Allgemeinarzt",
              "Friseur",
              "Hotel",
              "Elektroinstallation",
              "Dachdecker",
              "Maler",
              "Steuerberater",
              "Immobilien",
              "Gartenbau & Landschaftsbau",
              "Bestatter",
              "Physiotherapie",
              "Tierarzt",
              "Apotheke",
              "Optiker",
              "Fahrschule",
              "Kfz-Werkstatt",
              "Gebäudereinigung",
              "Umzugsunternehmen",
              "Bäckerei",
              "Metzgerei",
              "Kosmetikstudio",
              "Massage",
              "Fitnessstudio",
              "Sanitärinstallation",
              "Heizung & Sanitär",
              "Schreiner",
              "Fenster",
              "Kanalreinigung",
              "Rohrreinigung",
              "Kammerjäger",
              "Logopädie",
              "Bauunternehmen",
              "Notar",
              "Architekt",
              "Versicherungsmakler",
              "Nachhilfe"
            ],
            "type": "string",
            "description": "Business category to search for. Pick a common category from the list, or choose 'Custom category' and type your own in the field below (mode=search).",
            "default": "Klempner"
          },
          "customCategory": {
            "title": "Custom category (overrides selection above)",
            "type": "string",
            "description": "Free-text Branche/category not in the curated list above, e.g. 'Fensterreinigung' or 'Yoga-Studio' (mode=search). Takes priority over 'Category' when set."
          },
          "city": {
            "title": "City / location (Ort)",
            "type": "string",
            "description": "German city, town, or postal code to search in, e.g. 'Berlin', 'München', 'Köln', 'Hamburg' (mode=search).",
            "default": "Berlin"
          },
          "sortBy": {
            "title": "Sort order",
            "enum": [
              "relevanz",
              "bewertung",
              "entfernung"
            ],
            "type": "string",
            "description": "How to order search results (mode=search).",
            "default": "relevanz"
          },
          "radiusKm": {
            "title": "Search radius (km)",
            "minimum": 0,
            "maximum": 50,
            "type": "integer",
            "description": "Widen the search beyond Gelbe Seiten's own default area for the city by this radius in kilometers. Leave at 0 to use the site's default (typically the city plus its immediate surrounding area -- Gelbe Seiten city searches are not strictly bounded to city limits even at 0). Every result includes its own 'city' and 'distanceKm' fields so you can filter precisely (mode=search).",
            "default": 0
          },
          "openNowOnly": {
            "title": "Open now only",
            "type": "boolean",
            "description": "Only return businesses that are currently open (mode=search).",
            "default": false
          },
          "includeRelatedCategories": {
            "title": "Include related categories",
            "type": "boolean",
            "description": "Broaden the search to include closely related business categories, not just an exact category match (mode=search).",
            "default": false
          },
          "minRating": {
            "title": "Minimum rating",
            "minimum": 1,
            "maximum": 5,
            "type": "integer",
            "description": "Only keep businesses with at least this star rating (1-5). Businesses without any rating are always kept."
          },
          "fetchDetails": {
            "title": "Fetch full business profiles",
            "type": "boolean",
            "description": "For each search result, also visit its business profile page to collect opening hours per weekday, precise coordinates, email, payment methods, and all listed categories. Slower (mode=search).",
            "default": false
          },
          "businessUrls": {
            "title": "Business profile URLs (mode=detail)",
            "type": "array",
            "description": "Direct Gelbe Seiten business profile URLs to fetch, e.g. https://www.gelbeseiten.de/gsbiz/&lt;id&gt;. Use the 'sourceUrl' field from search results.",
            "items": {
              "type": "object",
              "properties": {
                "url": {
                  "title": "URL",
                  "type": "string",
                  "description": "Gelbe Seiten business profile URL."
                }
              }
            },
            "default": []
          },
          "maxItems": {
            "title": "Max items",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "Hard cap on the number of business records to return.",
            "default": 50
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}