The TheirStack connector lets your AI agent act in each user's TheirStack account. Each user connects their own TheirStack access token once, and Scalekit sends it with every call, so your agent never handles credentials. It comes with 25 tools.
- Tools
- 25
- What they doRead · write · destructive
- 17 · 7 · 117 read7 write1 destructive
- Users sign in with
- Access token
Setup
Install the SDK
Terminal window npm install @scalekit-sdk/node dotenvTerminal window pip install scalekit-sdk-python python-dotenvSet your credentials
Add your Scalekit credentials to your
.envfile. Find values in app.scalekit.com > Developers > API Credentials..env SCALEKIT_ENVIRONMENT_URL=<your-environment-url>SCALEKIT_CLIENT_ID=<your-client-id>SCALEKIT_CLIENT_SECRET=<your-client-secret>Create the TheirStack connection
In AgentKit > Connections, create a TheirStack connection. The name you give it is the
connection_nameyour code passes. See Configure connections.Authorize a user and make your first call
quickstart.mts import { ScalekitClient } from '@scalekit-sdk/node'import 'dotenv/config'import { createInterface } from 'node:readline/promises'const scalekit = new ScalekitClient(process.env.SCALEKIT_ENVIRONMENT_URL,process.env.SCALEKIT_CLIENT_ID,process.env.SCALEKIT_CLIENT_SECRET,)const actions = scalekit.actionsconst connector = 'theirstack'const identifier = 'user_123'// Generate an authorization link for the userconst { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })console.log('Authorize TheirStack:', link)const rl = createInterface({ input: process.stdin, output: process.stdout })await rl.question('Press Enter after authorizing...')rl.close()// Make your first callconst result = await actions.executeTool({connector,identifier,toolName: 'theirstack_get_company_buying_intents',toolInput: {},})console.log(result)Terminal window npx tsx quickstart.mtsquickstart.py import osfrom scalekit import ScalekitClientfrom dotenv import load_dotenvload_dotenv()scalekit_client = ScalekitClient(env_url=os.getenv("SCALEKIT_ENVIRONMENT_URL"),client_id=os.getenv("SCALEKIT_CLIENT_ID"),client_secret=os.getenv("SCALEKIT_CLIENT_SECRET"),)actions = scalekit_client.actionsconnection_name = "theirstack"identifier = "user_123"# Generate an authorization link for the userlink_response = actions.get_authorization_link(connection_name=connection_name,identifier=identifier,)print("Authorize TheirStack:", link_response.link)input("Press Enter after authorizing...")# Make your first callresult = actions.execute_tool(tool_input={},tool_name="theirstack_get_company_buying_intents",connection_name=connection_name,identifier=identifier,)print(result)Terminal window python quickstart.pyEach user opens the link once and enters their TheirStack credentials there. See Authorize a user for the full flow and statuses.
Tools
Pass the exact name toexecute_tooltheirstack_get_company_buying_intentsLook up the buying intent topics detected for one company from its job postings, such as projects, initiatives and tools it is investing in.Read-onlyGet Company Buying Intents
Look up the buying intent topics detected for one company from its job postings, such as projects, initiatives and tools it is investing in. Returns each topic with confidence (low, medium, high), job counts, first and last dates found, and rank within its category. Use get_company_buying_intents for the investment signals of one known company. Use get_company_technologies for its technology stack. Each lookup uses 3 API credits. At least one of company_domain, company_name or company_linkedin_url must be set.
Inputs
company_domainstring- Only return companies that match this domain exactly. It accepts full urls (https://www.google.com/) and emails (andrew@stripe.com).
company_idstring- Only return companies that match this TheirStack Company ID exactly. This ID is temporary and internal and will change in the future and become stable. Until then, it is only meant to be used internally by our UI (app.theirstack.com). For deduplication logic, use company_domain or company_linkedin_url instead.
company_linkedin_urlstring- Return companies whose LinkedIn URL matches this URL exactly.
company_namestring- Only return companies that match this name exactly, case-sensitively.
confidence_orarray- Only return keywords (technologies or buying intent topics) detected with any of these confidence levels. Available values: "high", "medium", "low"
first_date_found_gtestring- Only return keywords (technologies or buying intent topics) where the first time they were found was after or on this date. Format: "YYYY-MM-DD"
include_total_resultsboolean- When enabled, calculates and returns `total_results` and `total_companies` fields in the response. WARNING: This significantly slows down responses as it requires reading the entire dataset. Recommended usage: enable only for the initial request to get totals, then disable for subsequent pagination requests.
keyword_category_slug_orarray- Only return keywords from any of these categories. Case sensitive. Pass slugs. Check out all keyword categories at GET /v1/catalog/keywords/categories
keyword_parent_category_slug_orarray- Only return keywords from any of these parent categories. Case sensitive. Pass slugs. Check out all keyword categories at GET /v1/catalog/keywords/categories
keyword_slug_orarray- Only return these keywords (technologies or buying intent topics). Case sensitive. Pass slugs. Check out all keywords at GET /v0/catalog/keywords
last_date_found_gtestring- Only return keywords (technologies or buying intent topics) where the last time they were found was after or on this date. Format: "YYYY-MM-DD"
limitinteger- Number of results per page
max_jobsinteger- Maximum number of jobs in which each company mentions the keyword (technology or buying intent topic)
min_jobsinteger- Minimum number of jobs in which each company mentions the keyword (technology or buying intent topic)
offsetinteger- Number of results to skip. Required for offset-based pagination.
pageinteger- Page number. Required when using page-based pagination.
theirstack_get_company_listGet one company list by ID.Read-onlyGet Company List
Get one company list by ID. Returns the list's name, owner, type, creation date and number of companies. The companies themselves are not included. Use get_company_list for list details. Use list_companies_in_list to read the companies in it.
Inputs
list_idintegerrequired- ID of the company list. Use list_company_lists to find it.
theirstack_get_company_technologiesLook up the technologies one company uses, detected from its job postings.Read-onlyGet Company Technologies
Look up the technologies one company uses, detected from its job postings. Returns each technology with confidence (low, medium, high), job counts, first and last dates found, and rank within its category. Use get_company_technologies to see the tech stack of one known company. Use search_companies to find companies by technology. Each lookup uses 3 API credits. At least one of company_domain, company_name or company_linkedin_url must be set.
Inputs
company_domainstring- Only return companies that match this domain exactly. It accepts full urls (https://www.google.com/) and emails (andrew@stripe.com).
company_idstring- Only return companies that match this TheirStack Company ID exactly. This ID is temporary and internal and will change in the future and become stable. Until then, it is only meant to be used internally by our UI (app.theirstack.com). For deduplication logic, use company_domain or company_linkedin_url instead.
company_linkedin_urlstring- Return companies whose LinkedIn URL matches this URL exactly.
company_namestring- Only return companies that match this name exactly, case-sensitively.
confidence_orarray- Only return keywords (technologies or buying intent topics) detected with any of these confidence levels. Available values: "high", "medium", "low"
first_date_found_gtestring- Only return keywords (technologies or buying intent topics) where the first time they were found was after or on this date. Format: "YYYY-MM-DD"
include_total_resultsboolean- When enabled, calculates and returns `total_results` and `total_companies` fields in the response. WARNING: This significantly slows down responses as it requires reading the entire dataset. Recommended usage: enable only for the initial request to get totals, then disable for subsequent pagination requests.
keyword_category_slug_orarray- Only return keywords from any of these categories. Case sensitive. Pass slugs. Check out all keyword categories at GET /v1/catalog/keywords/categories
keyword_parent_category_slug_orarray- Only return keywords from any of these parent categories. Case sensitive. Pass slugs. Check out all keyword categories at GET /v1/catalog/keywords/categories
keyword_slug_orarray- Only return these keywords (technologies or buying intent topics). Case sensitive. Pass slugs. Check out all keywords at GET /v0/catalog/keywords
last_date_found_gtestring- Only return keywords (technologies or buying intent topics) where the last time they were found was after or on this date. Format: "YYYY-MM-DD"
limitinteger- Number of results per page
max_jobsinteger- Maximum number of jobs in which each company mentions the keyword (technology or buying intent topic)
min_jobsinteger- Minimum number of jobs in which each company mentions the keyword (technology or buying intent topic)
offsetinteger- Number of results to skip. Required for offset-based pagination.
pageinteger- Page number. Required when using page-based pagination.
theirstack_get_credit_balanceGet the team's current TheirStack credit balance.Read-onlyGet Credit Balance
Get the team's current TheirStack credit balance. Returns UI credits and API credits available, credits used in the current billing cycle, and the earliest expiration date. Use get_credit_balance before large searches to check available credits. This call is read-only.
Inputs
This tool takes no inputs.
theirstack_get_saved_searchGet one saved search by ID.Read-onlyGet Saved Search
Get one saved search by ID. Returns its name, type, filters, email alert settings and whether a webhook is active on it. Use get_saved_search for one known search. Use list_saved_searches to browse them all.
Inputs
search_idintegerrequired- ID of the saved search. Use list_saved_searches to find it.
theirstack_list_companies_in_listList the companies in one company list, with sorting and name filtering.Read-onlyList Companies In List
List the companies in one company list, with sorting and name filtering. Returns each entry with company name, the date it was added, the date it was revealed, and the company profile. Use list_companies_in_list to read the contents of a list. Use get_company_list for list details only.
Inputs
list_idintegerrequired- ID of the company list. Use list_company_lists to find it.
company_name_partialstring- Pass a partial company name to filter the list of companies
limitinteger- Number of results per page
offsetinteger- Number of results to skip. Required for offset-based pagination.
order_bystring- Order by fieldone of
revealed_atname order_directionstring- Order directionone of
ascdesc pageinteger- Page number. Required when using page-based pagination.
theirstack_list_company_countriesList countries with the number of companies headquartered in each.Read-onlyList Company Countries
List countries with the number of companies headquartered in each. Returns each country with ISO 2-letter code, country name and company count. Use list_company_countries to find headquarters country codes for company filters. Use list_job_countries for job locations instead. The call is free.
Inputs
countrystring- Name of a country. Will return the country matching their name in English
limitinteger- Number of results per page
pageinteger- Page number.
theirstack_list_company_listsList all company lists of the team.Read-onlyList Company Lists
List all company lists of the team. Returns each list with id, name, type, number of companies, creation date and owner. Use list_company_lists to find a list ID before get_company_list, list_companies_in_list, add_companies_to_list or rename_company_list.
Inputs
This tool takes no inputs.
theirstack_list_industriesList industries (LinkedIn Industry Codes V2), searchable by name.Read-onlyList Industries
List industries (LinkedIn Industry Codes V2), searchable by name. Returns each industry with id, name, hierarchy, description, parent id, and the number of companies and jobs in it. Use list_industries to find the IDs that the industry_id_or and industry_id_not filters of search_companies expect. The call is free.
Inputs
industrystring- Name of an industry, case-insensitive. Will return industries that contain the given string either in their name, hierarchy or description
limitinteger- Number of results per page
pageinteger- Page number.
theirstack_list_job_countriesList countries with the number of jobs located there and the number of companies hiring there.Read-onlyList Job Countries
List countries with the number of jobs located there and the number of companies hiring there. Returns each country with ISO 2-letter code, country name, job count and company count. Use list_job_countries to find job country codes and gauge hiring volume per country. Use list_company_countries for headquarters counts instead. The call is free.
Inputs
countrystring- Name of a country. Will return the country matching their name in English
limitinteger- Number of results per page
pageinteger- Page number.
theirstack_list_keyword_categoriesList the main categories of technologies and buying intent topics.Read-onlyList Keyword Categories
List the main categories of technologies and buying intent topics. Returns each category with name, slug, description, and the number of keywords and companies in it. Use list_keyword_categories to browse categories and get slugs for category filters. Use list_keyword_subcategories for the next level down.
Inputs
category_slugstring- Optional category slug to filter and return only a specific category
theirstack_list_keyword_subcategoriesList keyword subcategories with a sample of the keywords in each, optionally for one parent category.Read-onlyList Keyword Subcategories
List keyword subcategories with a sample of the keywords in each, optionally for one parent category. Returns each subcategory with name, slug, description, counts of keywords and companies, and a sample of its technologies. Use list_keyword_subcategories to drill into a category from list_keyword_categories. Use list_keywords to search keywords directly. subcategory_slug works only together with category_slug.
Inputs
category_slugstring- Parent category slug to filter subcategories. If provided with subcategory_slug, returns only that specific subcategory. If provided alone, returns all subcategories for that parent category.
num_technologies_per_categoryinteger- Number of keywords per category to include in the response
subcategory_slugstring- Subcategory slug to filter by a specific subcategory. Must be used together with category_slug.
theirstack_list_keywordsList the technologies and buying intent topics TheirStack tracks, searchable by name, type or category.Read-onlyList Keywords
List the technologies and buying intent topics TheirStack tracks, searchable by name, type or category. Returns each keyword with name, slug, type, category, parent category, description, and the number of jobs and companies that mention it. Use list_keywords to look up the slugs that search_jobs, search_companies and get_company_technologies filters expect. Use list_keyword_categories to browse categories. The call is free.
Inputs
category_slugstring- Keyword category slug
keyword_typestring- Keyword type to filter byone of
technologysoftware_producttechnology_conceptoperational_activitystrategic_initiativemetric_or_conceptproduct_or_service_offeredregulationthreat_or_riskeventcommodityindustry_verticalphysical_equipmentmedical_researchgovernment_body limitinteger- Number of results per page
name_patternstring- Case-insensitive text to search for in the keyword name
pageinteger- Page number.
parent_category_slugstring- Keyword parent category slug
qstring- General search query. Searches across keyword name, keyword type, category, and parent category (case-insensitive). Results where the keyword name starts with the query are ranked first.
slugarray- Keyword slug of a single keyword
theirstack_list_locationsSearch geographic locations by name, country code or ID.Read-onlyList Locations
Search geographic locations by name, country code or ID. Returns each location with id, name, region, country code, country name, feature type and display name. Use list_locations to find the location IDs that the job_location_or and job_location_not filters of search_jobs expect.
Inputs
country_codestring- The country code of the location, all the returned locations will be filtered by this country code
feature_codestring- GeoNames feature code(s) to filter by location type (e.g. PPL=populated place, ADM1=first-order admin division). See https://www.geonames.org/export/codes.html
idinteger- The ids of the locations
limitinteger- The limit of the results
namestring- Search value for the location, this will be used to filter the locations by name
offsetinteger- The offset of the results
theirstack_list_saved_searchesList the team's active saved job and company searches.Read-onlyList Saved Searches
List the team's active saved job and company searches. Returns each saved search with id, name, type, filters, alert settings, owner and dates. Archived searches are excluded. Use list_saved_searches to find a saved search ID. Use get_saved_search for one search in full.
Inputs
order_bystring- Order by fieldone of
namecreated_atupdated_at order_directionstring- Order directionone of
ascdesc typesstring- Filter by type of searchone of
companiesjobs
theirstack_search_companiesSearch companies by firmographics (industry, country, size, revenue, funding), the technologies they use, and the roles or technologies they are hiring for.Read-onlySearch Companies
Search companies by firmographics (industry, country, size, revenue, funding), the technologies they use, and the roles or technologies they are hiring for. Returns matching companies with id, name, domain, industry, country, employee count, LinkedIn URL, funding, technology slugs and job counts, plus metadata with result totals. Use search_companies to build a list of target accounts. Use search_jobs for individual postings and get_company_technologies for one known company's full tech stack. Each company returned uses 3 API credits. Pass company_id values from the results to add_companies_to_list.
Inputs
company_country_code_notarray- Return companies whose HQ country code is not any of the ones passed here, case sensitive. Pass ISO2 country codes.
company_country_code_orarray- Return companies whose HQ country code is any of the ones passed here, case sensitive. Pass ISO2 country codes.
company_description_pattern_orarray- Case-insensitive patterns to match in the company description. Will return companies that match any of the patterns.
company_domain_notarray- Only return companies that don't match these domains exactly. It accepts full urls (https://www.google.com/) and emails (andrew@stripe.com).
company_domain_orarray- Only return companies that match these domains exactly. It accepts full urls (https://www.google.com/) and emails (andrew@stripe.com). This filter acts as an OR filter, so if you pass more than one company domain, it will return companies that match any of the domains.
company_id_orarray- Only return companies that match these IDs exactly. This filter acts as an OR filter, so if you pass more than one company ID, it will return companies that match any of the IDs.
company_investors_partial_match_orarray- Investors of the company. Will return companies for which any of their investors contains any of the substrings passed here. For example, if you pass 'andree', all funds that match it (like 'Andreessen Horowitz', 'Andreessen Horowitz LLC', etc).
company_keyword_slug_andarray- Return results from companies that have mentioned all of these keywords in their jobs. Case sensitive. Pass slugs. Check out all the keywords we track at GET /v0/catalog/keywords
company_keyword_slug_notarray- Return results from companies that haven't mentioned any of these keywords in their jobs. Case sensitive. Pass slugs. Check out all the keywords we track at GET /v0/catalog/keywords
company_keyword_slug_orarray- Return results from companies that have mentioned any of these keywords in their jobs. Case sensitive. Pass slugs. Check out all the keywords we track at GET /v0/catalog/keywords
company_linkedin_url_orarray- Return companies whose LinkedIn page matches any of the values passed here. Both forms of LinkedIn company URL work — the vanity slug (`https://www.linkedin.com/company/google/`) and the numeric company ID (`https://www.linkedin.com/company/1038`) — as do a bare slug (`google`) and a bare numeric ID (`1038`). A numeric value is matched against the company's LinkedIn ID and its slug, so you do not need to know which of the two you are holding. We have a LinkedIn slug for ~26% of companies and a numeric LinkedIn ID for ~14%, so if you have the company's domain, `company_domain_or` matches more often.
company_list_id_notarray- Return companies that don't belong to any of the company lists passed here
company_list_id_orarray- Return companies that belong to any of the company lists passed here
company_location_pattern_orarray- Return companies whose city matches any of the patterns passed here. Case insensitive. For example, if you pass 'san francisco', it will return companies whose city is 'San Francisco', 'San Francisco Bay Area', etc.
company_name_case_insensitive_orarray- Only return companies that match these names exactly, case-insensitively.
company_name_notarray- Only return companies that don't match these names exactly, case-sensitively.
company_name_orarray- Only return companies that match these names exactly, case-sensitively. This filter acts as an OR filter, so if you pass more than one company name, it will return companies that match any of the names.
company_name_partial_match_orarray- Company names. Will return companies whose name contains any of the substrings passed here, case-insensitively. For example, if you pass "google", it will return "Google", "Google LLC", "Google Inc", etc.
company_tags_orarray- Return companies that match any of these keywords
company_technology_slug_andarray- Return results from companies that have mentioned all of these technologies in their jobs (in job searches, not necessarily in the jobs returned). Case sensitive. Pass slugs. Check out all the technologies we track at GET /v0/catalog/keywords with `keyword_type=technology`
company_technology_slug_notarray- Return results from companies that haven't mentioned any of these technologies in their jobs. Case sensitive. Pass slugs. Check out all the technologies we track at GET /v0/catalog/keywords with `keyword_type=technology`
company_technology_slug_orarray- Return results from companies that have mentioned any of these technologies in their jobs (in job searches, not necessarily in the jobs returned). Case sensitive. Pass slugs. Check out all the technologies we track at GET /v0/catalog/keywords with `keyword_type=technology`
company_typestring- Filter by company type.one of
recruiting_agencydirect_employerall funding_stage_orarray- Funding stages of companies returned. Possible values: ['angel', 'convertible_note', 'debt_financing', 'equity_crowdfunding', 'other', 'private_equity', 'seed', 'series_a', 'series_b', 'series_c', 'series_d', 'series_e', 'series_f', 'series_g', 'series_h', 'venture_round_not_specified', 'series_i', 'series_j', 'undisclosed', 'series_unknown', 'pre_seed', 'post_ipo_secondary', 'post_ipo_equity', 'post_ipo_debt', 'non_equity_assistance', 'late_vc', 'initial_coin_offering', 'growth_equity_vc', 'grant', 'early_vc', 'corporate_round', 'secondary_market', 'product_crowdfunding']
include_total_resultsboolean- When enabled, calculates and returns `total_results` and `total_companies` fields in the response. WARNING: This significantly slows down responses as it requires reading the entire dataset. Recommended usage: enable only for the initial request to get totals, then disable for subsequent pagination requests.
industry_id_notarray- Industry ids to exclude. You can use any of LinkedIn's Industry Codes V2 or GET /v0/catalog/industries
industry_id_orarray- Industry codes. You can use any of LinkedIn's Industry Codes V2 or GET /v0/catalog/industries
job_filtersobject- Filter companies by the jobs they have posted. Takes the job filters of the job search endpoint and requires a date filter (`posted_at_max_age_days`, `posted_at_gte` or `posted_at_lte`). Returns companies with at least one matching job, or at least `min_num_jobs_found` if set.
last_funding_round_date_gtestring- Only return companies whose last funding round date is after or on this date. Format: 'YYYY-MM-DD'
last_funding_round_date_ltestring- Only return companies whose last funding round date is before or on this date. Format: 'YYYY-MM-DD'
limitinteger- Number of results per page
max_employee_countinteger- Maximum number of employees in a company
max_funding_usdinteger- Maximum company funding, in USD
max_revenue_usdinteger- Maximum company revenue, in USD
min_employee_countinteger- Minimum number of employees in a company
min_funding_usdinteger- Minimum company funding, in USD
min_num_jobs_foundinteger- Minimum number of jobs matching `job_filters` a company must have to be returned (thresholds the `num_jobs_found` count). Requires `job_filters` with a date filter, so the count is always computed over the date-bounded set of matching jobs.
min_revenue_usdinteger- Minimum company revenue, in USD
offsetinteger- Number of results to skip. Required for offset-based pagination.
only_yc_companiesboolean- Only return YC companies
pageinteger- Page number. Required when using page-based pagination.
property_exists_andarray- Return companies that have all of these fields not null. For example, if you pass ['domain', 'linkedin_url'], it will return companies that have both domain AND linkedin_url set.
theirstack_search_jobsSearch job postings by title, description keywords, technology, location, salary, seniority, workplace type, posting date and company.Read-onlySearch Jobs
Search job postings by title, description keywords, technology, location, salary, seniority, workplace type, posting date and company. Returns matching jobs with id, job title, url, date posted, company, location, salary, seniority, technology slugs and description, plus metadata with result totals. Use search_jobs to find individual job postings. Use search_companies to find companies and get_company_technologies for one company's tech stack. Each job returned uses 1 API credit. At least one of posted_at_max_age_days, posted_at_gte, posted_at_lte, job_id_or, company_domain_or, company_linkedin_url_or, company_name_or, company_name_case_insensitive_or or company_name_partial_match_or must be set, otherwise the request fails.
Inputs
company_country_code_orarray- Return companies whose HQ country code is any of the ones passed here, case sensitive. Pass ISO2 country codes.
company_domain_notarray- Only return companies that don't match these domains exactly. It accepts full urls (https://www.google.com/) and emails (andrew@stripe.com).
company_domain_orarray- Only return companies that match these domains exactly. It accepts full urls (https://www.google.com/) and emails (andrew@stripe.com). This filter acts as an OR filter, so if you pass more than one company domain, it will return companies that match any of the domains.
company_id_orarray- Only return companies that match these IDs exactly. This filter acts as an OR filter, so if you pass more than one company ID, it will return companies that match any of the IDs.
company_linkedin_url_orarray- Return companies whose LinkedIn page matches any of the values passed here. Both forms of LinkedIn company URL work — the vanity slug (`https://www.linkedin.com/company/google/`) and the numeric company ID (`https://www.linkedin.com/company/1038`) — as do a bare slug (`google`) and a bare numeric ID (`1038`). A numeric value is matched against the company's LinkedIn ID and its slug, so you do not need to know which of the two you are holding. We have a LinkedIn slug for ~26% of companies and a numeric LinkedIn ID for ~14%, so if you have the company's domain, `company_domain_or` matches more often.
company_name_case_insensitive_orarray- Only return companies that match these names exactly, case-insensitively.
company_name_orarray- Only return companies that match these names exactly, case-sensitively. This filter acts as an OR filter, so if you pass more than one company name, it will return companies that match any of the names.
company_name_partial_match_orarray- Company names. Will return companies whose name contains any of the substrings passed here, case-insensitively. For example, if you pass "google", it will return "Google", "Google LLC", "Google Inc", etc.
company_technology_slug_orarray- Return results from companies that have mentioned any of these technologies in their jobs (in job searches, not necessarily in the jobs returned). Case sensitive. Pass slugs. Check out all the technologies we track at GET /v0/catalog/keywords with `keyword_type=technology`
company_typestring- Filter by company type.one of
recruiting_agencydirect_employerall discovered_at_gtestring- Only jobs discovered by TheirStack on this date or datetime or after will be returned. In UTC timezone.
discovered_at_ltestring- Only jobs discovered by TheirStack on this date or datetime or before will be returned. In UTC timezone.
discovered_at_max_age_daysinteger- If 0, only return jobs added to our database in the current day. If 1, from today and yesterday, etc.
employment_statuses_orarray- Filter jobs by employment status. Returns jobs that match any of the specified employment types. If no values are provided or an empty list is sent, all jobs regardless of employment status will be returned.
include_total_resultsboolean- When enabled, calculates and returns `total_results` and `total_companies` fields in the response. WARNING: This significantly slows down responses as it requires reading the entire dataset. Recommended usage: enable only for the initial request to get totals, then disable for subsequent pagination requests.
is_closedboolean- If True, only return closed jobs (jobs where TheirStack detected the posting was closed). If False, only return open jobs. If None, return all jobs regardless of closure status.
job_country_code_notarray- 2-letter ISO country code of the location of the job. Can pass more than 1. Will exclude jobs from these countries
job_country_code_orarray- 2-letter ISO country code of the location of the job. Can pass more than 1
job_description_contains_notarray- Exclude jobs whose description contains any of these whole words using word boundaries (\b). Case-insensitive by default, except for the patterns that are uppercase - in that case we'll respect it. Only finds complete words (e.g., searching 'quality' won't match 'inequality'). Results will exclude jobs whose description contains any of these words.
job_description_contains_orarray- Search for whole words in job descriptions using word boundaries (\b). Case-insensitive by default, except for the patterns that are uppercase - in that case we'll respect it. Only finds complete words (e.g., searching 'quality' won't match 'inequality'). Results will include jobs whose description contains any of these words.
job_description_pattern_orarray- Regex patterns to look for in job descriptions. Case-sensitive. Results will include jobs whose description matches any of these patterns. Use (?i) at the start of a pattern to make it case-insensitive. Can pass more than one.
job_id_orarray- Get jobs with these IDs only.
job_keyword_slug_orarray- Will return jobs where any of these keyword slugs appear. Case sensitive. Check out all the keywords we track at GET /v0/catalog/keywords
job_location_notarray- Filter jobs by location. Returns jobs whose locations DO NOT match ANY of the specified location criteria. Each location criteria is specified using a JobLocationFilter object. (You can find location IDs using the locations catalog endpoint)
job_location_orarray- Filter jobs by location. Returns jobs whose locations match ANY of the specified location criteria. Each location criteria is specified using a JobLocationFilter object. (You can find location IDs using the locations catalog endpoint)
job_seniority_orarray- Will return jobs where the seniority is any of the ones passed here
job_technology_slug_andarray- Will return jobs where all of these technologies appear. Case sensitive. Pass slugs. Check out all the technologies we track at GET /v0/catalog/keywords with `keyword_type=technology`.
job_technology_slug_notarray- Will return jobs where none of these technologies appear. Case sensitive. Pass slugs. Check out all the technologies we track at GET /v0/catalog/keywords with `keyword_type=technology`.
job_technology_slug_orarray- Will return jobs where any of these technologies appear. Case sensitive. Pass slugs. Check out all the technologies we track at GET /v0/catalog/keywords with `keyword_type=technology`. If you pass more than one technology, we will return jobs that mention at least one of them.
job_title_notarray- Keyword-based patterns to exclude job titles. Case-insensitive. Excludes jobs whose title contains all the words in any of the patterns, in any order. For example, `marketing vp` excludes titles such as `VP of Marketing` or `Marketing VP, EMEA`.
job_title_orarray- Keyword-based patterns to match job titles. Case-insensitive. Returns jobs whose title contains all the words in any of the patterns, in any order. For example, `marketing vp` matches titles such as `VP of Marketing` or `Marketing VP, EMEA`. Passing `["software engineer", "data scientist"]` returns jobs matching either pattern.
limitinteger- Number of results per page
max_employee_countinteger- Maximum number of employees in a company
max_salary_usdnumber- Maximum annual salary in USD. For example, 150000 means $150,000.
min_employee_countinteger- Minimum number of employees in a company
min_salary_usdnumber- Minimum annual salary in USD. For example, 100000 means $100,000.
offsetinteger- Number of results to skip. Required for offset-based pagination.
pageinteger- Page number. Required when using page-based pagination.
posted_at_gtestring- ISO 8601 date string (yyyy-mm-dd). Only jobs published in this date or after will be returned.
posted_at_ltestring- ISO 8601 date string (yyyy-mm-dd). Only jobs published in this date or before will be returned.
posted_at_max_age_daysinteger- Date posted max age in days. If 0, only return jobs posted today. If 1, from today and yesterday, etc.
workplace_types_orarray- Filter jobs by workplace type. Returns jobs that match any of the specified workplace types. `on_site` matches jobs that are neither hybrid nor remote. If no values are provided or an empty list is sent, jobs are not filtered by workplace type.
theirstack_add_companies_to_listAdd companies to one company list by company ID.WriteAdd Companies To List
Add companies to one company list by company ID. Returns the list with its new company count. Use add_companies_to_list after search_companies to save results. Use create_company_list first if no list exists.
Inputs
company_idsarrayrequired- Company IDs to add, taken from the id of each company in a search_companies result.
list_idintegerrequired- ID of the company list. Use list_company_lists to find it.
theirstack_archive_saved_searchArchive one saved search so it no longer appears in the active list.WriteArchive Saved Search
Archive one saved search so it no longer appears in the active list. Returns the API's confirmation response. Webhooks attached to the search stop triggering. Use archive_saved_search to retire a saved search. Use list_saved_searches to find the ID.
- Idempotent
Inputs
search_idintegerrequired- ID of the saved search. Use list_saved_searches to find it.
theirstack_create_company_listCreate an empty company list for the team.WriteCreate Company List
Create an empty company list for the team. Returns the new list with its id, name, type and company count. Use create_company_list to start a new list, then add companies with add_companies_to_list.
Inputs
namestringrequired- Name of the new company list.
theirstack_create_saved_searchSave a job or company search so it can be run again or opened in the TheirStack app.WriteCreate Saved Search
Save a job or company search so it can be run again or opened in the TheirStack app. Returns the saved search with id, name, type, filters, alert settings and creation date. Use create_saved_search to store filters you want to reuse. Saving costs no credits. The body uses the same filters as search_jobs (type jobs) or search_companies (type companies).
Inputs
bodyobjectrequired- Search filters to save, as an object. Use the same filter names as search_jobs when type is jobs, or search_companies when type is companies.
typestringrequired- Type of search to save: companies or jobs.one of
companiesjobs is_alert_activeboolean- Set to true to email new results to the creator, weekly by default.
namestring- Name of the saved search. A name is generated from the filters when omitted.
theirstack_duplicate_company_listCopy one company list, with all its companies, into a new list owned by the caller.WriteDuplicate Company List
Copy one company list, with all its companies, into a new list owned by the caller. Returns the new list with its id, name (the original name plus ' (copy)'), type and company count. Use duplicate_company_list to branch a list before editing it.
Inputs
list_idintegerrequired- ID of the company list. Use list_company_lists to find it.
theirstack_remove_companies_from_listRemove companies from one company list by company ID.WriteRemove Companies From List
Remove companies from one company list by company ID. Returns the list with its new company count. Only their place in this list is removed; the companies and any other list holding them are not affected. Use remove_companies_from_list to prune a list. Use delete_company_list to delete the whole list.
Inputs
company_idsarrayrequired- Company IDs to remove, taken from the id of each company in a search_companies result.
list_idintegerrequired- ID of the company list. Use list_company_lists to find it.
theirstack_rename_company_listRename one company list.WriteRename Company List
Rename one company list. Returns the updated list with its id, new name, type and company count. Use rename_company_list to change a list's name. The Companies seen list can't be renamed.
- Idempotent
Inputs
list_idintegerrequired- ID of the company list. Use list_company_lists to find it.
new_namestringrequired- New name for the company list.
theirstack_delete_company_listPermanently delete one company list.DestructiveDelete Company List
Permanently delete one company list. Returns the API's confirmation response. Only the list is removed; the companies in it and any other list holding them are not affected. Use delete_company_list to remove a list for good. Use remove_companies_from_list to take companies out of a list instead. Only the list's owner can delete it, and the Companies seen list can't be deleted.
- Idempotent
Inputs
list_idintegerrequired- ID of the company list. Use list_company_lists to find it.
No tools match.