Impressum Extraction

Dynamically extracts specified fields from a domain's impressum page. Uses Brave Search to find the impressum, fetches the page, and uses AI to extract the requested fields.

Endpoint

GET /api/web-scraper/impressum-extract

Generate Code with AI

Copy a ready-made prompt with all the endpoint details, parameters, and example responses. Paste it into ChatGPT, Claude, or any AI assistant to instantly generate working code.

Parameters

domain string Required

The domain to search for impressum (e.g., example.com)

fields string Required

Comma-separated list of field names to extract (e.g., company_name,address,email,vat_id)

language string Optional

Language code for extracted values (e.g., de, en, fr). Country names and other localizable values will be returned in this language.

Request Examples

<?php

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, 'https://scrappa.co/api/web-scraper/impressum?domain=example.com&fields=company_name%2Caddress%2Cemail%2Cvat_id&language=de');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    'x-api-key: YOUR_API_KEY_HERE',
]);

$response = curl_exec($ch);
curl_close($ch);

echo $response;
<?php

use Illuminate\Support\Facades\Http;

$response = Http::withHeaders([
    'x-api-key' => 'YOUR_API_KEY_HERE',
])->get('https://scrappa.co/api/web-scraper/impressum?domain=example.com&fields=company_name%2Caddress%2Cemail%2Cvat_id&language=de');

return $response->json();
fetch('https://scrappa.co/api/web-scraper/impressum?domain=example.com&fields=company_name%2Caddress%2Cemail%2Cvat_id&language=de', {
  headers: {
    'x-api-key': 'YOUR_API_KEY_HERE'
  }
})
  .then(response => response.json())
  .then(data => console.log(data))
  .catch(error => console.error('Error:', error));
const axios = require('axios');

axios.get('https://scrappa.co/api/web-scraper/impressum?domain=example.com&fields=company_name%2Caddress%2Cemail%2Cvat_id&language=de', {
  headers: {
    'x-api-key': 'YOUR_API_KEY_HERE'
  }
})
  .then(response => console.log(response.data))
  .catch(error => console.error('Error:', error));
import requests

headers = {
    'x-api-key': 'YOUR_API_KEY_HERE'
}

response = requests.get('https://scrappa.co/api/web-scraper/impressum?domain=example.com&fields=company_name%2Caddress%2Cemail%2Cvat_id&language=de', headers=headers)
print(response.json())
require 'net/http'
require 'uri'
require 'json'

uri = URI.parse('https://scrappa.co/api/web-scraper/impressum?domain=example.com&fields=company_name%2Caddress%2Cemail%2Cvat_id&language=de')
request = Net::HTTP::Get.new(uri)
request['x-api-key'] = 'YOUR_API_KEY_HERE'

response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == 'https') do |http|
  http.request(request)
end

puts JSON.parse(response.body)
package main

import (
    "fmt"
    "io/ioutil"
    "net/http"
)

func main() {
    client := &http.Client{}
    req, _ := http.NewRequest("GET", "https://scrappa.co/api/web-scraper/impressum?domain=example.com&fields=company_name%2Caddress%2Cemail%2Cvat_id&language=de", nil)
    req.Header.Set("x-api-key", "YOUR_API_KEY_HERE")

    resp, err := client.Do(req)
    if err != nil {
        panic(err)
    }
    defer resp.Body.Close()

    body, _ := ioutil.ReadAll(resp.Body)
    fmt.Println(string(body))
}
curl -X GET 'https://scrappa.co/api/web-scraper/impressum?domain=example.com&fields=company_name%2Caddress%2Cemail%2Cvat_id&language=de' \
  -H 'x-api-key: YOUR_API_KEY_HERE'

Response Schema

JSON Response 200 OK
{
    "success": true,
    "data": {
        "company_name": "Example GmbH",
        "address": "Musterstra\u00dfe 1, 12345 Berlin",
        "email": "[email protected]",
        "vat_id": "DE123456789"
    },
    "impressum_url": "https://example.com/impressum",
    "error": null
}

Try It Live

Test this endpoint in our interactive playground with real data.

Open in Playground