Companies API

Discover companies and manage which companies Recuity tracks for your workspace.

EndpointPurpose
GET /api/v1/companiesSearch companies
POST /api/v1/companiesAdd a new company to your workspace
POST /api/v1/companies/{company_id}/trackingStart tracking a company's jobs
DELETE /api/v1/companies/{company_id}/trackingStop tracking a company's jobs

Search companies

GET/api/v1/companies

Search and retrieve companies, including details, social links, and tracking status. Results can include companies your workspace added as well as companies from the shared public directory. Use ownership and tracking_status to narrow the scope.

https://recuity.ai/api/v1/companies
Provide exactly one of q, similar_to_company_id or domain. An invalid request returns 400 Bad Request.

Query parameters

ParameterTypeRequiredDescription
qStringOne ofCompany search query
similar_to_company_idStringOne ofReturn companies similar to this ID (a 24-character hex ID)
domainStringOne ofFind a company by its website domain (e.g. monvia.com), up to 50 characters
locationStringNoFilter by location, up to 50 characters
company_typeStringNoStartup, SME, Enterprise, Government, Education, NonProfit
ownershipStringNoTenantOwned (your companies), Public (shared directory)
tracking_statusStringNoTracked, NotTracked
has_hiring_signalBooleanNotrue returns only companies whose home page links to a careers or vacancies page, false only those without such a link. Omit for no filter
pageNumberNoPage number, default 1

Example request

curl -X GET \
  "https://recuity.ai/api/v1/companies?q=tech&company_type=Startup" \
  -H "X-API-Key: YOUR_API_KEY"
import requests

response = requests.get(
    "https://recuity.ai/api/v1/companies",
    headers={"X-API-Key": "YOUR_API_KEY"},
    params={
        "q": "tech",
        "company_type": "Startup"
    }
)
data = response.json()

Example response

200 OK
{
  "companies": [
    {
      "id": "692987bcd5644d953f62cc87",
      "name": "TechCorp Solutions",
      "current_url": "https://techcorp-solutions.com",
      "location": "London, GB",
      "company_type": "Startup",
      "company_size": "201-500 employees",
      "founded_year": 2014,
      "is_tracked": true,
      "is_owned_by_tenant": false
    }
  ],
  "total_results": 20,
  "current_page": 1,
  "has_more": true,
  "page_size": 20
}

Response object

FieldTypeDescription
companiesArrayArray of company objects
total_resultsNumberNumber of companies on this page (not a total across pages; use has_more to page on)
current_pageNumberCurrent page number
has_moreBooleanWhether more pages are available
page_sizeNumberNumber of results per page

Company object fields

FieldTypeDescription
idStringUnique company identifier
nameStringCompany name
summaryStringCompany summary
current_urlStringCompany website URL
locationStringPrimary company location
headquarterStringHeadquarter location
other_locationsArrayOther company locations
company_typeStringStartup, SME, Enterprise, Government, Education, NonProfit
company_sizeStringCompany size range (e.g. 201-500 employees)
founded_yearNumberYear the company was founded
industry_sectorsArrayIndustry sectors
potential_job_titlesArrayPotential job titles at this company
linkedin_urlStringLinkedIn profile URL (nullable)
twitter_urlStringTwitter profile URL (nullable)
facebook_urlStringFacebook page URL (nullable)
instagram_urlStringInstagram profile URL (nullable)
youtube_urlStringYouTube channel URL (nullable)
company_logoStringCompany logo image URL (nullable)
primary_website_languageStringPrimary language of the company website (nullable)
is_trackedBooleanWhether the company is being tracked
is_owned_by_tenantBooleanWhether the company was added by your workspace
has_hiring_signalBooleanWhether the company's home page links to a careers or vacancies page. An indication the company may be hiring, not a list of open roles

Add a company

POST/api/v1/companies

Add a new private company to your workspace by providing its website URL. Set track_jobs to start tracking in the same call. Returns 400 Bad Request if the request is invalid or your plan's limit on added companies is reached.

https://recuity.ai/api/v1/companies

Request body

FieldTypeRequiredDescription
urlStringYesCompany website: a domain (e.g. company.com) or an https:// URL. http:// URLs are rejected
primary_locationStringNoPrimary location (e.g. London, GB), up to 50 characters
company_typeStringNoStartup, SME, Enterprise, Government, Education, NonProfit
track_jobsBooleanNoSet true to start tracking immediately after adding

Example request

curl -X POST \
  "https://recuity.ai/api/v1/companies" \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "url": "https://example-company.com",
  "primary_location": "London, GB",
  "company_type": "Startup",
  "track_jobs": true
}'
import requests

response = requests.post(
    "https://recuity.ai/api/v1/companies",
    headers={"X-API-Key": "YOUR_API_KEY"},
    json={
        "url": "https://example-company.com",
        "primary_location": "London, GB",
        "company_type": "Startup",
        "track_jobs": True
    }
)
data = response.json()

Example response

200 OK
{
  "success": true,
  "message": "Company created successfully",
  "company_id": "692987bcd5644d953f62cc87"
}

Response fields

FieldTypeDescription
successBooleanWhether the company was added successfully
messageStringStatus message
company_idStringUnique identifier for the newly added company

Start tracking a company's jobs

POST/api/v1/companies/{company_id}/tracking

Begin crawling and indexing jobs from this company's careers page into your workspace. Returns 404 Not Found if the company does not exist or your workspace cannot track it, and 400 Bad Request if your plan's tracking limit is reached.

https://recuity.ai/api/v1/companies/{company_id}/tracking

Path parameters

ParameterTypeRequiredDescription
company_idStringYesUnique company identifier from the company search response

Example request

curl -X POST \
  "https://recuity.ai/api/v1/companies/692987bcd5644d953f62cc87/tracking" \
  -H "X-API-Key: YOUR_API_KEY"
import requests

company_id = "692987bcd5644d953f62cc87"
response = requests.post(
    "https://recuity.ai/api/v1/companies/" + company_id + "/tracking",
    headers={"X-API-Key": "YOUR_API_KEY"}
)
data = response.json()

Example response

200 OK
{
  "success": true,
  "message": "Company tracked successfully"
}

Response fields

FieldTypeDescription
successBooleanWhether tracking was started successfully
messageStringStatus message

Stop tracking a company's jobs

DELETE/api/v1/companies/{company_id}/tracking

Stop crawling this company's careers page. Existing job data is removed from your workspace. While a crawl of the company is in progress this returns 400 Bad Request with the number of minutes to wait.

https://recuity.ai/api/v1/companies/{company_id}/tracking

Path parameters

ParameterTypeRequiredDescription
company_idStringYesUnique company identifier

Example request

curl -X DELETE \
  "https://recuity.ai/api/v1/companies/692987bcd5644d953f62cc87/tracking" \
  -H "X-API-Key: YOUR_API_KEY"
import requests

company_id = "692987bcd5644d953f62cc87"
response = requests.delete(
    "https://recuity.ai/api/v1/companies/" + company_id + "/tracking",
    headers={"X-API-Key": "YOUR_API_KEY"}
)
data = response.json()

Example response

200 OK
{
  "success": true,
  "message": "Company untracked successfully"
}

Response fields

FieldTypeDescription
successBooleanWhether tracking was stopped successfully
messageStringStatus message