--- title: How to Search Job Postings Across 328,000+ Sources description: Complete guide to searching millions of job postings from 328,000+ sources. Learn how to combine filters for sales prospecting, recruiting, and market research — with full walkthroughs for each use case. url: https://theirstack.com/en/docs/guides/how-to-search-job-postings-across-sources --- [How to Search Job Postings Across 328,000+ Sources](https://www.youtube.com/watch?v=EkfHM4_Gu3Q) ## The problem with job posting data today Job postings are scattered across thousands of sources: LinkedIn, Indeed, Glassdoor, company career pages, niche industry boards, and dozens of ATS platforms like Greenhouse, Lever, and Workday. If you need a complete picture of who's hiring for what, you're stuck checking each source manually — and you'll still miss most of them. TheirStack aggregates **203M** job postings from **336k** sources across **195** countries into a single searchable interface with 20+ filters. ## Search job postings step by step 1. **Start a new search** Go to [Job Search](https://app.theirstack.com/search/jobs/new). By default, it returns jobs posted in the last 15 days in your country. 2. **Filter by what you're looking for** Click **Add filter** and type the filter you need. The most common starting points: - **Job title** — Add role names one per line. "Contains any of" matches any job whose title includes any of the terms. Example: "Data Engineer", "Analytics Engineer", "Data Platform Engineer". - **Job description** — Search the full posting text when titles are too generic. A "Software Engineer" posting might be for a Kubernetes platform team or a WordPress plugin. Supports keywords and regex. Example: filter for "SOC 2" or "HIPAA" to find companies with compliance needs. - **Job technology** — Technologies mentioned in the posting. Broader than title search: filtering by "Snowflake" returns any job that requires Snowflake experience, not just jobs with "Snowflake" in the title. - **[Buying intent](/en/docs/data/buying-intent) topic** — Higher-level topics like "Machine Learning", "Cloud Migration", or "Data Privacy". Useful when you sell a category rather than compete with a specific product. - **Has [hiring manager](/en/docs/app/contact-data/hiring-manager)** — Only show jobs where a hiring manager's LinkedIn profile has been identified — so you can reach out directly to the person who posted it. You can also filter by **salary range**, **remote status**, **seniority level** (Junior through C-level), **employment type** (Full-time, Contract, Freelance...), **job country**, **job source**, and more. See the full list in the [Job Search reference](/en/docs/app/job-search). **Understanding filter operators** Each filter has an operator that controls how it matches. The operator appears between the filter name and the values you enter: - **Contains any of** — The field includes at least one of the values. Used for text fields like job title or description. "Job title contains any of: Engineer, Developer" matches "Senior Data Engineer" and "Backend Developer" — any title that contains either word. - **Does not contain any of** — Excludes results where the field includes any of the values. "Job title does not contain any of: Intern, Junior" removes entry-level postings from your results. - **Is any of** — The field exactly matches one of the selected values. Used for structured fields like technology, industry, or country. "Job technology is any of: Snowflake, BigQuery" matches jobs that list Snowflake or BigQuery as a required technology. - **Is not any of** — Excludes exact matches. "Company industry is not any of: Staffing & Recruiting" removes staffing agencies from results. You can add the same filter twice with different operators to include and exclude at the same time. For example: Job title **contains any of** "Engineer" + Job title **does not contain any of** "Intern, Junior" — this returns all engineer roles except entry-level ones. 3. **Review your first results** Click **Search**. With only job filters active, you'll get a broad set of results — every posting that matches your titles and technologies, regardless of what company is behind it. **Reveal** a few companies to unlock their full data — name, domain, LinkedIn URL — for 1 [credit](/en/docs/pricing/credits), 90-day access. Click the reveal icon next to any company name. Now look at what you got. You'll likely see noise: recruiting agencies posting on behalf of other companies, companies with 5 employees or 50,000, industries you don't sell into. The job filters matched the posting correctly — but the _companies_ behind those postings aren't all relevant to you. This is expected. Job filters alone tell you _what_ roles exist — company filters tell you _who_ is hiring. Let's add those now. 4. **Narrow by company attributes** Add company filters to remove the noise you just saw: - **Company type** — Set to "Direct employer" to exclude recruiting agencies that post jobs on behalf of others. - **Employees** — Target a company size range. Example: 100–1,000 for mid-market. - **Company industry** — Include or exclude verticals. - **Company technology** — Find jobs from companies that _use_ a technology, even if the specific posting doesn't mention it. "Company technology: Salesforce" returns every open role at Salesforce-using companies — not just CRM positions. This is different from "Job technology", which only matches jobs that mention the technology in the posting itself. - **Company revenue / funding / funding stage** — Target companies at a specific growth stage or budget. - **Company list** — Exclude companies from your "Already contacted" or "Customers" lists to avoid duplicates. - **Company HQ country** — Filter by where the company is headquartered, separate from where the job is located. A US company might post jobs in India. Click **Search** again. This time, every result matches both your job criteria and your company profile — no more agencies or irrelevant companies. 5. **Explore the refined results** Click any **job title** to see the full posting — description, skills, salary, seniority, and the original source URL. Click any **company name** to open their profile with headcount, revenue, funding, industry, full tech stack with confidence levels, buying intent topics, and a link to all their historical job postings. 6. **Take action on results** - **Export** to CSV, Excel, or webhook - **[Find people](/en/docs/app/contact-data/find-people)** at target companies via Apollo, LinkedIn Recruiter, LinkedIn Sales Navigator, or ContactOut - **[Add to list](/en/docs/app/company-lists)** to organize companies for tracking and deduplication - Click **[API](/en/docs/api-reference/quickstart)** to get the cURL command that reproduces your search — use it programmatically or as a starting point for [Make](https://www.make.com/) or [N8N](https://n8n.io/) integrations - **Save** the search with all its filters to reuse and duplicate later - **Email alerts** — Get daily or weekly notifications for new matches. See [Email Alerts](/en/docs/app/saved-searches/email-alerts) - **[Webhooks](/en/docs/webhooks)** — Push new matches to Slack, your CRM, or any system in real-time. See [How to monitor job postings automatically](/en/docs/guides/how-to-monitor-job-postings-automatically) - **Share** — Copy the search URL to share the exact query with a teammate ## Tips - **Job technology vs. Company technology** — Job technology finds jobs that _mention_ a technology. Company technology finds all jobs at companies that _use_ it. Use "Company technology: Snowflake" + "Job title: VP of Data" to find data leaders at Snowflake-using companies — selling beyond engineering. - **Discovered date vs. Date posted** — Some sources are indexed with a delay. Use "Discovered date: last 24 hours" instead of "Date posted: last 1 day" to catch everything new since your last check. - **Combine include and exclude** — Add the same filter twice with different operators. Example: Job title "contains any of: Engineer" + Job title "does not contain any of: Intern, Junior". - **Avoid re-contacting** — After exporting, add companies to an "Already contacted" [company list](/en/docs/app/company-lists). In your next search, exclude that list. See [how to avoid downloading the same companies twice](/en/docs/guides/how-to-avoid-downloading-same-companies-twice). ## Further reading [/docs/app/job-search](/docs/app/job-search)[/docs/app/job-search/excluding-recruiting-agencies](/docs/app/job-search/excluding-recruiting-agencies)[/docs/app/job-search/tech-jobs-only](/docs/app/job-search/tech-jobs-only)[/docs/guides/how-to-monitor-job-postings-automatically](/docs/guides/how-to-monitor-job-postings-automatically)[/docs/app/contact-data/find-people](/docs/app/contact-data/find-people)