Company — index linkedin_chain_companies
format: primary_companies_1
| Key | Filled | From |
company_name | 100% | LinkedIn page |
company_linkedin_url | 100% | LinkedIn page |
company_linkedin_industry | 97% | LinkedIn page |
industry | 97% | copy of the above (production convention) |
organization_type | 96% | LinkedIn page |
company_linkedin_description | 90% | LinkedIn page |
company_website | 87% | LinkedIn page |
original_company_website | 87% | copy of website |
number_of_employees | 87% | LinkedIn page |
company_address | 83% | LinkedIn page (Locations) |
company_city | 82% | split from address |
company_country | 82% | split from address |
company_state | 66% | split from address |
number_of_follower | 65% | LinkedIn page |
company_founded_on | 64% | LinkedIn page |
company_specialities | 47% | LinkedIn page |
company_phone_number | 42% | website scan (e-mail finder) |
sanitize_stage = 39 | 100% | fixed (production convention) |
created_at, updated_at | 100% | crawler |
data_source = linkedin_chain_crawler | 100% | extra: marks the origin |
extra.* — fixed extra details, same keys for every company (null / [] when not found)
| Key | From |
extra.open_jobs (int) | LinkedIn page: "N open jobs" — hiring signal |
extra.products (list of name, category, url) | LinkedIn page: Products section |
extra.services (list, max 10) | company website, GPT-6 Luna |
extra.short_description | company website, GPT-6 Luna (one line, English) |
extra.careers_url | company website: careers / jobs page link |
extra.hiring (true / false / null) | careers page lists open roles? |
extra.open_roles_on_site (int) | roles counted on the careers page |
extra.linkedin_extracted_at, extra.website_extracted_at | when each part was read |
crawl.* — bookkeeping only, not sent to production
status, depth, attempts, queued_at, crawled_at, updated_at, discovered_from, final_url, similar_pages, affiliated_pages, employees_preview_count, name_hint, industry_hint, last_error, known_in_prod, prod_id, company_size (97%), company_headquarters (82%), postal_code (62%), website_scan{…} (87%), people_search{…} (87%)
Production keys we never fill (not available from these sources)
funding_amount, funding_round, funding_time, revenue, annual_revenue, company_facebook_url, company_twitter_url, company_keywords, company_technologies, seo_description, saved_tenant_ids, company_dynamic_address, old_website
Person — index linkedin_chain_persons
format: primary_records
| Key | Filled | From |
first_name | 100% | crawler (page) or search |
last_name | 99% | crawler or search |
full_name | 100% | crawler or search |
contact_linkedin_url | 100% | crawler or search |
company_id | 100% | link to the company document |
job_title | 34% | search (decision makers) |
email | 32% | e-mail finder |
email_verification_status | 32% | e-mail finder: valid / accept-all / unknown |
email_verification_updated_at | 32% | e-mail finder |
company_name, company_linkedin_url | 100% | copied from the company |
number_of_employees | 99% | copied |
company_linkedin_industry, industry | 94% | copied |
organization_type | 91% | copied |
company_linkedin_description | 85% | copied |
company_address, company_city | 81% | copied |
company_country | 79% | copied |
company_state | 65% | copied |
number_of_follower | 64% | copied |
company_website, original_company_website | 58% | copied |
company_founded_on | 57% | copied |
company_specialities | 42% | copied |
sanitize_stage = 39, created_at, updated_at | 100% | fixed / whoever wrote last |
data_source | 100% | extra: marks the origin |
crawl.* — bookkeeping only
source (company_page / search, 100%), company_crawl_url (100%), seniority (32%, search people), title_source, email_search{status, domain, pattern, pattern_source, tried, checked_at} (58%)
Production keys we never fill
direct_phone_number, mobile_number, corporate_phone_number, person_city, person_state, person_country, person_dynamic_address, company_logo, funding_*, revenue, company_keywords, company_technologies, seo_description, saved_tenant_ids