Skip to main content

Recruiting & Job Aggregation

Aggregate job listings, extract candidate profiles, and automate recruiting workflows with Wryn.

Use Cases

  • Job Board Aggregation - Collect listings from multiple platforms
  • Candidate Sourcing - Extract profiles from LinkedIn, GitHub, etc.
  • Salary Research - Analyze compensation data across markets
  • Company Research - Gather company info for recruitment
  • Talent Pool Building - Build databases of potential candidates

Job Listing Data

Common fields from job postings:

PRO Usage

Want to extract listing and fileds without analyzing website template

Use Auto extract to extract listing and its fields without knowing website scheme or template. it won't break based when there is a change in website template.


result = client.auto_listing(url="https://linkedin.com/jobs", engine=ENGINE.STEALTH_MODE)

from wrynai import WrynAI, Engine

client = WrynAI(api_key="your_api_key")

job = client.scrape(
url="https://linkedin.com/jobs/view/12345",
fields=[
"title",
"company",
"location",
"salary_range",
"employment_type",
"experience_level",
"description",
"requirements",
"benefits",
"posted_date",
"application_url"
]
)

Aggregate Multiple Job Boards

job_boards = [
"https://indeed.com/jobs?q=python+developer",
"https://linkedin.com/jobs/search?keywords=python",
"https://glassdoor.com/Job/python-developer-jobs",
]

all_jobs = []

for board_url in job_boards:
results = client.scrape(
url=board_url,
list_item={
"selector": "div.job-card",
"fields": {
"title": "h2.job-title",
"company": "span.company-name",
"location": "div.job-location",
"url": "a.job-link@href",
"salary": "span.salary-info"
}
},
pagination={
"type": "next_button",
"max_pages": 10
}
)

all_jobs.extend(results.data['items'])

print(f"Total jobs found: {len(all_jobs)}")

Next Steps