Enrich users at signup with the latest information about their company
Send a business email to our API to instantly uncover insights about a company. Need fresh data? Trigger a real-time analysis of their website and social media with our AI-powered engine.
Retrieve a company profile with our API from a user’s business email at signup. Our customers use this feature in multiple ways:

Crisp detects whether new users use a live chat or helpdesk tool to tailor their onboarding experience.

Scribe Mail generates an internal lead score based on company data to optimize outreach.

Trustedsite enriches their CRM automatically with verified company information.

The Companies API pre-fills user profiles with accurate company details during signup. To ensure the data is always up-to-date, each company is enriched in real time using the "refresh" parameter.
Get 500+ datapoints per company
You’ll find below the full documentation for our API endpoint that retrieves company information from an email address.
Query parameters
When set to true, returns a simplified version of the company data. The call will be free and no credits will be deducted.
/companies/[email protected]&simplified=true
When set to true, triggers a real-time refresh of the company data including website crawling, social media analysis, and AI-powered enrichment. Note: This operation costs 10 additional credits per request.
/companies/microsoft.com?refresh=true
Response
Additional information about the email.
Now that you’re familiar with how to trade an email address for company information using our API, let’s dive into some code examples. But first, you’ll need your API token.
Select or create a token
To help you get started, here are some code examples in various languages. Feel free to explore all
, and get creative running marketing experiments in your product.// To install our JavaScript SDK with TypeScript compatibility, run:
// npm install @thecompaniesapi/sdk
import createClient from '@thecompaniesapi/sdk'
try {
// Initialize our client
const tca = createClient({
apiToken: 'XXXXXX', // Your api token from your dashboard
})
// Your new registered user
let user = {
email: '[email protected]',
name: 'Julien',
}
// Retrieve the company for the new registered user
const response = await tca.fetchCompanyByEmail({
email: user.email,
})
// If you want to trigger a real-time refresh of the company data
// You can set the refresh parameter to true
// This will crawl the website, analyze social media, and enrich the data with our AI
// const response = await tca.fetchCompanyByEmail({
// email: user.email,
// refresh: true
// })
const company = response.data.company
const email = response.data.email
// The company data has been successfully retrieved
// All datapoints: https://www.thecompaniesapi.com/api/datapoints
if (company) {
if (company.about) {
user.companyName = company.about.name
user.companyIndustry = company.about.industry
user.companyEmployees = company.about.totalEmployees
}
if (company.assets) {
user.companyLogo = company.assets.logoSquare
}
if (company.finances) {
user.companyRevenue = company.finances.revenue
}
if (company.urls) {
user.companyWebsite = company.urls.website
}
}
// Additional information about the user
if (email) {
user.fullName = email.fullName
user.freeEmail = email.isFree
user.disposableEmail = email.isDisposable
}
console.log(user)
} catch (error) {
console.error(error)
}
Need help implementing your use case?
Reach out to us in the chat below, and let's solve it together!