Skip to content
Youths Forum Youths Forum Youths Forum

Tech Blogs & Programming Tutorials

Youths Forum Youths Forum Youths Forum

Tech Blogs & Programming Tutorials

  • Blog
  • News
  • Programming
    • PHP
    • JavaScript
    • JQuery
    • CSS
    • HTML
    • API
  • Stock Market Live
  • Automobiles
    • Cars
  • Gadgets
    • Phones
    • Android Phones

Categories

  • Automobiles (12)
    • Cars (7)
  • Blog (103)
    • Poems (2)
    • Space (2)
  • Command (2)
  • Education (2)
  • Entertainment (4)
  • Gadgets (9)
    • Phones (8)
      • Android Phones (4)
  • HTML Templates (11)
  • IT Training Institutes (1)
  • Lifestyle (4)
  • News (51)
  • Others (23)
  • Programming (296)
    • API (16)
    • CSS (83)
    • Database (4)
    • Hosting (1)
    • HTML (37)
    • JavaScript (117)
      • JQuery (27)
      • ReactJS (7)
    • PHP (116)
  • Python (3)
  • recipes (1)
  • SEE Result (1)
  • Server (3)
  • Blog
  • News
  • Programming
    • PHP
    • JavaScript
    • JQuery
    • CSS
    • HTML
    • API
  • Stock Market Live
  • Automobiles
    • Cars
  • Gadgets
    • Phones
    • Android Phones
Close

Search

PHP

Get WHOIS information using PHP

By Admin
June 2, 2022 4 Min Read
0

In this tutorial, we will be using PHP API to get the WHOIS records and ownership details of any domain name, like owner name, email address, country, creation, last updated, expiration, location of both registrar and domain in the JSON format.

What is WHOIS ?

WHOIS is a query and response protocol that is widely used for querying databases that store the registered users or assignees of an Internet resource, such as a domain name, an IP address block or an autonomous system.

We will be using API from whoisfreaks.com that provides well-parsed and structured domain WHOIS data for all domain names, registrars and countries.

We can easily fetch the WHOIS information with a simple get request to the following API endpoint :

https://api.whoisfreaks.com/v1.0/whois?apiKey={API_KEY}&whois=live&domainName={DOMAIN_NAME}

where

API_KEY => get your own key from here whoisfreaks.com
DOMAIN_NAME => domain name we want to query (like google.com)

Follow this video for complete guidance :

 

 

First, we will create a form to input the name of domain :

<form action="" method="get">
    <input type="text" name="domain" class="form-control" placeholder="abc.com" required>
</form>

Now, we can call the API from PHP as :

$api = "https://api.whoisfreaks.com/v1.0/whois?apiKey=".$api_key."&whois=live&domainName=".$domain;
$response = file_get_contents($api);

The following is the complete working source code to query the WHOIS information of a specific domain name :

Note : Just replace {YOUR_API_KEY} with your actual API Key provided by whoisfreaks.com

<link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.6.1/css/bootstrap.min.css">

<style type="text/css">
    body{
        background: #eee;
    }
    .font-light{
        color: #757575;
    }
</style>

<div class="container mt-5">
    <div class="row d-flex align-items-centers justify-content-center">
        <div class="col-6">
            <div class="card mb-3">
                <div class="card-header">
                    Whois Data
                </div>
                <div class="card-body">
                    <form action="" method="get">
                        <input type="text" name="domain" class="form-control" placeholder="abc.com" required>
                    </form>
                </div>
            </div>
        </div>
    </div>




<hr>

<?php 

$api_key = {YOUR_API_KEY};

