API Job Search

Job Search Theirstack API

Cherchez dans l’index des offres d’emploi de TheirStack par entreprise, technologie, mot-clé, intitulé, niveau hiérarchique, salaire, lieu et ancienneté de la publication, et obtenez la fiche firmographique complète de l’entreprise qui recrute avec chaque offre. Facturé par offre renvoyée.

67,20 $US/1k résultats, paiement à la requête, sans abonnement.

Job Search - TheirStack
app.theirstack.com/jobs
TheirStack
DataJob SearchCompaniesSignals
Search job title, company, or domain
Filters:data analystUSPosted ≤ 14d
Job titleCompanyLocationPostedSalary
Senior Data Analyst, Revenue OperationsBBrightloop AnalyticsAustin, TXSep 22, 2026$110,000 - $140,000
Data Analyst - Supply ChainFFernwood LogisticsColumbus, OHSep 18, 2026$85,000 - $105,000
Junior Data AnalystCCobalt Peak SystemsRemoteSep 25, 2026$65,000 - $80,000
Ce que l’API a renvoyéjobs[0]
{
"jobId": "ts_88213945",
"title": "Senior Data Analyst, Revenue Operations",
"normalizedTitle": "Data Analyst",
"url": "https://www.brightloopanalytics.com/careers/senior-data-analyst-revops",
"sourceUrl": "https://boards.greenhouse.io/brightloop/jobs/6621394",
"finalUrl": "https://www.brightloopanalytics.com/careers/senior-data-analyst-revops",
"companyName": "Brightloop Analytics",
"companyDomain": "brightloopanalytics.com",
+31 champs de plus
}
Disponibilité
100,00%
30d · 1 appel
Requêtes
1
30d
Réponse
9,7s
médiane · 30d

L’appeler

Obtenez Job Search Theirstack en une requête

import os, requests

