0.0
The project is in a healthy, maintained state
Official Ruby SDK for accessing CUFinder's services
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
 Dependencies

Development

~> 13.0
~> 3.12
~> 3.18

Runtime

~> 0.21
~> 2.6
 Project Readme

CUFinder Ruby Client

Official Ruby Client for accessing CUFinder's comprehensive business intelligence and lead generation services.

Installation

Add this line to your application's Gemfile:

gem 'cufinder-ruby'

And then execute:

bundle install

Or install it yourself as:

gem install cufinder-ruby

Usage

Basic Setup

require 'cufinder_ruby'

# Initialize the client with your API key
client = Cufinder::Client.new(api_key: 'your-api-key-here')

Available Services

The Client provides access to all CUFinder API services:

1. CUF - Company URL Finder

result = client.cuf(company_name: "Apple Inc", country_code: "US")
puts result.domain  # => "apple.com"

2. LCUF - LinkedIn Company URL Finder

result = client.lcuf(company_name: "Apple Inc")
puts result.linkedin_url  # => "linkedin.com/company/apple"

3. DTC - Domain to Company

result = client.dtc(company_website: "apple.com")
puts result.company_name  # => "Apple Inc"

4. DTE - Domain to Emails

result = client.dte(company_website: "apple.com")
puts result.emails  # => ["contact@apple.com", "info@apple.com"]

5. NTP - Name to Phones

result = client.ntp(company_name: "Apple Inc")
puts result.phones  # => ["+1-408-996-1010"]

6. REL - Reverse Email Lookup

result = client.rel(email: "tim.cook@apple.com")
puts result.person.full_name  # => "Tim Cook"

7. FCL - Find Company Lookalikes

result = client.fcl(query: "tech startup")
puts result.companies.length  # => 10

8. ELF - Enrich LinkedIn Fundraising

result = client.elf(query: "tech company")
puts result.fundraising.funding_money_raised  # => "$5M"

9. CAR - Company Annual Revenue

result = client.car(query: "Apple Inc")
puts result.revenue  # => "$394.3B"

10. FCC - Find Company Children

result = client.fcc(query: "Apple Inc")
puts result.subsidiaries  # => ["Beats Electronics", "Shazam"]

11. FTS - Find Tech Stack

result = client.fts(query: "web development")
puts result.technologies  # => ["React", "Node.js", "Python"]

12. EPP - Enrich Person Profile

result = client.epp(linkedin_url: "linkedin.com/in/tim-cook")
puts result.person.full_name  # => "Tim Cook"

13. FWE - Find Work Email

result = client.fwe(linkedin_url: "linkedin.com/in/tim-cook")
puts result.email  # => "tim.cook@apple.com"

14. TEP - Title Email Phone

result = client.tep(full_name: "Tim Cook", company: "Apple Inc")
puts result.person.email  # => "tim.cook@apple.com"
puts result.person.phone  # => "+1-408-996-1010"

15. ENC - Enrich Company

result = client.enc(query: "Apple Inc")
puts result.company.employee_count  # => 164000

16. CEC - Company Employee Count

result = client.cec(query: "Apple Inc")
puts result.countries  # => {"US" => 100000, "CA" => 5000}

17. CLO - Company Locations

result = client.clo(query: "Apple Inc")
puts result.locations.first.city  # => "Cupertino"

18. CSE - Company Search Engine

result = client.cse(name: "tech", country: "US", industry: "software")
puts result.companies.length  # => 50

19. PSE - Person Search Engine

result = client.pse(full_name: "John", country: "US", company_name: "Apple")
puts result.peoples.length  # => 25

20. LBS - Local Business Search

result = client.lbs(name: "restaurant", city: "New York")
puts result.companies.length  # => 100

Error Handling

The Client provides comprehensive error handling:

begin
  result = client.cuf(company_name: "Apple Inc", country_code: "US")
rescue Cufinder::AuthenticationError => e
  puts "Authentication failed: #{e.message}"
rescue Cufinder::RateLimitError => e
  puts "Rate limit exceeded: #{e.message}"
rescue Cufinder::CreditLimitError => e
  puts "Credit limit exceeded: #{e.message}"
rescue Cufinder::ApiError => e
  puts "API error #{e.status}: #{e.message}"
rescue Cufinder::ValidationError => e
  puts "Validation error: #{e.message}"
end

Configuration

You can configure the Client with custom settings:

sdk = Cufinder::Client.new(
  api_key: 'your-api-key',
  timeout: 30,                              # Default
  max_retries: 3                           # Default
)