{
  "openapi": "3.0.1",
  "info": {
    "title": "Free Imprint Scraper – Website Contact Details, Email & VAT",
    "description": "Free, up to 10 websites per run: reads the imprint (Impressum, legal notice) of sites in Germany, Austria, Switzerland – company name, address, register number, VAT number checked in EU VIES, email, phone, socials. Over 10 sites per run: perceptr0n/imprint-impressum-website-contact-scraper.",
    "version": "0.1",
    "x-build-id": "AbSm4NTAPNRSgezxo"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/perceptr0n~free-website-contact-imprint-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-perceptr0n-free-website-contact-imprint-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/perceptr0n~free-website-contact-imprint-scraper/runs": {
      "post": {
        "operationId": "runs-sync-perceptr0n-free-website-contact-imprint-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/perceptr0n~free-website-contact-imprint-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-perceptr0n-free-website-contact-imprint-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": {
          "search": {
            "title": "Search: a trade and a place",
            "type": "string",
            "description": "Provide either `search` or `websites`. Type a trade and a place instead of pasting domains — e.g. `Zahnärzte in Hamburg`, `dentists in Hamburg`, `Bäckereien Köln`, `Steuerberater in Wien`. Businesses are looked up in OpenStreetMap (© OpenStreetMap contributors, ODbL) and their websites enriched from the imprint — up to 10 per run in this free version. When set, `websites` is ignored."
          },
          "websites": {
            "title": "Websites",
            "type": "array",
            "description": "Provide either `websites` or `search`. Domains or URLs — e.g. `liebherr.com`, `https://www.sap.com`, `tuwien.at`. Paste as many as you like: **this free version processes 10 distinct websites per run, in list order** (duplicates are merged first and do not use up a slot); the status message and the run report (OUTPUT) list the rest and where to get the unlimited version. Germany, Austria and Switzerland are covered. Ignored when `search` is set.",
            "items": {
              "type": "string"
            },
            "default": [
              "liebherr.com",
              "frischpack.de",
              "tuwien.at"
            ]
          },
          "validate_vat": {
            "title": "Verify the VAT ID against the official EU register (VIES)",
            "type": "boolean",
            "description": "ON by default. Every VAT ID found is checked against the EU's VIES service: `vatStatus` is `valid` or `invalid` only when VIES said so, `unavailable` (`vatValid: null`) when VIES or a member state's register is down — after three tries and a second pass at the end of the run; an outage is never reported as invalid. Swiss UIDs are outside the EU system (`not_checked`). Austria, Italy, Spain and most other member states also return the registered name and address; Germany discloses validity only.",
            "default": true
          },
          "requester_vat_id": {
            "title": "Your own EU VAT ID (optional, for a VIES consultation number)",
            "type": "string",
            "description": "Optional. If you enter your own EU VAT ID (e.g. `DE123456789`), it is sent to VIES as the requester, and VIES returns a consultation number for every check (`vatRequestIdentifier`) that documents that and when you checked. Per the VIES API documentation the number is only issued with requester data. If VIES rejects your ID, the checks still run, without the number. Leave empty to check without identifying yourself."
          },
          "allow_contact_page": {
            "title": "Fall back to the contact page when no legal notice exists",
            "type": "boolean",
            "description": "ON by default. If a site publishes no imprint, the contact page is read instead and the row is marked `foundVia: contact page` with `impressumFound: false` — you still get the address and the mail box, and you can see exactly where the data came from.",
            "default": true
          },
          "web_fetch": {
            "title": "Read sites we cannot read ourselves through Apify's Web Fetch",
            "type": "boolean",
            "description": "OFF by default in this free version. When ON, sites it cannot read with a plain request — they refuse automated requests, do not answer or draw their pages with JavaScript — are searched once more through Apify's own Web Fetch actor. It runs on your Apify account and Apify bills it there: $0.0015 per delivered page plus $0.00005 per call start on the free plan (Apify Store, 13 October 2026), at most 6 pages and about $0.01 per such site. Rows read this way say `foundVia: Apify Web Fetch`. In a test list of 39 large DACH websites 8 turned automated requests away (12 October 2026).",
            "default": false
          },
          "include_person_names": {
            "title": "Include managing directors and other person names",
            "type": "boolean",
            "description": "OFF by default. Person names in a legal notice are personal data under GDPR — switch this on only if you have a lawful basis for processing them. Company data, address, register and VAT number are returned either way.",
            "default": false
          },
          "osm_filter": {
            "title": "OpenStreetMap tag filter (advanced)",
            "type": "string",
            "description": "For trades the search does not know, e.g. `[\"amenity\"=\"dentist\"]`, together with `location` below."
          },
          "location": {
            "title": "Location for the tag filter (advanced)",
            "type": "string",
            "description": "City, district, county or state — e.g. `Wien`, `Hamburg`, `Bayern`. Needed only with the tag filter above."
          }
        }
      },
      "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}