Ruby SDK · Feature

Domain Age Checker in Ruby

Newly registered domains are a strong fraud and spam signal. domain_age returns how long ago a domain was registered, derived from WHOIS data, so you can flag or block domains created days ago.

Trusted by thousands of businesses
Fast JSON API responses
Real-time validation
Simple integration, SDKs & examples
What it does

Catch throwaway domains early

Abuse rings register domains in bulk and burn them fast, so a domain's age is one of the cheapest, highest-signal fraud checks you can run. domain_age turns a raw WHOIS record into a simple registration date and age in days, and domain_age_batch lets you screen a whole array — sign-up email domains, referral links, or outbound targets — in a single request.

Prerequisites

1

Age of one domain with domain_age

Returns the registration date and the age in years and days.

client = Ipapi::Client.new(api_key: ENV.fetch("IP_API_IO_KEY"))

age = client.domain_age("example.com")

puts age.valid?              # true
puts age.registration_date   # "1995-08-14"
if age.age_in_days
  puts age.age_in_days       # 11000+
  # treat brand-new domains as higher risk
  flag_for_review if age.age_in_days < 30
end
2

Many domains with domain_age_batch

Check an array of domains in one request (raises ArgumentError if empty).

batch = client.domain_age_batch([
  "example.com",
  "brand-new-domain.xyz"
])

batch.results.each do |domain, age|
  puts "#{domain} #{age.age_in_days}" if age.age_in_days
end
Reference

Response reference

DomainAge (from domain_age)

MethodTypeDescription
domainStringThe domain checked
valid?BooleanWhether age could be determined
registration_dateString, nilFirst registration date
age_in_yearsInteger, nilAge in whole years
age_in_daysInteger, nilAge in days
errorString, nilReason when valid? is false

domain_age_batch(domains) returns a BatchDomainAge — a results hash of domain to age.

FAQ

Frequently asked questions

How do I check a domain's age in Ruby?

Call client.domain_age(domain). It returns valid?, the registration_date, and the age as both age_in_years and age_in_days, derived from WHOIS data. Absent fields return nil.

Why is domain age a fraud signal?

Freshly registered domains are disproportionately used for phishing, spam, and throwaway accounts. Flagging domains created in the last few days — e.g. age.age_in_days < 30 — catches a lot of abuse before it reaches your users.

Can I check many domains at once?

Yes. client.domain_age_batch(domains) checks an array of domains in one request and returns a results hash of domain to age. It raises ArgumentError if the array is empty.

Start building with the ip-api.io Ruby SDK

Run gem install ip-api-io, drop in your free API key, and ship in minutes — one client object for geolocation, fraud detection, and email validation.

Need support?

Explore how IP-API.io can enhance your security, provide robust bot protection, and improve IP geolocation accuracy for your applications.

Contact Support

Found a bug in the SDK?

The ip-api-io gem is open source. Open an issue or pull request on GitHub and we'll take a look.

Open on GitHub