Skip to content

Using job postings as hiring signals for a staffing agency

Turn job postings into a defensible account-research workflow, with deduplication rules, a worked scoring example and a downloadable scorecard.

The Jobs API editorial teamPublished · 8 min read

The short answer

Use job postings to identify employers with relevant, observable recruiting activity. Verify the employer, deduplicate requisitions, check the original requirements and rank accounts against your agency’s specialism. A posting is evidence of advertised hiring; it does not establish a staffing budget, an urgent vacancy or a willingness to use an agency.

Put this guide to work

Start with an account question you can answer

“Who is hiring?” produces a long list. “Which Ontario manufacturers are advertising maintenance roles that our team can credibly fill?” produces a research task. Define your target employers, geography, role families and exclusions before collecting postings. The output should help a researcher decide what to investigate next.

For example, a specialist agency might include millwrights, industrial electricians and maintenance technicians, while excluding residential service work and software maintenance. Those rules need more than a keyword. A posting for a maintenance manager may require leadership experience and fall outside the agency’s candidate pool even though the title looks relevant.

Write down what would make an account useful: an identifiable employer, a relevant open role, a location you serve, and enough requirements to understand the hiring need. If a source provides only an anonymous client and a generic description, it may be market intelligence without being an actionable account.

Build a query, then inspect the false positives

Start with separate, explainable title searches. Broader searches can improve recall, but they also match incidental mentions in a description. Review the first sample manually and save rejection reasons such as wrong occupation, wrong location, intermediary posting or insufficient employer identity. Adjust the query based on those reasons.

This request retrieves up to ten Canadian postings with “millwright” in the title and an Ontario location. The description and optional source fields help with qualification. It does not establish that every relevant Ontario employer is covered, and it does not return contact information for a buyer.

Keep the key on your server or in your local environment. For a scheduled workflow, save results before the next stage and record the query, retrieval time and allowance consumed. Follow next_cursor when you intentionally want more pages; a short page alone does not prove that a search is exhausted.

A bounded search for one role family
curl --fail-with-body --get https://api.thejobsapi.com/v1/jobs \
  -H "Authorization: Bearer $THEJOBSAPI_KEY" \
  --data-urlencode 'country=CA' \
  --data-urlencode 'province=ON' \
  --data-urlencode 'title=millwright' \
  --data-urlencode 'description=text' \
  --data-urlencode 'source_fields=true' \
  --data-urlencode 'limit=10'

Resolve the employer before counting its activity

The organization on a posting can be the hiring employer, a staffing firm or a recruiting platform. Inspect the original posting and application destination. Do not assign a confidential client’s vacancy to a guessed company, or treat a staffing firm’s entire inventory as its own internal hiring demand.

Maintain a reviewed account identity with its company name, verified domain and any known brands. Subsidiaries may share a careers system while purchasing recruiting services separately. Conversely, two spelling variants can belong to the same business. Preserve the original organization value and record why you grouped it.

Deduplicate at the vacancy level before making an account score. Prefer a verified employer plus source requisition ID when available. A title and city are weaker evidence: an employer may have several genuine openings with the same title. If you cannot resolve whether two posts are copies, mark the count as uncertain instead of silently merging them.

Observed recordsResearch treatment
One requisition on an employer site and a distributorOne vacancy with two observed publishing channels
One requisition with three possible work locationsOne vacancy with all locations retained
Two distinct requisitions with identical titlesTwo advertised requisitions; headcount still unknown
Confidential client advertised by an agencyUnresolved client identity; do not create a guessed employer

Keep evidence separate from your interpretation

A description can explicitly state a shift pattern, a required licence, a contract duration or the opening of a new facility. These are useful facts to preserve with a link and a short supporting excerpt. They can help a researcher understand whether the account fits the agency’s expertise.

The same posting does not prove that the employer cannot fill the role, has approved an agency fee, or wants to replace its incumbent recruiter. A job that remains visible for several weeks could be evergreen, paused, already filled but not removed, or genuinely difficult to recruit. Record those as competing explanations.

Use two fields in your CRM: “source observation” and “research hypothesis.” For example: observation, “three distinct industrial-electrician requisitions listed at two plants”; hypothesis, “the account may have recurring trades recruitment needs.” The next action is to verify the situation, not to present the hypothesis as a known business problem.