if(isset($_GET['domain']) && $_GET['domain']!=''){
    $domain = $_GET['domain'];
    if(file_exists($domain)){
        $api = $domain;
        $response = file_get_contents($api);
    }else{
        $api = "https://api.whoisfreaks.com/v1.0/whois?apiKey=".$api_key."&whois=live&domainName=".$domain;
        $response = file_get_contents($api);
        file_put_contents($domain, $response);
    }
    $response = json_decode($response);
    if(isset($response->status) && $response->status){?>
        <h3 class="text-center m-4"><?php echo $response->domain_name;?></h3>
        
        <div class="row">
            <div class="col-6">
                <div class="card mb-3">
                    <div class="card-header">
                        <h4>Domain Information</h4>
                    </div>
                    <div class="card-body">
                        <div class="row">
                            <div class="col-4 font-light">
                                <p>Domain :</p>
                            </div>
                            <div class="col-8">
                                <p><?php echo $response->domain_name;?></p>
                            </div>
                        </div>
                        <div class="row">
                            <div class="col-4 font-light">
                                <p>Registrar :</p>
                            </div>
                            <div class="col-8">
                                <p><?php echo $response->domain_registrar->registrar_name;?></p>
                            </div>
                        </div>
                        <div class="row">
                            <div class="col-4 font-light">
                                <p>Registered On :</p>
                            </div>
                            <div class="col-8">
                                <p><?php echo $response->create_date;?></p>
                            </div>
                        </div>
                        <div class="row">
                            <div class="col-4 font-light">
                                <p>Expires On :</p>
                            </div>
                            <div class="col-8">
                                <p><?php echo $response->expiry_date;?></p>
                            </div>
                        </div>
                        <div class="row">
                            <div class="col-4 font-light">
                                <p>Updated On :</p>
                            </div>
                            <div class="col-8">
                                <p><?php echo $response->update_date;?></p>
                            </div>
                        </div>
                        <div class="row">
                            <div class="col-4 font-light">
                                <p>Status :</p>
                            </div>
                            <div class="col-8">
                                <p><?php echo implode('<br>', $response->domain_status);?></p>
                            </div>
                        </div>
                        <div class="row">
                            <div class="col-4 font-light">
                                <p>Name Servers :</p>
                            </div>
                            <div class="col-8">
                                <p><?php echo implode('<br>',$response->name_servers);?></p>
                            </div>
                        </div>
                    </div>
                </div>
            </div>

            <div class="col-6">
                <div class="card mb-3">
                    <div class="card-header">
                        <h4>Registrant Contact</h4>
                    </div>
                    <div class="card-body">
                        <div class="row">
                            <div class="col-4 font-light">
                                <p>Name :</p>
                            </div>
                            <div class="col-8">
                                <p><?php echo $response->registrant_contact->name;?></p>
                            </div>
                        </div>
                        <div class="row">
                            <div class="col-4 font-light">
                                <p>Organization :</p>
                            </div>
                            <div class="col-8">
                                <p><?php echo $response->registrant_contact->company;?></p>
                            </div>
                        </div>
                        <div class="row">
                            <div class="col-4 font-light">
                                <p>Street :</p>
                            </div>
                            <div class="col-8">
                                <p><?php echo $response->registrant_contact->street;?></p>
                            </div>
                        </div>
                        <div class="row">
                            <div class="col-4 font-light">
                                <p>City :</p>
                            </div>
                            <div class="col-8">
                                <p><?php echo $response->registrant_contact->city;?></p>
                            </div>
                        </div>
                        <div class="row">
                            <div class="col-4 font-light">
                                <p>State :</p>
                            </div>
                            <div class="col-8">
                                <p><?php echo $response->registrant_contact->state;?></p>
                            </div>
                        </div>
                        <div class="row">
                            <div class="col-4 font-light">
                                <p>Postal Code :</p>
                            </div>
                            <div class="col-8">
                                <p><?php echo $response->registrant_contact->zip_code;?></p>
                            </div>
                        </div>
                        <div class="row">
                            <div class="col-4 font-light">
                                <p>Country :</p>
                            </div>
                            <div class="col-8">
                                <p><?php echo $response->registrant_contact->country_code;?></p>
                            </div>
                        </div>
                        <div class="row">
                            <div class="col-4 font-light">
                                <p>Phone :</p>
                            </div>
                            <div class="col-8">
                                <p><?php echo $response->registrant_contact->phone;?></p>
                            </div>
                        </div>
                        <div class="row">
                            <div class="col-4 font-light">
                                <p>Fax :</p>
                            </div>
                            <div class="col-8">
                                <p><?php echo @$response->registrant_contact->fax;?></p>
                            </div>
                        </div>
                        <div class="row">
                            <div class="col-4 font-light">
                                <p>Email :</p>
                            </div>
                            <div class="col-8">
                                <p><?php echo $response->registrant_contact->email_address;?></p>
                            </div>
                        </div>
                    </div>
                </div>
            </div>

            <div class="col-6">
                <div class="card mb-3">
                    <div class="card-header">
                        <h4>Administrative Contact</h4>
                    </div>
                    <div class="card-body">
                        <div class="row">
                            <div class="col-4 font-light">
                                <p>Name :</p>
                            </div>
                            <div class="col-8">
                                <p><?php echo $response->administrative_contact->name;?></p>
                            </div>
                        </div>
                        <div class="row">
                            <div class="col-4 font-light">
                                <p>Organization :</p>
                            </div>
                            <div class="col-8">
                                <p><?php echo $response->administrative_contact->company;?></p>
                            </div>
                        </div>
                        <div class="row">
                            <div class="col-4 font-light">
                                <p>Street :</p>
                            </div>
                            <div class="col-8">
                                <p><?php echo $response->administrative_contact->street;?></p>
                            </div>
                        </div>
                        <div class="row">
                            <div class="col-4 font-light">
                                <p>City :</p>
                            </div>
                            <div class="col-8">
                                <p><?php echo $response->administrative_contact->city;?></p>
                            </div>
                        </div>
                        <div class="row">
                            <div class="col-4 font-light">
                                <p>State :</p>
                            </div>
                            <div class="col-8">
                                <p><?php echo $response->administrative_contact->state;?></p>
                            </div>
                        </div>
                        <div class="row">
                            <div class="col-4 font-light">
                                <p>Postal Code :</p>
                            </div>
                            <div class="col-8">
                                <p><?php echo $response->administrative_contact->zip_code;?></p>
                            </div>
                        </div>
                        <div class="row">
                            <div class="col-4 font-light">
                                <p>Country :</p>
                            </div>
                            <div class="col-8">
                                <p><?php echo $response->administrative_contact->country_code;?></p>
                            </div>
                        </div>
                        <div class="row">
                            <div class="col-4 font-light">
                                <p>Phone :</p>
                            </div>
                            <div class="col-8">
                                <p><?php echo $response->administrative_contact->phone;?></p>
                            </div>
                        </div>
                        <div class="row">
                            <div class="col-4 font-light">
                                <p>Fax :</p>
                            </div>
                            <div class="col-8">
                                <p><?php echo @$response->administrative_contact->fax;?></p>
                            </div>
                        </div>
                        <div class="row">
                            <div class="col-4 font-light">
                                <p>Email :</p>
                            </div>
                            <div class="col-8">
                                <p><?php echo $response->administrative_contact->email_address;?></p>
                            </div>
                        </div>
                    </div>
                </div>
            </div>

            <div class="col-6">
                <div class="card mb-3">
                    <div class="card-header">
                        <h4>Technical Contact</h4>
                    </div>
                    <div class="card-body">
                        <div class="row">
                            <div class="col-4 font-light">
                                <p>Name :</p>
                            </div>
                            <div class="col-8">
                                <p><?php echo $response->technical_contact->name;?></p>
                            </div>
                        </div>
                        <div class="row">
                            <div class="col-4 font-light">
                                <p>Organization :</p>
                            </div>
                            <div class="col-8">
                                <p><?php echo $response->technical_contact->company;?></p>
                            </div>
                        </div>
                        <div class="row">
                            <div class="col-4 font-light">
                                <p>Street :</p>
                            </div>
                            <div class="col-8">
                                <p><?php echo $response->technical_contact->street;?></p>
                            </div>
                        </div>
                        <div class="row">
                            <div class="col-4 font-light">
                                <p>City :</p>
                            </div>
                            <div class="col-8">
                                <p><?php echo $response->technical_contact->city;?></p>
                            </div>
                        </div>
                        <div class="row">
                            <div class="col-4 font-light">
                                <p>State :</p>
                            </div>
                            <div class="col-8">
                                <p><?php echo $response->technical_contact->state;?></p>
                            </div>
                        </div>
                        <div class="row">
                            <div class="col-4 font-light">
                                <p>Postal Code :</p>
                            </div>
                            <div class="col-8">
                                <p><?php echo $response->technical_contact->zip_code;?></p>
                            </div>
                        </div>
                        <div class="row">
                            <div class="col-4 font-light">
                                <p>Country :</p>
                            </div>
                            <div class="col-8">
                                <p><?php echo $response->technical_contact->country_code;?></p>
                            </div>
                        </div>
                        <div class="row">
                            <div class="col-4 font-light">
                                <p>Phone :</p>
                            </div>
                            <div class="col-8">
                                <p><?php echo $response->technical_contact->phone;?></p>
                            </div>
                        </div>
                        <div class="row">
                            <div class="col-4 font-light">
                                <p>Fax :</p>
                            </div>
                            <div class="col-8">
                                <p><?php echo @$response->technical_contact->fax;?></p>
                            </div>
                        </div>
                        <div class="row">
                            <div class="col-4 font-light">
                                <p>Email :</p>
                            </div>
                            <div class="col-8">
                                <p><?php echo $response->technical_contact->email_address;?></p>
                            </div>
                        </div>
                    </div>
                </div>                
            </div>

            <div class="col-12">
                <div class="card mb-3">
                    <div class="card-header">
                        <h4>Raw Whois Data</h4>
                    </div>
                    <div class="card-body">
                        <p><?php echo nl2br($response->registry_data->whois_raw_registery);?></p>
                    </div>
                </div>
                
            </div>

        </div>
    <?php } else{
        echo '<h3>'.$domain.' : Domain Not Available</h3>';
    }
}

