diff --git a/app/MetaGer.php b/app/MetaGer.php
index 44e60475f08747f39e7689c0c158c00ba8a23701..e61f4e82c09dc7b40436a7d86096440326ad56a5 100644
--- a/app/MetaGer.php
+++ b/app/MetaGer.php
@@ -208,10 +208,10 @@ class MetaGer
                     break;
                 
                 case 'api':
-                    return view('resultpages.metager3resultsatom10',['eingabe' => $this->eingabe, 'resultcount' => sizeof($viewResults), 'key' => $this->apiKey, 'metager' => $this]);
+                    return view('resultpages.metager3resultsatom10', ['eingabe' => $this->eingabe, 'resultcount' => sizeof($viewResults), 'key' => $this->apiKey, 'metager' => $this]);
                     break;
                 case 'atom10':
-                    return view('resultpages.metager3resultsatom10',['eingabe' => $this->eingabe, 'resultcount' => sizeof($viewResults), 'key' => $this->apiKey, 'metager' => $this]);
+                    return view('resultpages.metager3resultsatom10', ['eingabe' => $this->eingabe, 'resultcount' => sizeof($viewResults), 'key' => $this->apiKey, 'metager' => $this]);
                     break;
                 case 'result-count':
                     # Wir geben die Ergebniszahl und die benötigte Zeit zurück:
@@ -425,7 +425,7 @@ class MetaGer
         if ($publicKey === false) {
             return true;
         }
-        $tldList = "";
+        $linkList = "";
         foreach ($results as $result) {
             if (!$result->new) {
                 continue;
@@ -434,18 +434,27 @@ class MetaGer
             if (strpos($link, "http") !== 0) {
                 $link = "http://" . $link;
             }
-            $tldList .= parse_url($link, PHP_URL_HOST) . ",";
+            $linkList .= $link . ",";
             $result->tld = parse_url($link, PHP_URL_HOST);
         }
-        $tldList = rtrim($tldList, ",");
+
+        $linkList = rtrim($linkList, ",");
 
         # Hashwert
-        $hash = md5("meta" . $publicKey . $tldList . "GER");
+        $hash = md5($linkList . $privateKey);
 
         # Query
         $query = $this->q;
 
-        $link = "https://api.smartredirect.de/api_v2/CheckForAffiliateUniversalsearchMetager.php?p=" . urlencode($publicKey) . "&k=" . urlencode($hash) . "&tld=" . urlencode($tldList) . "&q=" . urlencode($query);
+        $link = "https://xf.gdprvalidate.de/v4/check";
+
+        $postfields = [
+            "key" => $publicKey,
+            "panel" => "ZMkW9eSKJS",
+            "member" => "338b9Bnm",
+            "signature" => $hash,
+            "links" => $linkList
+        ];
 
         // Submit fetch job to worker
         $mission = [
@@ -454,9 +463,15 @@ class MetaGer
             "useragent" => "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:81.0) Gecko/20100101 Firefox/81.0",
             "username" => null,
             "password" => null,
-            "headers" => null,
+            "headers" => [
+                "Content-Type" => "application/x-www-form-urlencoded"
+            ],
             "cacheDuration" => 60,
             "name" => "Adgoal",
+            "curlopts" => [
+                CURLOPT_POST => true,
+                CURLOPT_POSTFIELDS => \http_build_query($postfields)
+            ]
         ];
         $mission = json_encode($mission);
         Redis::rpush(\App\MetaGer::FETCHQUEUE_KEY, $mission);
@@ -474,7 +489,7 @@ class MetaGer
         if ($hash === true) {
             return true;
         }
-
+        
         if ($waitForResult) {
             while (microtime(true) - $startTime < 5) {
                 $answer = Cache::get($hash);
@@ -490,10 +505,9 @@ class MetaGer
         if ($answer === null) {
             return false;
         }
+        
         try {
-            $answer = json_decode($answer);
-            $publicKey = getenv('adgoal_public');
-            $privateKey = getenv('adgoal_private');
+            $answer = json_decode($answer, true);
 
             # Nun müssen wir nur noch die Links für die Advertiser ändern:
             foreach ($results as $result) {
@@ -501,28 +515,22 @@ class MetaGer
                 $result->tld = parse_url($link, PHP_URL_HOST);
             }
 
-            foreach ($answer as $el) {
-                $hoster = $el[0];
-                $hash = $el[1];
+            foreach ($answer as $partnershop) {
+                $targetUrl = parse_url($partnershop["click_url"], PHP_URL_QUERY);
+                parse_str($targetUrl, $params);
+                $targetUrl = $params["url"];
 
                 foreach ($results as $result) {
-                    if ($hoster === $result->tld && !$result->partnershop) {
-                        # Hier ist ein Advertiser:
-                        # Das Logo hinzufügen:
+                    if ($result->link === $targetUrl && !$result->partnershop) {
+                        # Ein Advertiser gefunden
                         if ($result->image !== "") {
-                            $result->logo = "https://img.smartredirect.de/logos_v2/60x30/" . urlencode($hash) . ".gif";
+                            $result->logo = $partnershop["logo"];
                         } else {
-                            $result->image = "https://img.smartredirect.de/logos_v2/120x60/" . urlencode($hash) . ".gif";
+                            $result->image = $partnershop["logo"];
                         }
 
                         # Den Link hinzufügen:
-                        $targetUrl = $result->link;
-                        # Query
-                        $query = $this->q;
-
-                        $gateHash = md5($targetUrl . $privateKey);
-                        $newLink = "https://api.smartredirect.de/api_v2/ClickGate.php?p=" . urlencode($publicKey) . "&k=" . urlencode($gateHash) . "&url=" . urlencode($targetUrl) . "&q=" . urlencode($query);
-                        $result->link = $newLink;
+                        $result->link = $partnershop["click_url"];
                         $result->partnershop = true;
                         $result->changed = true;
                     }