Score research priority with rules people can inspect

A simple score can help order a research queue. It should explain why an account deserves attention, not claim to predict purchasing intent. Start with a few inputs your team can verify and keep the individual values alongside the total.

Here is an illustrative 0–9-point rubric: role fit, 0–3; location fit, 0–2; current evidence quality, 0–2; and breadth of relevant distinct requisitions, 0–2. For breadth, assign 0 for none, 1 for one and 2 for two or more. Require a verified employer and at least one reviewed relevant vacancy before ranking an account.

Use the same scoring anchors across researchers. Full role-fit points mean the agency serves the actual occupation and requirements, not just that a keyword matches. Two evidence points mean a reviewer checked a current original posting and recorded the relevant facts; a search snippet alone earns less. The cutoff below is an example to test, not an industry benchmark.

Fictional accountRole / location / evidence / breadthResult and next action
Example North Manufacturing3 + 2 + 2 + 2 = 9Review first: three verified relevant requisitions
Example Lake Systems2 + 2 + 1 + 1 = 6Verify the original details before qualification
Example West Services3 + 0 + 2 + 2 = 7Exclude: outside the service area despite a higher total

Apply hard exclusions before sorting by score. The third account illustrates why a total alone is dangerous: strong role relevance cannot compensate for a location your agency does not serve. Keep excluded accounts visible in the audit trail so another researcher does not repeatedly reopen them.

Measure changes without inventing a hiring surge

Store when the employer says a job was posted separately from when your provider first observed it and when you first imported it. A newly imported record can describe an older opening. A provider adding a new careers source can produce an apparent spike that has nothing to do with a change in the employer’s hiring plans.

For a comparable weekly view, use the same reviewed employer cohort, title rules and geography. Record newly observed requisitions, confirmed closures, still-active requisitions and unresolved records separately. Annotate source outages, new coverage and query changes; do not put an unqualified growth percentage on a chart whose denominator changed.

Suppose you observed four relevant requisitions last week and eight this week. The raw difference is four. If three of the new records came from a newly supported subsidiary, the data does not establish that the original employer cohort doubled its activity. Recheck the comparable scope before turning that difference into a sales narrative.

Deliver a research packet instead of a raw alert

An alert that says “company hiring” pushes all the work onto the recipient. A useful packet includes the verified account, the matching role family, distinct requisition count, source links, current requirements, check time, scoring inputs and one unresolved question. Include the reason the account is in scope.

Assign an owner and a next action. That might be checking whether a role is still accepting applications, resolving a subsidiary relationship, or comparing requirements with your available candidate pool. Keep the packet small enough that a researcher can accept, reject or investigate it without repeating the whole search.

Set a review expiry appropriate to your workflow. A packet prepared last month should not silently become today’s evidence. When a role closes, update the packet and the CRM task; do not keep citing the closed vacancy as a current need. Record the reviewer’s decision so future alerts can learn from actual relevance feedback.

Test whether the workflow saves research time

Measure accepted research packets divided by reviewed packets, minutes spent per accepted account, common rejection reasons and the proportion with a verified original source. These measures tell you whether the data and rules improve the team’s work before there is enough sales history to judge revenue.

If you later measure meetings or opportunities, keep the link to the specific packet and record other touchpoints. A meeting after an alert is not proof that the alert caused it. Compare similar periods or cohorts cautiously and distinguish data quality from messaging, relationships and the agency’s ability to fill the role.

Review a small rejected sample every week. If most rejections are intermediaries, improve employer resolution. If the roles are right but outside your geography, fix location handling. If relevant accounts consistently lack usable detail, reassess the provider or add a manual verification step. Each failure should change a specific part of the workflow.

Questions people ask

Does an open job mean a company will buy staffing services?

No. It establishes advertised recruiting activity. Agency interest, budget and the actual hiring situation require separate qualification.

Should old postings receive a higher urgency score?

Age alone is weak evidence. Distinguish employer posting time from observation time and check whether the role is current, evergreen or unresolved before interpreting it.

What should I export into my CRM?

A reviewed account identity, source-linked role evidence, observation dates, explicit scoring inputs, unresolved questions and an owner. Preserve the difference between facts and research hypotheses.

Sources and further reading

Tell us what you need.

A few details help us understand your project.

API access and coverage