?>



</div>

 

Tags:

PHPwhois
Author

Admin

Follow Me
Other Articles
Previous

Rotating Border Animation using CSS

Next

Minify HTML, JavaScript and CSS using PHP

No Comment! Be the first one.

Leave a Reply

Your email address will not be published. Required fields are marked *

FIFA World Cup 2026 Predict and Win by SportsGuff

Recent Posts

  • Unpacking Nepal’s Record Rs 2.12 Trillion Budget and What It Means for You
  • How to Write a Strong Scholarship Application: The Ultimate Step-by-Step Guide
  • How to Prepare for Exams Without Stress: The Ultimate Science-Backed Guide
  • Chiranjibi Adhikari Appointed Acting President of CAN Federation
  • How to Design a Student Marksheet Using HTML and CSS

Tags

adsense ai animate animation animation using HTML and CSS API blog calculator chatgpt Cryptocurrency CSS css animation design Email Facebook featured filemanager file manager free template google htaccess HTML image Instagram interview javascript JQuery jquery ui NADA AutoShow NADA Auto Show 2024 password PHP Progressive Web App PWA QR random react reactjs Rotate travel Twitter vpn youthforum youthsforum youtube

About Us

At Youths Forum, we are passionate about sharing knowledge that empowers students, educators, professionals, and technology enthusiasts.

Our Mission

Our mission is simple: to make technology and education accessible, understandable, and beneficial for everyone. We strive to create content that helps our readers learn new skills and stay updated with industry developments.

RSS RSS

  • Unpacking Nepal’s Record Rs 2.12 Trillion Budget and What It Means for You Admin
  • How to Write a Strong Scholarship Application: The Ultimate Step-by-Step Guide Admin
  • How to Prepare for Exams Without Stress: The Ultimate Science-Backed Guide Admin

Quick Links

  • Stock Market Live
  • Parliament Election 2082
Copyright 2026 — Youths Forum. All rights reserved. Blogsy WordPress Theme