WebhooksHow to set up a webhookMonitor your webhooksReceive TheirStack events in your webhook endpoint

Event types

Company.New WebhookJob.New Webhook
TheirStack TheirStack Logo
DocumentationAPI ReferenceWebhooksDatasets

Company.New

Triggered when a new company matching your saved search criteria is discovered. [Learn more about webhooks](https://theirstack.com/en/docs/webhooks).

Request Body

application/json

  • id
    integerrequired

    Unique identifier for this webhook event

  • type
    stringrequired

    Event type indicating what triggered the webhook: 'job.new' for new jobs or 'company.new' for new companies

    • job.new
    • company.new
  • payload
    JobWithMatchingPhrases | CompanyWithTechnologiesAndJobsrequired

    Event data containing the job or company information that triggered the webhook. If the type is 'job.new', the payload will be a JobWithMatchingPhrases object. If the type is 'company.new', the payload will be a CompanyWithTechnologiesAndJobs object.

    • id
      integer
      1234
      required

      ID of the job

    • job_title
      string
      Senior Data Engineer
      required

      Job title

    • url
      stringnullable
      https://example.com/job/1234

      URL of the job post

    • date_posted
      string
      date2021-01-01
      required

      Date when the job was posted

    • has_blurred_data
      boolean
      default: false

      Whether the returned object has company identifiable data blurred or not

    • company
      string
      Google
      deprecatedrequired

      Company name. This field is deprecated, please don't use it

    • final_url
      stringnullable
      https://carecrafterhealth.com/careers/job-details/MFC286442-4https://www.google.com/about/careers/applications/jobs/results/110690555461018310-software-engineer-iii-infrastructure-corehttps://job-boards.greenhouse.io/sondermind/jobs/6620635003?gh_src=c1701b3d3us

      Is the URL of the job in the career page of the company.

    • source_url
      stringnullable
      https://www.linkedin.com/jobs/view/1234567890

      Is the url TheirStack used to get the job data.

    • location
      stringnullable
      New YorkMadridLondon
      deprecated

      This is the city of the job.

    • short_location
      stringnullable
      Tulsa, OKMethuen, MA
      deprecated

      It's a combination of the city and the state of the job.

    • long_location
      stringnullable
      Methuen, MA 01844Tulsa, OK 74110
      deprecated

      It's a combination of the city, the state and the postal code of the job.

    • state_code
      stringnullable
      OKMANY
      deprecated

      The state code of the job.

    • latitude
      numbernullable
      37.77492942.360082
      deprecated

      The latitude of the job.

    • longitude
      numbernullable
      -96.726486-71.056883
      deprecated

      The longitude of the job.

    • postal_code
      stringnullable
      0184474110
      deprecated

      The postal code of the job.

    • remote
      booleannullable
      truefalse

      If the job is remote.

    • hybrid
      booleannullable
      truefalse

      If the job is hybrid. A hybrid position is a job that combines remote and in-office work.

    • salary_string
      stringnullable
      $100,000 - $120,00080k € - 120k € per year

      The salary of the job in the local currency. If a similar field is present in the job source, this property will contain the same content. If no similar field is present, the content will be have the following format: <min_annual_salary> - <max_annual_salary> per year. For the currencies where the symbol precedes the digits, the format will be <min_annual_salary> - <max_annual_salary> per year. In these latter two cases, both the min and max annual salary are expressed in either k (for thousands) or M (for millions).

    • min_annual_salary
      integernullable
      100000120000

      The minimum annual salary of the job in the local currency.

    • min_annual_salary_usd
      numbernullable
      100000120000

      The minimum annual salary of the job in USD.

    • max_annual_salary
      integernullable
      100000120000

      The maximum annual salary of the job in the local currency.

    • max_annual_salary_usd
      numbernullable
      100000120000

      The maximum annual salary of the job in USD.

    • avg_annual_salary_usd
      numbernullable
      100000120000

      This property calculates the average annual salary for a job in USD, based on the available minimum and maximum annual salary values (both already converted to USD): If both min_annual_salary_usd and max_annual_salary_usd are missing or zero, it returns None. If only the minimum is missing, it returns the maximum value. If only the maximum is missing, it returns the minimum value. If both are present, it returns the average of the two, rounded to two decimal places. This ensures the property always provides the best possible estimate of the average salary, even if only one bound is available.

    • salary_currency
      stringnullable
      USDEURGBP

      The currency of the salary of the job.

    • countries
      array<string>nullable
      ["United States","Canada","Spain","France","Australia"]
      deprecated

      Countries of the job

    • country
      stringnullable
      United StatesCanadaSpainFranceAustralia
      deprecated

      Country name of the job

    • country_codes
      array<string | null>nullable
      ["US","CA","ES","FR","AU"]["US"]["US","CA"]
      deprecated

      Two-letter country codes (ISO 3166-1 alpha-2) representing the job's locations.

    • country_code
      stringnullable
      USCAESFRAU
      deprecated

      Two-letter country code (ISO 3166-1 alpha-2) representing the job's location. If the job has multiple locations, the first one is returned.

    • cities
      array<string>nullable
      ["New York","San Francisco","London","Paris","Sydney"]
      deprecated

      Cities of the job

    • continents
      array<string>nullable
      ["North America","Europe","Asia","Australia","South America"]
      deprecated

      Continents of the job

    • seniority
      stringnullable

      Seniority level of the job

      • c_level
      • staff
      • senior
      • junior
      • mid_level
    • discovered_at
      string
      date-time2024-01-01T00:00:00
      required

      Date when the job was discovered by TheirStack

    • company_domain
      stringnullable
      acme.com

      Company website domain

    • hiring_team
      array<PersonBase>nullable
      [{"first_name":"John Doe","full_name":"John Doe","image_url":"https://media.licdn.com/dms1234567890","linkedin_url":"https://www.linkedin.com/in/john-doe-1234567890","role":"CEO","thumbnail_url":"https://media.licdn.com/dms1234567890"}]

      Hiring team who posted the job

    • reposted
      booleannullable
      truefalse

      Indicates whether the employer has republished this job posting.

    • date_reposted
      stringnullable
      date2024-01-01

      Date when the job was reposted

    • employment_statuses
      array<Commitment>
      default: []["full_time"]

      Employment statuses of the job

      • full_time
      • part_time
      • temporary
      • internship
      • contract
    • easy_apply
      booleannullable
      truefalse

      Indicates whether the job application can be submitted directly through the job board (easy_apply=True) or requires redirecting to the company's website (easy_apply=False).

    • keyword_slugs
      array<string>
      default: []["google-firebase","postgresql","jira"]

      Slugs of the technologies of the job

    • description
      stringnullable
      ## About the Role We are looking for a Senior Data Engineer with 5+ years of experience in data engineering to join our growing data team. You will be responsible for designing and implementing scalable data pipelines, data models, and data warehouses that support our business intelligence and analytics initiatives. ## Key Responsibilities - Design, build, and maintain robust, scalable data pipelines using modern data engineering tools and frameworks - Develop and optimize data models and schemas for data warehouses and data lakes - Collaborate with data scientists, analysts, and product teams to understand data requirements and deliver solutions - Implement data quality monitoring and validation processes to ensure data accuracy and reliability - Optimize query performance and data processing workflows for large-scale datasets - Build and maintain ETL/ELT processes using tools like Apache Airflow, dbt, or similar - Work with cloud data platforms (AWS, GCP, or Azure) and their native data services - Establish data governance practices and ensure compliance with data privacy regulations - Mentor junior data engineers and contribute to technical documentation ## Required Qualifications - Bachelor's degree in Computer Science, Engineering, or related technical field - 5+ years of experience in data engineering or related roles - Strong proficiency in Python and SQL - Experience with big data technologies (Spark, Kafka, Hadoop ecosystem) - Hands-on experience with cloud data platforms (AWS Redshift, GCP BigQuery, Azure Synapse, etc.) - Experience with data orchestration tools (Airflow, Prefect, or similar) - Knowledge of data modeling concepts and best practices - Experience with version control systems (Git) and CI/CD pipelines - Strong problem-solving skills and attention to detail ## Preferred Qualifications - Experience with real-time data processing and streaming analytics - Knowledge of data visualization tools (Tableau, Looker, PowerBI) - Experience with containerization (Docker, Kubernetes) - Familiarity with machine learning workflows and MLOps practices - Experience with data governance and cataloging tools ## What We Offer - Competitive salary and equity package - Comprehensive health, dental, and vision insurance - Flexible work arrangements and remote-friendly culture - Professional development budget for conferences and training - State-of-the-art equipment and technology stack - Collaborative and inclusive work environment - Opportunity to work with cutting-edge data technologies

      Job description in markdown format

    • company_object
      objectrequired

      Company object

    • locations
      array<JobLocation>
      default: [][{"admin1_code":"CA","admin1_name":"California","admin2_code":"101","admin2_name":"Sutter","continent":"NA","country_code":"US","country_name":"United States","display_name":"Live Oak, California, United States","feature_code":"PPL","id":5367315,"latitude":37,"longitude":-122,"name":"Live Oak","state":"California","state_code":"CA","type":"city"}]

      All possible locations of the job with coordinates, city, state, state_code, country_code, etc.

    • normalized_title
      stringnullable
    • manager_roles
      array<string>nullable

      Roles of the person or people found in the job description to be the managers of the hired person. Can be useful to infer who's the decision maker for the technologies mentioned in the job post.

    • matching_phrases
      array<string | null>nullable
      default: []

      Phrases from the job description that match the pattern passed

    • matching_words
      array<string | null>nullable
      default: []

      Words from the job description that match the pattern passed

Response Body

application/json

application/json

Example Requests

POST/company-new

How is this guide?

Last updated on

Receive TheirStack events in your webhook endpoint

Learn the essential technical requirements for building webhook endpoints that receive TheirStack job and company data. Covers status codes, retry logic, concurrency handling, and duplicate prevention.

Job.New Webhook

Triggered when a new job matching your saved search criteria is discovered. [Learn more about webhooks](https://theirstack.com/en/docs/webhooks).