res = requests.post(
    "https://api.getanyapi.com/v1/run/job_search.theirstack",
    headers={"Authorization": f"Bearer {os.environ['ANYAPI_KEY']}"},
    json={},
)
print(res.json())
Ouvrir dans
Obtenir une clé gratuite
Exemple de réponse
{
  "found": true,
  "data": {
    "jobs": [
      {
        "jobId": "ts_88213945",
        "title": "Senior Data Analyst, Revenue Operations",
        "normalizedTitle": "Data Analyst",
        "url": "https://www.brightloopanalytics.com/careers/senior-data-analyst-revops",
        "sourceUrl": "https://boards.greenhouse.io/brightloop/jobs/6621394",
        "finalUrl": "https://www.brightloopanalytics.com/careers/senior-data-analyst-revops",
        "companyName": "Brightloop Analytics",
        "companyDomain": "brightloopanalytics.com",
        "postedUtc": 1790085600,
        "discoveredUtc": 1790128800,
        "remote": true,
        "hybrid": false,
        "seniority": "senior",
        "employmentStatuses": [
          "full_time"
        ],
        "easyApply": false,
        "salaryString": "$110,000 - $140,000",
        "salaryCurrency": "USD",
        "minAnnualSalary": 110000,
        "maxAnnualSalary": 140000,
        "minAnnualSalaryUsd": 110000,
        "maxAnnualSalaryUsd": 140000,
        "avgAnnualSalaryUsd": 125000,
        "technologySlugs": [
          "sql",
          "looker",
          "snowflake"
        ],
        "keywordSlugs": [
          "revenue-operations",
          "forecasting"
        ],
        "location": "Austin, TX, United States",
        "shortLocation": "Austin, TX",
        "longLocation": "Austin, Texas, United States",
        "stateCode": "TX",
        "postalCode": "78701",
        "country": "United States",
        "countryCode": "US",
        "countryCodes": [
          "US"
        ],
        "countries": [
          "United States"
        ],
        "cities": [
          "Austin"
        ],
        "continents": [
          "NA"
        ],
        "latitude": 30.2672,
        "longitude": -97.7431,
        "company": {
          "companyId": "cmp_51029",
          "name": "Brightloop Analytics",
          "domain": "brightloopanalytics.com",
          "url": "https://www.brightloopanalytics.com",
          "image": "https://logo.clearbit.com/brightloopanalytics.com",
          "industry": "Data Infrastructure & Analytics",
          "industryId": "ind_0142",
          "employeeCount": 210,
          "employeeCountRange": "201-500",
          "foundedYear": 2018,
          "city": "Austin",
          "postalCode": "78701",
          "country": "United States",
          "countryCode": "US",
          "linkedinUrl": "https://www.linkedin.com/company/brightloop-analytics",
          "fundingStage": "series_b",
          "totalFundingUsd": 42000000,
          "annualRevenueUsd": 18000000,
          "annualRevenueReadable": "18M"
        },
        "locations": [
          {
            "name": "Austin, TX",
            "locationId": "loc_78701",
            "type": "city",
            "displayName": "Austin, Texas, United States",
            "city": "Austin",
            "state": "Texas",
            "stateCode": "TX",
            "country": "United States",
            "countryCode": "US",
            "continent": "NA",
            "postalCode": "78701",
            "latitude": 30.2672,
            "longitude": -97.7431
          }
        ]
      },
      {
        "jobId": "ts_88214102",
        "title": "Data Analyst - Supply Chain",
        "normalizedTitle": "Data Analyst",
        "url": "https://jobs.fernwoodlogistics.com/positions/4471",
        "sourceUrl": "https://jobs.lever.co/fernwoodlogistics/9a12bc",
        "companyName": "Fernwood Logistics",
        "companyDomain": "fernwoodlogistics.com",
        "postedUtc": 1789725600,
        "discoveredUtc": 1789790400,
        "remote": false,
        "hybrid": true,
        "seniority": "mid_level",
        "employmentStatuses": [
          "full_time"
        ],
        "easyApply": true,
        "salaryString": "$85,000 - $105,000",
        "salaryCurrency": "USD",
        "minAnnualSalary": 85000,
        "maxAnnualSalary": 105000,
        "minAnnualSalaryUsd": 85000,
        "maxAnnualSalaryUsd": 105000,
        "avgAnnualSalaryUsd": 95000,
        "technologySlugs": [
          "python",
          "tableau"
        ],
        "keywordSlugs": [
          "supply-chain",
          "logistics"
        ],
        "location": "Columbus, OH, United States",
        "shortLocation": "Columbus, OH",
        "stateCode": "OH",
        "country": "United States",
        "countryCode": "US",
        "countryCodes": [
          "US"
        ],
        "countries": [
          "United States"
        ],
        "cities": [
          "Columbus"
        ],
        "continents": [
          "NA"
        ],
        "company": {
          "companyId": "cmp_60217",
          "name": "Fernwood Logistics",
          "domain": "fernwoodlogistics.com",
          "url": "https://www.fernwoodlogistics.com",
          "industry": "Freight & Logistics",
          "employeeCount": 640,
          "employeeCountRange": "501-1000",
          "foundedYear": 2011,
          "city": "Columbus",
          "country": "United States",
          "countryCode": "US"
        }
      },
      {
        "jobId": "ts_88214288",
        "title": "Junior Data Analyst",
        "normalizedTitle": "Data Analyst",
        "url": "https://cobaltpeak.com/careers/junior-data-analyst",
        "sourceUrl": "https://boards.greenhouse.io/cobaltpeak/jobs/6688201",
        "companyName": "Cobalt Peak Systems",
        "companyDomain": "cobaltpeak.com",
        "postedUtc": 1790323200,
        "discoveredUtc": 1790366400,
        "remote": true,
        "hybrid": false,
        "seniority": "entry_level",
        "employmentStatuses": [
          "full_time"
        ],
        "easyApply": false,
        "salaryString": "$65,000 - $80,000",
        "salaryCurrency": "USD",
        "minAnnualSalary": 65000,
        "maxAnnualSalary": 80000,
        "minAnnualSalaryUsd": 65000,
        "maxAnnualSalaryUsd": 80000,
        "avgAnnualSalaryUsd": 72500,
        "technologySlugs": [
          "sql",
          "excel"
        ],
        "location": "Remote, United States",
        "shortLocation": "Remote",
        "country": "United States",
        "countryCode": "US",
        "countryCodes": [
          "US"
        ],
        "countries": [
          "United States"
        ],
        "continents": [
          "NA"
        ],
        "company": {
          "companyId": "cmp_71440",
          "name": "Cobalt Peak Systems",
          "domain": "cobaltpeak.com",
          "url": "https://www.cobaltpeak.com",
          "industry": "Industrial Software",
          "employeeCount": 95,
          "employeeCountRange": "51-200",
          "foundedYear": 2020,
          "country": "United States",
          "countryCode": "US"
        }
      }
    ],
    "totalResults": 412,
    "totalCompanies": 288
  }
}

Référence complète des paramètres et de la réponse : chaque champ, type et exemple de cet endpoint.

Référence

Une requête, une seule forme de réponse.

Chaque champ que vous envoyez et chaque champ que vous recevez, avec un vrai exemple.

Dernière vérification : 2026-10-07 · disponibilité et latence mesurées sur 30d

Corps de la requête

