Приведи друга: тобі 15% з кожного замовлення, йому знижка 10%
Job Market Data

Hiring data is local, and boards make sure of it.

Job boards decide what to show from where you are: a search from one country returns that country’s listings, its salary bands and its currency, and nothing tells you the rest exists.

Чому проксі вирішують цю задачу

Boards and aggregators geo-scope results by default. A query run from one place returns the local index, sorted by local relevance, with salaries in local currency. Comparing markets or tracking a competitor’s hiring across countries needs a pass from each of them, and the boards rate limit hard enough that address count matters as much as address type.

Проблеми без проксі

The same query returns different indexes

Search on a board from two countries and you get two result sets, not one set ordered differently. Deduplicating them later is guesswork unless the country was recorded at collection time.

Salary data is currency and convention

Ranges are quoted per year in one market and per month in another, gross in one and net in another. Stored as a single number, the field is worse than empty.

Personal data arrives whether you want it or not

Listings carry recruiter names, direct emails and phone numbers. That turns a scraping job into a data protection question, and the answer differs by the country you collected from.

Як це вирішує SotaProxy

Residential addresses in 220+ countries with city targeting where hiring is metropolitan, sticky sessions for pagination, and enough addresses to survive the rate limits boards apply per address.

Налаштування за 4 кроки

1

Fix the geography before the query

Country first, city only where the market is genuinely metropolitan. A national pass plus two cities beats fifteen cities that return the same national index.

2

Hold a session through pagination

Result sets are recomputed per request. A sticky session keeps pages one to ten inside the same search rather than stitching several searches together.

3

Store salary as several fields

Amount, currency, period and whether it is gross. One number in one column is how salary datasets become unusable within a month.

4

Decide about personal data before the first run

Names and contacts are the easiest fields to collect and the hardest to justify keeping. Strip them at intake unless you have a reason a lawyer would recognise.

Twelve markets, daily refresh

Listing pages are light; pagination and rate limits are what shape the job:

12 countries, 40 searches each, 5 pages, daily
72,000 pages a month
At 90 KB per page with media blocked
about 6.5 GB
Residential at $1.00 per GB
about $7 per month
Datacenter where boards allow it
$1.15 per address per month, traffic unmetered

Traffic is not the constraint here and never will be. The constraint is how many requests one address may make before the board slows it down, which is why this job is priced in addresses rather than gigabytes.

One search, one country, one session

Sticky through pagination, rotate between searches, and record the geography with every row:

Paginating a country’s results

# one session for one search in one country
S="login_c_PL_s_77_ttl_50m:password@proxy.sotaproxy.com:10000"

for page in 1 2 3 4 5; do
  curl -s -x $S -H "Accept-Language: pl-PL" \
    "https://jobs.example/search?q=developer&page=$page" -o pl-$page.html
  sleep 4
done

# confirm the country the board thinks you are in
curl -s -x $S https://ipinfo.io/json | grep -iE "country|city"
  • Pace deliberately. A four second gap costs nothing and keeps an address usable for the whole run.
  • Record the search terms alongside the results: the same listing surfaces under different queries and dedupe needs both.
  • Strip recruiter contacts at intake rather than filtering them at reporting time.

Three ways a hiring dataset spoils

One salary column

Yearly gross in one row and monthly net in the next. The average of that column is a number with no meaning, and nobody notices until it is in a slide.

Rotating through pagination

Page three comes from a different country’s index. The dataset gains listings that were never in the search you think you ran.

Keeping names because they were easy to take

Recruiter names and direct contacts are personal data in most of the countries you are collecting from. Storing them without a reason is the part of this job that carries actual legal risk.

Поширені запитання

Why not use a board’s own country filter?

Because it filters an index that was already chosen for you. The filter narrows what you were served; the address decides what you were served in the first place.

How many addresses do I need?

More than you expect. Boards limit per address rather than per account, so throughput here is a function of address count and pacing rather than of proxy type.

Is collecting job listings legal?

Collecting public listings and collecting the people named in them are different questions. The second is where data protection law lives, and it follows the country of the people rather than your own. Ask a lawyer.

Datacenter or residential?

Try datacenter first at $1.15 per address per month; the large aggregators usually refuse it and the smaller boards usually do not. Move to residential where you get a 403 on the first request.

Готові почати?

Створіть акаунт, поповніть баланс та отримайте доступ до проксі за кілька хвилин. Без дзвінків. Без мінімального платежу.

Створити акаунт