NameSilo

GoDaddy hides the "Year" data from its past & similar sales in Appraisals?: Free Solution?

Located in Source Code, started by Save Breach, Jun 3, 2020

Replies:
20
Views:
4,752

  1. Save Breach

    Save Breach Established Member

    Posts:
    693
    Likes Received:
    1,077
    Strangely enough, GoDaddy hides the year of sale from its GoValue appraisal data on the web page, although its fetched through the API call.

    The solution to it is incredibly simple, make an API call and fetch the 'year' from it, along with the GoValue, etc.

    I made a project to build simple useful scripts for domainers that can save you a lot of time, and these can fetch GoValue of domains in bulk, through command line individually and see past similar sales through command line manually.

    Do you HATE the GoValue/GoDaddy appraisal web interface? then you may start using these command line tools (bash scripts) ;)

    Do you have more ideas on what free scripts you might need? Feel free to share in the thread

    You may star, and watch the github project to stay tuned to more updates.

    https://github.com/hackerpain/domaining
    On Windows - you may use CygWin, or, WSL Linux or, Linux VM to be able to use the shell scripts
    For any feedback, rants, help, or, just to thank me, be sure to PM me!

    Cheers,
    SaveBreach
     
    Last edited: Jun 3, 2020
    The views expressed on this page by users and staff are their own, not those of NamePros.
  2. Save Breach

    Save Breach Established Member

    Posts:
    693
    Likes Received:
    1,077
    Demo Screenshots:

    GD Past Sales with year


    [​IMG]

    GD Bulk Value

    [​IMG]

    GD Value Manually through command-line

    [​IMG]
     
  3. Save Breach

    Save Breach Established Member

    Posts:
    693
    Likes Received:
    1,077
    This tool doesn't need API Secret (or, login) to work. For increased rate limit, one needs to login though -> which i will implement later...

    Workaround as of now (without auth): is to either use longer time_interval for bulk_value like 5-10s if you have a lot of names.

    Code:
    bulk_value list.txt 5
    Improvement done: To bypass rate limit, as soon as the script detects that GoDaddy is trying to rate limit, the script waits (sleeps) for 10s, then the next time it faces rate limit, it sleeps for 20s, and so on...

    Do share your feedback and suggestions for improvement to the tool :)

    Cheers
     
    Last edited: Jun 4, 2020
  4. Save Breach

    Save Breach Established Member

    Posts:
    693
    Likes Received:
    1,077
    Implemented Setup Script for configuring API keys [Now auth is required for Bulk value, but for manual value, it will still work without auth]

    https://github.com/hackerpain/domaining/blob/master/setup.sh


    Code:
    chmod +x setup.sh
    ./setup
    
    # configure your GoDaddy ([B]prod, [/B]not OTE) and LogoLava API keys!

    Implemented Authenticated API calls

    Now with the improved version of the script, its possible to fetch all your GoDaddy domains and store them in a .txt file,

    https://github.com/hackerpain/domaining/blob/master/gddomains.sh

    Code:
    gd_domains godaddy-domains.txt
    then, you may use this cmd, to find the GoValue of your godaddy domains, and the output will be saved in godaddy-domains-value.txt
    Code:
    bulk_value godaddy-domains.txt time_interval
     
    Last edited: Jun 5, 2020
  5. mdrn

    mdrn Upgraded Member Gold Account

    Posts:
    825
    Likes Received:
    84
    Hey, thanks for sharing this. I just looked through your code.

    Going to run it right now!
     
  6. Save Breach

    Save Breach Established Member

    Posts:
    693
    Likes Received:
    1,077
    Do share your feedback, and let me know if you face any issues (y)

    Cheers!
     
  7. Save Breach

    Save Breach Established Member

    Posts:
    693
    Likes Received:
    1,077
    Installation Guide

    As the original post can't be edited, posting it separately.

    Windows

    There are 3 options (or, more? virtualization like Docker?), either install a Unix-based environment like Cygwin or, install the officially recommended WSL (or, Windows Subsystem Linux) or, run a Linux VM (using Virtual Box/VMWare/etc.)

    I suggest to install the Windows WSL Ubuntu from Windows' official app store. This is the easiest way to get started with a quick Linux environment on your windows box. Its based on Hyper-V and loads in a few milliseconds, its a lot more featured and optimized than its closest alt, Cygwin.

    Once its done, you can proceed to Installation step.

    Installation

    This process is same for Linux, Windows, or, any Unix based OS. I will assume you are using apt as your package manager, its default in Ubuntu, which you may have installed as your WSL in the previous step.

    Install jq and curl using your favorite package manager -

    Code:
    sudo apt-get install curl jq
    

    Next, clone this repo,
    Code:
    cd $HOME
    git clone https://github.com/hackerpain/domaining
    
    Code:
    cd domaining

    Setup, grab the API keys from developer.godaddy.com/keys and logolava.com

    Code:
    chmod +x setup.sh
    ./setup
    

    Add the scripts to the ~/.bashrc file so that you can call them using function name

    Code:
    echo "source $HOME/domaining/gdvalue.sh" >> ~/.bashrc
    echo "source $HOME/domaining/gdpastsales.sh" >> ~/.bashrc
    echo "source $HOME/domaining/gddomains.sh" >> ~/.bashrc
    echo "source $HOME/domaining/bulklogo.sh" >> ~/.bashrc
    source ~/.bashrc
    

    Now, you may follow instructions on https://github.com/hackerpain/domaining to get used to the commands and further info.

    If you are going to use WSL, this is how you can access your WSL files using File Explorer -

    Code:
    Win + R -> powershell -> hit Enter
    cd "C:\Users\User_Name\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu20.04onWindows_9nblggh4msv6\LocalState\rootfs\home\user_name\"
    explorer .
    
     
    Last edited: Jun 6, 2020
  8. DnFolk

    DnFolk Top Member Epik.com Staff VIP

    Posts:
    2,768
    Likes Received:
    15,883
    Thanks for this. whats the limit of bulk search at once and how much time it takes?
     
  9. Save Breach

    Save Breach Established Member

    Posts:
    693
    Likes Received:
    1,077
    Hi,

    There is a rate limit of 10-15 appraisals per minute I guess. But if you hit the API slowly, you can appraise 100 domains in about 10-15 mins. Using the API key, its a bit faster (logged in requests).

    Cheers
     
  10. Save Breach

    Save Breach Established Member

    Posts:
    693
    Likes Received:
    1,077
  11. ecomslice

    ecomslice Top Contributor VIP

    Posts:
    983
    Likes Received:
    1,387
    Interesting, ill be following this thread, thanks for info and products.
     
  12. Save Breach

    Save Breach Established Member

    Posts:
    693
    Likes Received:
    1,077
    Thanks
     
  13. PixelCorp

    PixelCorp Established Member

    Posts:
    17
    Likes Received:
    29
    This is great, I'm all set up up but when I run the bulk tool I get 'we hit the rate limit, slowing down for XX seconds'. I've tried 0.5 up to 20, it won't check a single domain. Any idea what the problem could be?
     
  14. Save Breach

    Save Breach Established Member

    Posts:
    693
    Likes Received:
    1,077
    Hey,

    Have you configured the API keys? you need to generate the prod api keys, and it is usual to show that after appraising 30-35 domains, wait for sometime

    Cheers
     
  15. PixelCorp

    PixelCorp Established Member

    Posts:
    17
    Likes Received:
    29
    I did but I did OTE API keys by mistake, how would I swap them out? Thanks for your help with this, much appreciated.
     
  16. Save Breach

    Save Breach Established Member

    Posts:
    693
    Likes Received:
    1,077
    Those could be changed from your ~/.bashrc file as it gets stored as environment variables.

    Make sure your list contains one name per line and strip off any whitespaces that may get into the list. Also remove empty lines from domains list.

    Cheers
     
    Last edited: Oct 20, 2020
  17. Such Names

    Such Names New Member

    Posts:
    1
    Likes Received:
    3
    Hi. I came across this yesterday and found it useful, so I thought I'd contribute. I ported it to the Fish shell for users like myself who prefer Fish to Bash. I also made a couple of minor tweaks, like sending error output to stderr, and differentiating between a timeout error and 401 error.

    NOTE: Remove the spaces after https: in the code, below. The forums wouldn't allow me to post a message with links in it.

    Code:
    function gd_domain_value
      echo -e "Enter the domain, & hit Enter\n"
      while read dom
        echo -e "The value of $dom is USD "(curl -s 'https: //api.godaddy.com/v1/appraisal/'$dom | jq '.govalue') "\nPlease proceed with the next\n\n"
      end
    end
    
    function gd_bulk_domain_value
      if [ -z "$argv[1]" ]
        echo "Usage: gd_bulk_domain_value INPUT_FILE [delay in seconds]"
        return 0
      else if [ ! -e "$argv[1]" ]
        echo "File $argv[1] does not exist." >&2
        return 1
      end
    
      set wait 10
      if [ "$argv[2]" != "" ]
        set wait $argv[2]
      end
    
      set ctr 2
      while read dom
        set data (curl -s "https: //api.godaddy.com/v1/appraisal/$dom" -H "Authorization: sso-key $GDkey:$GDsecret")
        set result (echo $data | jq '.message')
    
        if [ "$result" != "null" ]
          if string match --regex -q '^"Unauthorized' "$result"
            echo "Authorization failed. Check your API credentials." >&2
          else
            echo -e "\nWe hit the rate limit, so slowing down for "( math $wait x $ctr )"s\n" >&2
            sleep ( math $wait x $ctr )
            echo -e "\nStarting bulk search, if its still unreliable, end the process, wait for longer, then continue\n" >&2
            set ctr (math $ctr + 1)
          end
        else
          echo "$dom: "(echo $data | jq '.govalue') >> (echo "$argv[1]" | cut -d '.' -f 1)-value.txt
          sleep $wait
        end
        printf "."
      end < "$argv[1]"
    end
    
    You can paste this directly into your terminal if you are using Fish, or save it to a file and source it, and it will create those two fuctions in your current shell instance. You can also save it to ~/.config/fish/functions and have it loaded every time you start a shell.

    If you want to add this to your Github repository, you may do so, but let me make the pull request so I can get the activity on my Github account.
     
  18. Save Breach

    Save Breach Established Member

    Posts:
    693
    Likes Received:
    1,077
    Well, thanks for the port. Brilliant work 👏

    Feel free to add it to our project's Github repo - https://github.com/savebreach/domaining

    Btw are working on a web based solution that can make such basic things even more simpler, and will be free for most users - https://value.savebreach.com/lander/

    Cheers
     
  19. tiletalk

    tiletalk Established Member

    Posts:
    221
    Likes Received:
    238
    would be grateful if someone could make a how to video or provide link on how to set this up for newbies like myself please?

    sorry it is there. I will follow now
     
    Last edited: Jan 23, 2021
  20. Samer

    Samer Top Contributor VIP

    Posts:
    9,468
    Likes Received:
    18,165
    How did i miss this?

    Thanks for the update and subsequent bump, @tiletalk!

    @Save Breach always doing his part! Thanks for sharing man!
    Sucks Godaddy refuses to share API (still) Industry need more share like you

    Followed too!
     
    Last edited: Feb 3, 2021
  21. Save Breach

    Save Breach Established Member

    Posts:
    693
    Likes Received:
    1,077
    Thanks a lot @Samer. Always happy to help the community!
    Sad, GoDaddy prefers to restrict access to full data to only selected people, in the form of a private tool :D I'm against this sort of exclusivity and happy to break this barrier of data access to every NPer!

    Cheers
     

Want to reply or ask your own question?

It only takes a minute to sign up – and it's free!
NameWorth
  1. NamePros uses cookies and similar technologies. By using this site, you are agreeing to our privacy policy, terms, and use of cookies.
    Dismiss Notice
Loading...