JSON, envoyé à cet endpoint.

  • companyCountryCodeNotarray

    Renvoie les entreprises dont le code pays du siège n’est aucun de ceux passés ici, sensible à la casse. Passez des codes pays ISO2.

  • companyCountryCodeOrarray

    Renvoie les entreprises dont le code pays du siège est l’un de ceux passés ici, sensible à la casse. Passez des codes pays ISO2.

  • companyDescriptionPatternAccentInsensitiveboolean

    Mettez True pour que les recherches dans la description de l’entreprise ignorent les accents. Par exemple, « á » correspondra aussi à « a ».

  • companyDescriptionPatternNotarray

    Motifs insensibles à la casse à chercher dans la description de l’entreprise. Renvoie les entreprises qui correspondent à l’un des motifs.

  • companyDescriptionPatternOrarray

    Motifs insensibles à la casse à chercher dans la description de l’entreprise. Renvoie les entreprises qui correspondent à l’un des motifs.

  • companyDomainNotarray

    Ne renvoie que les entreprises qui ne correspondent pas exactement à ces domaines. Accepte les URL complètes (https://www.google.com/) et les e-mails (john.polo@gmail.com).

  • companyDomainOrarray

    Ne renvoie que les entreprises qui correspondent exactement à ces domaines. Accepte les URL complètes (https://www.google.com/) et les e-mails (john.polo@gmail.com). Ce filtre agit comme un filtre OU, donc si vous passez plusieurs domaines d’entreprise, il renverra les entreprises qui correspondent à l’un des domaines.

  • companyIdOrarray

    Ne renvoie que les entreprises qui correspondent exactement à ces IDs. Ce filtre agit comme un filtre OU, donc si vous passez plusieurs ID d’entreprise, il renverra les entreprises qui correspondent à l’un des IDs.

  • companyInvestorsOrarray

    Investisseurs de l’entreprise

  • companyInvestorsPartialMatchOrarray

    Investisseurs de l’entreprise. Renvoie les entreprises dont l’un des investisseurs contient l’une des sous-chaînes passées ici. Par exemple, si vous passez 'andree', tous les fonds qui y correspondent (comme 'Andreessen Horowitz', 'Andreessen Horowitz LLC', etc).

  • companyKeywordSlugAndarray

    Renvoie les résultats des entreprises qui ont mentionné tous ces mots-clés dans leurs offres. Sensible à la casse. Passez des slugs. Consultez tous les mots-clés que nous suivons sur GET /v0/catalog/keywords

  • companyKeywordSlugNotarray

    Renvoie les résultats des entreprises qui n’ont mentionné aucun de ces mots-clés dans leurs offres. Sensible à la casse. Passez des slugs. Consultez tous les mots-clés que nous suivons sur GET /v0/catalog/keywords

  • companyKeywordSlugOrarray

    Renvoie les résultats des entreprises qui ont mentionné l’un de ces mots-clés dans leurs offres. Sensible à la casse. Passez des slugs. Consultez tous les mots-clés que nous suivons sur GET /v0/catalog/keywords

  • companyLinkedinUrlExistsboolean

    (Utilisez plutôt `property_exists_or / property_exists_and`) Ne renvoie que les entreprises qui ont une URL LinkedIn

  • companyLinkedinUrlOrarray

    Renvoie les entreprises dont l’URL LinkedIn correspond à l’un des slugs passés ici. Vous pouvez aussi passer des URL complètes d’entreprise LinkedIn.

  • companyListIdNotarray

    Renvoie les entreprises qui n’appartiennent à aucune des listes d’entreprises passées ici

  • companyListIdOrarray

    Renvoie les entreprises qui appartiennent à l’une des listes d’entreprises passées ici

  • companyLocationPatternOrarray

    Renvoie les entreprises dont la ville correspond à l’un des motifs passés ici. Insensible à la casse. Par exemple, si vous passez 'san francisco', elle renverra les entreprises dont la ville est 'San Francisco', 'San Francisco Bay Area', etc.

  • companyNameCaseInsensitiveOrarray

    Ne renvoie que les entreprises qui correspondent exactement à ces noms, sans tenir compte de la casse.

  • companyNameNotarray

    Ne renvoie que les entreprises qui ne correspondent pas exactement à ces noms, en tenant compte de la casse.

  • companyNameOrarray

    Ne renvoie que les entreprises qui correspondent exactement à ces noms, en tenant compte de la casse. Ce filtre agit comme un filtre OU, donc si vous passez plusieurs noms d’entreprise, il renverra les entreprises qui correspondent à l’un des noms.

  • companyNamePartialMatchNotarray

    Noms d’entreprise. Renvoie les entreprises dont le nom ne contient aucune des sous-chaînes passées ici, sans tenir compte de la casse. Par exemple, si vous passez « google », elle exclura « Google », « Google LLC », « Google Inc », etc.

  • companyNamePartialMatchOrarray

    Noms d’entreprise. Renvoie les entreprises dont le nom contient l’une des sous-chaînes passées ici, sans tenir compte de la casse. Par exemple, si vous passez « google », elle renverra « Google », « Google LLC », « Google Inc », etc.

  • companyTagsOrarray

    Renvoie les entreprises qui correspondent à l’un de ces mots-clés

  • companyTechnologySlugAndarray

    Renvoie les offres d’entreprises qui ont mentionné toutes ces technologies dans leurs offres (pas forcément dans les offres renvoyées). Sensible à la casse. Passez des slugs. Consultez toutes les technologies que nous suivons sur GET /v0/catalog/technologies. Obsolète : utilisez plutôt company_keyword_slug_and.

  • companyTechnologySlugNotarray

    Renvoie les offres d’entreprises qui n’ont mentionné aucune de ces technologies dans leurs offres. Sensible à la casse. Passez des slugs. Consultez toutes les technologies que nous suivons sur GET /v0/catalog/technologies. Obsolète : utilisez plutôt company_keyword_slug_not.

  • companyTechnologySlugOrarray

    Renvoie les offres d’entreprises qui ont mentionné l’une de ces technologies dans leurs offres (pas forcément dans les offres renvoyées). Sensible à la casse. Passez des slugs. Consultez toutes les technologies que nous suivons sur GET /v0/catalog/technologies. Obsolète : utilisez plutôt company_keyword_slug_or.

  • companyTypestring

    Filtre par type d’entreprise.

  • discoveredAtGtestring

    Seules les offres découvertes par TheirStack à cette date ou datetime, ou après, seront renvoyées. En fuseau UTC.

  • discoveredAtLtestring

    Seules les offres découvertes par TheirStack à cette date ou datetime, ou avant, seront renvoyées. En fuseau UTC.

  • discoveredAtMaxAgeDaysinteger

    Si 0, ne renvoie que les offres ajoutées à notre base de données le jour même. Si 1, celles d’aujourd’hui et d’hier, etc.

  • discoveredAtMinAgeDaysinteger

    Si 1, ne renvoie que les offres découvertes par TheirStack jusqu’à hier. Si 2, jusqu’à il y a 2 jours, etc.

  • easyApplyboolean

    Si True, ne renvoie que les offres auxquelles on peut postuler directement via le site d’emploi. Si False, ne renvoie que les offres qui exigent une redirection vers le site de l’entreprise.

  • employmentStatusesOrarray

    Filtre les offres par type d’emploi. Renvoie les offres qui correspondent à l’un des types d’emploi indiqués. Si aucune valeur n’est fournie ou si une liste vide est envoyée, toutes les offres sont renvoyées quel que soit le type d’emploi.

  • finalUrlExistsboolean

    (Utilisez plutôt `property_exists_or / property_exists_and`) Ne renvoie que les offres avec une URL finale. Généralement les offres publiées à l’origine sur un ATS. Si True, ne renvoie que les offres avec une URL finale. Si False, ne renvoie que les offres sans URL finale. Si None, renvoie toutes les offres.

  • fundingStageOrarray

    Stades de financement des entreprises renvoyées. Valeurs possibles : ['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']

  • hiringManagersExistsboolean

    (Utilisez plutôt `property_exists_or / property_exists_and`) Si True, ne renvoie que les offres avec un responsable du recrutement. Si False, ne renvoie que les offres sans responsable du recrutement. Si None, renvoie toutes les offres.

  • includeTotalResultsboolean

    Quand activé, calcule et renvoie les champs `total_results` et `total_companies` dans la réponse. ATTENTION : cela ralentit nettement les réponses car il faut lire tout le jeu de données. Usage recommandé : activez-le seulement pour la requête initiale afin d’obtenir les totaux, puis désactivez-le pour les requêtes de pagination suivantes.

  • industryIdNotarray

    Ids de secteur à exclure. Vous pouvez utiliser n’importe quel code des Industry Codes V2 de LinkedIn ou GET /v0/catalog/industries

  • industryIdOrarray

    Codes de secteur. Vous pouvez utiliser n’importe quel code des Industry Codes V2 de LinkedIn ou GET /v0/catalog/industries

  • industryNotarray

    Noms de secteurs, insensibles à la casse. Les résultats excluront les entreprises qui appartiennent à l’un des secteurs indiqués dans ce paramètre. Valeurs disponibles : GET /v0/catalog/industries ATTENTION : paramètre obsolète. Utilisez plutôt le champ industry_id_not.

  • industryOrarray

    Noms de secteurs, insensibles à la casse. Les résultats n’incluront que les entreprises qui appartiennent à l’un des secteurs indiqués dans ce paramètre. Valeurs disponibles : GET /v0/catalog/industries ATTENTION : paramètre obsolète. Utilisez plutôt le champ industry_id_or.

  • jobCountryCodeNotarray

    Code pays ISO à 2 lettres du lieu de l’offre. Plusieurs valeurs possibles. Exclut les offres de ces pays

  • jobCountryCodeOrarray

    ["US"]

    Code pays ISO à 2 lettres du lieu de l’offre. Plusieurs valeurs possibles

  • jobDescriptionContainsNotarray

    Exclut les offres dont la description contient l’un de ces mots entiers, avec des limites de mot (\b). Insensible à la casse par défaut, sauf pour les motifs en majuscules, auquel cas nous la respectons. Ne trouve que des mots entiers (p. ex. chercher 'quality' ne correspondra pas à 'inequality'). Les résultats excluront les offres dont la description contient l’un de ces mots.

  • jobDescriptionContainsOrarray

    Cherche des mots entiers dans les descriptions d’offres avec des limites de mot (\b). Insensible à la casse par défaut, sauf pour les motifs en majuscules, auquel cas nous la respectons. Ne trouve que des mots entiers (p. ex. chercher 'quality' ne correspondra pas à 'inequality'). Les résultats incluront les offres dont la description contient l’un de ces mots.

  • jobDescriptionPatternAndarray

    Motifs regex qui doivent TOUS correspondre à la description de l’offre (logique ET). Utilisez (?i) au début d’un motif pour le rendre insensible à la casse. Les résultats n’incluront que les offres dont la description correspond à chaque motif de cette liste.

  • jobDescriptionPatternCaseSensitiveOrarray

    Obsolète. Utilisez plutôt job_description_pattern_or, qui se comporte désormais de façon identique.

  • jobDescriptionPatternIsCaseInsensitiveboolean

    Obsolète. Sans effet.

  • jobDescriptionPatternNotarray

    Motifs regex à chercher dans les descriptions d’offres. Sensible à la casse. Les résultats incluront les offres dont la description ne correspond à aucun de ces motifs. Utilisez (?i) au début d’un motif pour le rendre insensible à la casse. Plusieurs valeurs possibles.

  • jobDescriptionPatternOrarray

    Motifs regex à chercher dans les descriptions d’offres. Sensible à la casse. Les résultats incluront les offres dont la description correspond à l’un de ces motifs. Utilisez (?i) au début d’un motif pour le rendre insensible à la casse. Plusieurs valeurs possibles.

  • jobIdNotarray

    Exclut les offres avec ces IDs.

  • jobIdOrarray

    Obtenez uniquement les offres avec ces IDs.

  • jobIdsarray

    Obtenez uniquement les offres avec ces IDs. Paramètre obsolète, utilisez plutôt job_id_or.

  • jobKeywordSlugAndarray

    Renvoie les offres où tous ces slugs de mots-clés apparaissent. Sensible à la casse. Consultez tous les mots-clés que nous suivons sur GET /v0/catalog/keywords

  • jobKeywordSlugNotarray

    Renvoie les offres où aucun de ces slugs de mots-clés n’apparaît. Sensible à la casse. Consultez tous les mots-clés que nous suivons sur GET /v0/catalog/keywords

  • jobKeywordSlugOrarray

    Renvoie les offres où l’un de ces slugs de mots-clés apparaît. Sensible à la casse. Consultez tous les mots-clés que nous suivons sur GET /v0/catalog/keywords

  • jobLocationNotarray

    Filtre les offres par lieu. Renvoie les offres dont les lieux ne correspondent à AUCUN des critères de lieu indiqués. Chaque critère de lieu est indiqué avec un objet JobLocationFilter. (Vous pouvez trouver les ID de lieu avec l’endpoint du catalogue des lieux)

  • jobLocationOrarray

    Filtre les offres par lieu. Renvoie les offres dont les lieux correspondent à N’IMPORTE QUEL critère de lieu indiqué. Chaque critère de lieu est indiqué avec un objet JobLocationFilter. (Vous pouvez trouver les ID de lieu avec l’endpoint du catalogue des lieux)

  • jobLocationPatternNotarray

    Motifs regex pour exclure des lieux d’offres. Insensible à la casse. Cherche à la fois dans le champ lieu et dans le tableau de lieux enrichis (avec les champs normalisés de ville et d’État de chaque élément de lieu). Les offres correspondant à N’IMPORTE QUEL motif fourni seront EXCLUES des résultats. Utilisez-le pour écarter des lieux précis.

  • jobLocationPatternOrarray

    Motifs regex pour faire correspondre des lieux d’offres. Insensible à la casse. Cherche à la fois dans le champ lieu et dans le tableau de lieux enrichis (avec les champs normalisés de ville et d’État de chaque élément de lieu). Les offres correspondant à N’IMPORTE QUEL motif fourni seront renvoyées. Utilisez-le pour trouver des offres dans des villes, États ou régions précis.

  • jobSeniorityOrarray

    Renvoie les offres dont le niveau hiérarchique est l’un de ceux passés ici

  • jobTechnologySlugAndarray

    Renvoie les offres où toutes ces technologies apparaissent. Sensible à la casse. Passez des slugs. Consultez toutes les technologies que nous suivons avec l’endpoint des technologies.

  • jobTechnologySlugNotarray

    Renvoie les offres où aucune de ces technologies n’apparaît. Sensible à la casse. Passez des slugs. Consultez toutes les technologies que nous suivons avec l’endpoint des technologies.

  • jobTechnologySlugOrarray

    Renvoie les offres où l’une de ces technologies apparaît. Sensible à la casse. Passez des slugs. Consultez toutes les technologies que nous suivons avec l’endpoint des technologies. Si vous passez plus d’une technologie, nous renverrons les offres qui mentionnent toutes les technologies.

  • jobTitleNotarray

    Motifs en langage naturel pour faire correspondre les intitulés de poste. Insensible à la casse. Seules les offres dont l’intitulé ne correspond à aucun de ces motifs seront renvoyées. Utilise la recherche plein texte de Postgres.

  • jobTitleOrarray

    ["data analyst"]

    Motifs en langage naturel pour faire correspondre les intitulés de poste. Insensible à la casse. Seules les offres dont l’intitulé correspond à l’un de ces motifs seront renvoyées. Utilise la recherche plein texte de Postgres.

  • jobTitlePatternAndarray

    Motifs regex pour faire correspondre des intitulés de poste. Insensible à la casse. Seules les offres dont l’intitulé correspond à tous ces motifs seront renvoyées.

  • jobTitlePatternNotarray

    Motifs regex pour faire correspondre des intitulés de poste. Insensible à la casse. Les offres dont l’intitulé ne correspond à aucun des motifs seront renvoyées.

  • jobTitlePatternOrarray

    Motifs regex pour faire correspondre des intitulés de poste. Insensible à la casse. Les offres dont l’intitulé correspond à l’un des filtres seront renvoyées.

  • lastFundingRoundDateGtestring

    Ne renvoie que les entreprises dont la date du dernier tour de financement est postérieure ou égale à cette date. Format : 'AAAA-MM-JJ'

  • lastFundingRoundDateLtestring

    Ne renvoie que les entreprises dont la date du dernier tour de financement est antérieure ou égale à cette date. Format : 'AAAA-MM-JJ'

  • limitinteger

    3

    Lignes à renvoyer sur cette page, jusqu’au maximum de 500 de TheirStack. Chaque ligne renvoyée est facturée.

  • maxEmployeeCountinteger

    Nombre maximal d’employés dans une entreprise

  • maxEmployeeCountOrNullinteger

    Nombre maximal d’employés dans une entreprise. Si nous n’avons pas d’information sur la taille de l’entreprise, nous la renverrons aussi.

  • maxFundingUsdinteger

    Financement maximal de l’entreprise, en USD

  • maxRevenueUsdinteger

    Chiffre d’affaires maximal de l’entreprise, en USD

  • maxSalaryUsdnumber

    Salaire annuel maximal en USD. Par exemple, 150000 signifie 150 000 $ US.

  • minEmployeeCountinteger

    Nombre minimal d’employés dans une entreprise

  • minEmployeeCountOrNullinteger

    Nombre minimal d’employés dans une entreprise. Si nous n’avons pas d’information sur la taille de l’entreprise, nous la renverrons aussi.

  • minFundingUsdinteger

    Financement minimal de l’entreprise, en USD

  • minRevenueUsdinteger

    Chiffre d’affaires minimal de l’entreprise, en USD

  • minSalaryUsdnumber

    Salaire annuel minimal en USD. Par exemple, 100000 signifie 100 000 $ US.

  • offsetinteger

    Nombre de résultats à ignorer. Obligatoire pour la pagination par décalage.

  • onlyJobsWithHiringManagersboolean

    Ne renvoie que les offres avec un responsable du recrutement. Si True, ne renvoie que les offres avec un responsable du recrutement. Si False, ne renvoie que les offres sans responsable du recrutement. Si None, renvoie toutes les offres.

  • onlyJobsWithReportsToboolean

    Ne renvoie que les offres pour lesquelles nous avons identifié le poste auquel la personne recrutée serait rattachée. Champ obsolète, utilisez plutôt reports_to_exists.

  • onlyYcCompaniesboolean

    Ne renvoie que les entreprises YC

  • orderByarray

    Liste d’objets de colonne. Vous pouvez passer plusieurs colonnes à trier, par ordre de priorité. Seul `field` est obligatoire, `desc` vaut True par défaut.

  • pageinteger

    Numéro de page. Obligatoire avec la pagination par page.

  • postedAtGtestring

    Date ISO 8601 (aaaa-mm-jj). Seules les offres publiées à cette date ou après seront renvoyées.

  • postedAtLtestring

    Date ISO 8601 (aaaa-mm-jj). Seules les offres publiées à cette date ou avant seront renvoyées.

  • postedAtMaxAgeDaysinteger

    14

    Ancienneté maximale de publication en jours. Si 0, ne renvoie que les offres publiées aujourd’hui. Si 1, celles d’aujourd’hui et d’hier, etc.

  • propertyExistsAndarray
  • propertyExistsOrarray

    Renvoie les offres dont au moins l’un de ces champs est non nul. Par exemple, si vous passez ['final_url'], elle renverra les offres qui ont un final_url défini. Ce champ accepte aussi l’enchaînement de champs. Par exemple, si vous passez ['company_object.domain', 'company_object.linkedin_url'], elle renverra les offres qui ont un domaine d’entreprise ou un linkedin_url d’entreprise défini.

  • remoteboolean

    True : n’affiche que les offres en télétravail. False : n’affiche que les offres hors télétravail. None : affiche toutes les offres.

  • reportsToExistsboolean

    Ne renvoie que les offres pour lesquelles nous avons identifié le poste auquel la personne recrutée serait rattachée. Si True, ne renvoie que les offres pour lesquelles nous avons identifié ce poste. Si False, ne renvoie que les offres pour lesquelles nous ne l’avons pas identifié. Si None, renvoie toutes les offres.

  • scraperNamePatternOrarray

    Motifs regex pour faire correspondre des sources d’offres. Insensible à la casse.

  • urlDomainNotarray

    Exclut les offres dont le domaine de l’URL (issu de `url` ou `source_url`) figure dans la liste fournie, sans tenir compte de la casse. Par exemple, ['greenhouse.io', 'workable.com'] exclura les URL contenant 'greenhouse.io' ou 'workable.com'. Consultez notre liste de sources sur https://theirstack.com/en/docs/data/job/sources.

  • urlDomainOrarray

    Inclut les offres seulement si le domaine de leur URL (issu de `url` ou `source_url`) figure dans la liste fournie, sans tenir compte de la casse. Par exemple, ['greenhouse.io', 'workable.com'] correspondra aux URL contenant 'greenhouse.io' ou 'workable.com'. Consultez notre liste de sources sur https://theirstack.com/en/docs/data/job/sources.

Vous envoyez. Un petit corps JSON. Les valeurs affichées sont des exemples à remplacer par les vôtres.

Réponse

JSON, une valeur d’exemple par champ.

  • foundboolean

    true

each jobdata.jobs[]
  • jobIdstring

    ts_88213945

  • titlestring

    Senior Data Analyst, Revenue Operations

  • normalizedTitlestring

    Data Analyst

  • urlstring

    https://www.brightloopanalytics.com/careers/senior-data-analyst-revops

  • sourceUrlstring

    https://boards.greenhouse.io/brightloop/jobs/6621394

  • finalUrlstring

    https://www.brightloopanalytics.com/careers/senior-data-analyst-revops

  • companyNamestring

    Brightloop Analytics

  • companyDomainstring

    brightloopanalytics.com

  • postedUtcnumber

    1790085600

  • discoveredUtcnumber

    1790128800

  • remoteboolean

    true

  • hybridboolean

    false

  • senioritystring

    senior

  • employmentStatuses[]string

    full_time

  • easyApplyboolean

    false

  • salaryStringstring

    $110,000 - $140,000

  • salaryCurrencystring

    USD

  • minAnnualSalarynumber

    110000

  • maxAnnualSalarynumber

    140000

  • minAnnualSalaryUsdnumber

    110000

  • maxAnnualSalaryUsdnumber

    140000

  • avgAnnualSalaryUsdnumber

    125000

  • technologySlugs[]string

    sql

  • keywordSlugs[]string

    revenue-operations

  • locationstring

    Austin, TX, United States

  • shortLocationstring

    Austin, TX

  • longLocationstring

    Austin, Texas, United States

  • stateCodestring

    TX

  • postalCodestring

    78701

  • countrystring

    United States

  • countryCodestring

    US

  • countryCodes[]string

    US

  • countries[]string

    United States

  • cities[]string

    Austin

  • continents[]string

    NA

  • latitudenumber

    30.2672

  • longitudenumber

    -97.7431

companydata.jobs[].company
  • companyIdstring

    cmp_51029

  • namestring

    Brightloop Analytics

  • domainstring

    brightloopanalytics.com

  • urlstring

    https://www.brightloopanalytics.com

  • imagestring

    https://logo.clearbit.com/brightloopanalytics.com

  • industrystring

    Data Infrastructure & Analytics

  • industryIdstring

    ind_0142

  • employeeCountnumber

    210

  • employeeCountRangestring

    201-500

  • foundedYearnumber

    2018

  • citystring

    Austin

  • postalCodestring

    78701

  • countrystring

    United States

  • countryCodestring

    US

  • linkedinUrlstring

    https://www.linkedin.com/company/brightloop-analytics

  • fundingStagestring

    series_b

  • totalFundingUsdnumber

    42000000

  • annualRevenueUsdnumber

    18000000

  • annualRevenueReadablestring

    18M

each locationdata.jobs[].locations[]
  • namestring

    Austin, TX

  • locationIdstring

    loc_78701

  • typestring

    city

  • displayNamestring

    Austin, Texas, United States

  • citystring

    Austin

  • statestring

    Texas

  • stateCodestring

    TX

  • countrystring

    United States

  • countryCodestring

    US

  • continentstring

    NA

  • postalCodestring

    78701

  • latitudenumber

    30.2672

  • longitudenumber

    -97.7431

datadata
  • totalResultsnumber

    412

  • totalCompaniesnumber

    288

Vous recevez. Des champs nommés et typés, dans la même forme quelle que soit la source qui répond.

FAQ

À propos de l’API Job Search Theirstack

L’API Job Search Theirstack d’AnyAPI renvoie des données Job Search en JSON normalisé à partir d’un appel POST à /v1/run/job_search.theirstack. Cherchez dans l’index des offres d’emploi de TheirStack par entreprise, technologie, mot-clé, intitulé, niveau hiérarchique, salaire, lieu et ancienneté de la publication, et obtenez la fiche firmographique complète de l’entreprise qui recrute avec chaque offre. Facturé par offre renvoyée. AnyAPI renvoie un schéma normalisé unique quelle que soit la source qui répond. Elle coûte 67,20 $US pour 1 000 résultats, et jamais plus de 9,95 $US pour une seule requête, en dollars US, sans abonnement et sans minimum mensuel. Ces 30 derniers jours, 100,0% des appels Job Search Theirstack passés par AnyAPI ont réussi, avec un temps de réponse médian de 9,7 secondes, sur 1 appels mesurés.

Elle coûte 67,20 $US pour 1 000 résultats, et jamais plus de 9,95 $US pour une seule requête, en dollars US, sans abonnement et sans minimum mensuel. Vous alimentez un portefeuille en USD et chaque appel le débite. Certaines requêtes échouées financées par le portefeuille entraînent des frais de traitement que nous répercutons au prix coûtant, sans marge ; la réponse d’erreur indique le montant facturé.

Cherchez dans l’index des offres d’emploi de TheirStack par entreprise, technologie, mot-clé, intitulé, niveau hiérarchique, salaire, lieu et ancienneté de la publication, et obtenez la fiche firmographique complète de l’entreprise qui recrute avec chaque offre. Facturé par offre renvoyée. La réponse est du JSON normalisé avec la même enveloppe que celle de tous les endpoints AnyAPI, donc analyser un second endpoint revient à changer l’URL et rien d’autre.

Ces 30 derniers jours, 100,0% des appels Job Search Theirstack passés par AnyAPI ont réussi, avec un temps de réponse médian de 9,7 secondes, sur 1 appels mesurés. Ce sont les propres mesures d’AnyAPI du trafic passant par la passerelle, recalculées en continu, et non un objectif de niveau de service publié.

Oui. Un nouveau compte AnyAPI démarre avec 0,10 $US de solde gratuit, sans carte.

Envoyez une requête POST à https://api.getanyapi.com/v1/run/job_search.theirstack avec votre clé AnyAPI dans un en-tête « Authorization: Bearer » et l’entrée en corps JSON. La même clé et le même portefeuille fonctionnent sur tous les endpoints AnyAPI.

Non. Vous ajoutez des dollars US à un solde AnyAPI prépayé unique et chaque requête le débite. Il n’y a ni forfait mensuel ni minimum, et le même solde paie tous les endpoints AnyAPI.

Oui. Installez @getanyapi/sdk depuis npm pour TypeScript ou getanyapi depuis pip pour Python. Les deux appellent chaque endpoint AnyAPI avec la même clé, et n’importe quel client HTTP fonctionne aussi.

Oui. Un agent peut se connecter au serveur MCP d’AnyAPI à https://api.getanyapi.com/mcp, ou créer sa propre clé d’essai gratuit avec un seul POST non authentifié vers https://api.getanyapi.com/agent/signup et appeler cet endpoint en HTTP.