SuperJob: работа и вакансии Data API
SuperJob: работа и вакансии is the official Android app of SuperJob, the Moscow-based recruitment company that has run one of Russia's major job boards since 2000. Job seekers search openings by keyword, city, salary, professional catalogue and remote-work flag, open a listing to read duties, conditions and whether a CV is required, and apply from a chosen resume with an optional cover letter. Signed-in users keep one or more CVs, see which companies opened them, favourite vacancies, subscribe to saved searches, rate employers on career, pay, stability, management and team, and chat with HR after applying. Sign-in is username plus password, with HeadHunter and Yandex as alternate login screens. The app serves the Russian job market, where SuperJob competes with hh.ru, Rabota.ru, Zarplata.ru, Avito's jobs section and the state-run Работа в России portal.
Profession titles and advertised pay bands sit on each listing: vacancyMainInfo carries profession, publishedAt and highlight, nested vacancySalary exposes minSalary, maxSalary and paymentAgreement, and vacancyDetailInfo adds duties, conditions, isRemoteWork and isResumeRequired. Search queries pass facet keys such as filters[keywords], filters[town], filters[payment], filters[remoteWorkBinary] and filters[catalogues].
Employer records publish title, vacanciesCount, logoUrl and website; companyReview rows score overallRating, career, salary, stability, management and team plus reviewText. Candidate CVs store position, datePublish, remoteWork and relocatePossibility. Resume-view stats report viewsCount; per-employer resumeCompanyView rows carry date and isCompanyPayResumeInDay, and each resumeView flags isApplicantViewed.
Applications wrap a vacancyResponse with createdAt, viewedAt and hasNewEvents, then open a chat with unreadMessageCounter and hrMembers. Labour-market dashboards, employer-reputation monitors, ATS connectors and resume-view alerts consume those records; openData Studio turns them into callable open data.
Auto-apply rules keep enabled, professionKeywords, minPayment and onlyRemote. Course cards publish name, price and startDate. Inbox rows carry notificationType, isNew and vacancyId.
Screenshots
API surface
The endpoints and request/response examples below are reconstructed from the app's interface — illustrative, not a live capture.
Search vacancies
GET
/v1/openings/searchopendataLists vacancies as JSON:API vacancy resources filtered by keywords, town, payment, remoteWorkBinary, catalogues, workType and related facet keys; each hit includes vacancyMainInfo (profession, publishedAt) and vacancySalary (minSalary, maxSalary, paymentAgreement).
Auth: Optional. Public listings work without a session; signed-in calls send Authorization plus X-Api-App-Id, X-Device-Id and User-Agent. Accept: application/vnd.api+json.
- filters[keywords]
- filters[town]
- filters[payment]
- filters[remoteWorkBinary]
- filters[catalogues]
- filters[workType]
- filters[withoutExperience]
- filters[withoutAgencies]
- filters[period]
- profession
- publishedAt
- minSalary
- maxSalary
- paymentAgreement
- highlight
GET /v1/openings/search?filters[keywords]=python&filters[town]=4&filters[payment]=150000&filters[remoteWorkBinary]=1&filters[catalogues]=33&filters[withoutExperience]=0 HTTP/1.1 Accept: application/vnd.api+json X-Api-App-Id: <app_id> X-Device-Id: <android_id> User-Agent: <app_user_agent>{ "data": [ { "type": "vacancy", "id": "41234567", "relationships": { "mainInfo": {"data": {"type": "vacancyMainInfo", "id": "mi-41234567"}}, "company": {"data": {"type": "company", "id": "1080"}}, "town": {"data": {"type": "town", "id": "4"}}, "favoriteVacancy": {"data": null} } } ], "included": [ { "type": "vacancyMainInfo", "id": "mi-41234567", "attributes": { "profession": "Python developer", "createdAt": "2026-09-18T09:00:00+03:00", "updatedAt": "2026-10-02T12:10:00+03:00", "publishedAt": "2026-09-20T10:15:00+03:00", "highlight": false }, "relationships": { "salary": {"data": {"type": "vacancySalary", "id": "sal-41234567"}} } }, { "type": "vacancySalary", "id": "sal-41234567", "attributes": { "minSalary": 150000, "maxSalary": 250000, "paymentAgreement": false } } ] }Vacancy detail
GET
/v1/openings/{opening_id}opendataLoads one vacancy JSON:API document with vacancyDetailInfo (duties, conditions, isRemoteWork, isResumeRequired, archivedAt, fullTextPlain) and vacancyContactInfo flags for whether the contact person and phones are shown.
Auth: Optional. Public vacancy pages work without a session; signed-in calls send Authorization plus X-Api-App-Id, X-Device-Id and User-Agent. Accept: application/vnd.api+json.
- duties
- conditions
- isRemoteWork
- isResumeRequired
- isCommercial
- archivedAt
- fullText
- fullTextPlain
- isContactPersonHidden
- isContactPersonHasPhones
- isShowContactsAvailable
- profession
- minSalary
- maxSalary
GET /v1/openings/41234567 HTTP/1.1 Accept: application/vnd.api+json X-Api-App-Id: <app_id> X-Device-Id: <android_id> User-Agent: <app_user_agent>{ "data": { "type": "vacancy", "id": "41234567", "relationships": { "mainInfo": {"data": {"type": "vacancyMainInfo", "id": "mi-41234567"}}, "detailInfo": {"data": {"type": "vacancyDetailInfo", "id": "di-41234567"}}, "contactInfo": {"data": {"type": "vacancyContactInfo", "id": "ci-41234567"}}, "company": {"data": {"type": "company", "id": "1080"}}, "town": {"data": {"type": "town", "id": "4"}} } }, "included": [ { "type": "vacancyDetailInfo", "id": "di-41234567", "attributes": { "archivedAt": null, "conditions": "ДМС, гибрид", "duties": "Maintain backend services", "isCommercial": true, "isRemoteWork": true, "isResumeRequired": true, "fullTextPlain": "Python developer, remote" } }, { "type": "vacancyContactInfo", "id": "ci-41234567", "attributes": { "isContactPersonHidden": false, "isContactPersonHasPhones": true, "isShowContactsAvailable": true } } ] }Company profile
GET
/v1/employers/{employer_id}opendataReturns a company JSON:API resource with title, createdAt, vacanciesCount, description, logoUrl, website and flags directResponseEnabled and isEnabledInMyConnections.
Auth: Optional. Public company pages work without a session; signed-in calls send Authorization plus X-Api-App-Id, X-Device-Id and User-Agent. Accept: application/vnd.api+json.
- title
- createdAt
- vacanciesCount
- description
- logoUrl
- website
- directResponseEnabled
- isEnabledInMyConnections
GET /v1/employers/1080 HTTP/1.1 Accept: application/vnd.api+json X-Api-App-Id: <app_id> X-Device-Id: <android_id> User-Agent: <app_user_agent>{ "data": { "type": "company", "id": "1080", "attributes": { "title": "Example Corp", "createdAt": "2014-03-11T00:00:00+04:00", "vacanciesCount": 42, "description": "IT services", "logoUrl": "https://cdn.example.org/logo.png", "website": "https://example.com", "directResponseEnabled": true, "isEnabledInMyConnections": false } } }Company review
GET
/v1/employers/{employer_id}/reviews/{review_id}opendataReads one companyReview resource with overallRating plus dimension scores career, salary, stability, management and team, plus reviewText, advantages, disadvantages and willRecommend.
Auth: Optional. Public reviews work without a session; signed-in calls send Authorization plus X-Api-App-Id, X-Device-Id and User-Agent. Accept: application/vnd.api+json.
- overallRating
- career
- salary
- stability
- management
- team
- reviewText
- advantages
- disadvantages
- createdAt
- updatedAt
- willRecommend
GET /v1/employers/1080/reviews/88001 HTTP/1.1 Accept: application/vnd.api+json X-Api-App-Id: <app_id> X-Device-Id: <android_id> User-Agent: <app_user_agent>{ "data": { "type": "companyReview", "id": "88001", "attributes": { "overallRating": 4, "career": 4, "salary": 3, "stability": 5, "management": 4, "team": 5, "reviewText": "Stable team, average pay", "advantages": "DMS, hybrid", "disadvantages": "Slow promotion", "createdAt": "2026-04-12T18:00:00+03:00", "updatedAt": "2026-04-12T18:00:00+03:00" }, "relationships": { "company": {"data": {"type": "company", "id": "1080"}}, "willRecommend": {"data": {"type": "companyReviewWillRecommendDictionary", "id": "yes"}} } } }Resume detail
GET
/v1/cvs/{cv_id}osintLoads one resume resource with position, dateCreate, dateUpdate, datePublish, remoteWork, relocatePossibility, additionalInformation and related catalogues, citizenship, contacts and children.
Auth: Signed-in. Authorization carries the session token; also X-Api-App-Id, X-Device-Id and User-Agent. Accept: application/vnd.api+json.
- position
- dateCreate
- dateUpdate
- datePublish
- remoteWork
- relocatePossibility
- additionalInformation
- catalogues
- citizenship
- contacts
- children
GET /v1/cvs/900111 HTTP/1.1 Accept: application/vnd.api+json Authorization: <token> X-Api-App-Id: <app_id> X-Device-Id: <android_id> User-Agent: <app_user_agent>{ "data": { "type": "resume", "id": "900111", "attributes": { "position": "Python developer", "dateCreate": "2025-11-02T12:00:00+03:00", "dateUpdate": "2026-10-01T09:30:00+03:00", "datePublish": "2026-10-01T09:31:00+03:00", "remoteWork": true, "relocatePossibility": false, "additionalInformation": "Open to hybrid" }, "relationships": { "catalogues": {"data": [{"type": "specialization", "id": "33"}]}, "citizenship": {"data": {"type": "citizenshipDictionary", "id": "1"}}, "contacts": {"data": [{"type": "contact", "id": "c-1"}]}, "children": {"data": null} } } }Submit CV application
POST
/v1/seeker/cv-sendopendataCreates a cvApplication that wraps a vacancyResponse (createdAt, viewedAt, hasNewEvents, optional resumeLetter) when the candidate applies to a vacancy from a resume.
Auth: Signed-in. Authorization carries the session token; also X-Api-App-Id, X-Device-Id and User-Agent. Content-Type: application/vnd.api+json.
- vacancyResponse
- companyResponse
- createdAt
- viewedAt
- hasNewEvents
- resumeLetter
- cvApplicationType
- responseSource
POST /v1/seeker/cv-send HTTP/1.1 Accept: application/vnd.api+json Content-Type: application/vnd.api+json Authorization: <token> X-Api-App-Id: <app_id> X-Device-Id: <android_id> User-Agent: <app_user_agent> { "data": { "type": "cvApplication", "relationships": { "vacancyResponse": { "data": {"type": "vacancyResponse", "id": "vr-new"} } } } }{ "data": { "type": "cvApplication", "id": "ca-778899", "relationships": { "vacancyResponse": {"data": {"type": "vacancyResponse", "id": "vr-778899"}}, "companyResponse": {"data": null} } }, "included": [ { "type": "vacancyResponse", "id": "vr-778899", "attributes": { "createdAt": "2026-10-11T11:04:00+03:00", "viewedAt": null, "hasNewEvents": false } } ] }List CV applications
GET
/v1/seeker/cv-sendsopendataLists the signed-in applicant's cvApplication rows (applied-jobs tab), each linking a vacancyResponse with createdAt, viewedAt, hasNewEvents and related vacancy, resume and chat.
Auth: Signed-in. Authorization carries the session token; also X-Api-App-Id, X-Device-Id and User-Agent. Accept: application/vnd.api+json.
- vacancyResponse
- createdAt
- viewedAt
- hasNewEvents
- vacancy
- resume
- chat
- status
- cvApplicationType
GET /v1/seeker/cv-sends HTTP/1.1 Accept: application/vnd.api+json Authorization: <token> X-Api-App-Id: <app_id> X-Device-Id: <android_id> User-Agent: <app_user_agent>{ "data": [ { "type": "cvApplication", "id": "ca-778899", "relationships": { "vacancyResponse": {"data": {"type": "vacancyResponse", "id": "vr-778899"}} } } ], "included": [ { "type": "vacancyResponse", "id": "vr-778899", "attributes": { "createdAt": "2026-10-11T11:04:00+03:00", "viewedAt": "2026-10-11T16:20:00+03:00", "hasNewEvents": true }, "relationships": { "vacancy": {"data": {"type": "vacancy", "id": "41234567"}}, "resume": {"data": {"type": "resume", "id": "900111"}}, "chat": {"data": {"type": "chat", "id": "ch-12"}} } } ] }Password grant sign-in
POST
/v1/session/passwordosintExchanges username, password, grant_type and scope for an auth resource with token, refreshToken, expiresIn, status, isPhoneConfirmationRequired and a related applicant (name, hasLogin, hasPassword).
Auth: Unauthenticated. Body is a JSON auth request (username, password, grant_type, scope). Later calls send the returned token on Authorization together with X-Api-App-Id, X-Device-Id and User-Agent.
- username
- password
- grant_type
- scope
- token
- status
- refreshToken
- expiresIn
- isPhoneConfirmationRequired
- applicant
- name
- hasLogin
- hasPassword
POST /v1/session/password HTTP/1.1 Content-Type: application/json Accept: application/vnd.api+json X-Api-App-Id: <app_id> X-Device-Id: <android_id> User-Agent: <app_user_agent> { "username": "[email protected]", "password": "********", "grant_type": "password", "scope": "" }{ "data": { "type": "auth", "id": "sess-1", "attributes": { "token": "<access_token>", "status": "ok", "refreshToken": "<refresh_token>", "expiresIn": 2592000, "isPhoneConfirmationRequired": false }, "relationships": { "applicant": {"data": {"type": "applicant", "id": "ap-55"}} } }, "included": [ { "type": "applicant", "id": "ap-55", "attributes": { "name": "Ivan Petrov", "hasLogin": true, "hasPassword": true } } ] }Favourite vacancies
GET
/v1/saved/openingsopendataLists favoriteVacancy resources for the signed-in applicant; each row points at a vacancy. Writes attach or detach the same relationship on the applicant profile.
Auth: Signed-in. Authorization carries the session token; also X-Api-App-Id, X-Device-Id and User-Agent. Accept: application/vnd.api+json.
- favoriteVacancy
- vacancy
GET /v1/saved/openings HTTP/1.1 Accept: application/vnd.api+json Authorization: <token> X-Api-App-Id: <app_id> X-Device-Id: <android_id> User-Agent: <app_user_agent>{ "data": [ { "type": "favoriteVacancy", "id": "fv-41234567", "relationships": { "vacancy": {"data": {"type": "vacancy", "id": "41234567"}} } } ] }Vacancy search subscriptions
POST
/v1/saved/searchesopendataCreates a vacancySubscription for a saved search (keywords, town, payment and the same facet keys as vacancy search). List and detail variants reuse the saved-search collection.
Auth: Signed-in. Authorization carries the session token; also X-Api-App-Id, X-Device-Id and User-Agent. Content-Type: application/vnd.api+json.
- vacancySubscription
- filters[keywords]
- filters[town]
- filters[payment]
POST /v1/saved/searches HTTP/1.1 Accept: application/vnd.api+json Content-Type: application/vnd.api+json Authorization: <token> X-Api-App-Id: <app_id> X-Device-Id: <android_id> User-Agent: <app_user_agent> { "data": { "type": "vacancySubscription", "attributes": { "filters": { "keywords": "python", "town": "4", "payment": "150000" } } } }{ "data": { "type": "vacancySubscription", "id": "54536249" } }Resume view statistics
GET
/v1/cvs/views/summaryosintReturns a resumeStatistic resource with viewsCount plus statisticItems and statisticPeriod for the resume-views screen.
Auth: Signed-in. Authorization carries the session token; also X-Api-App-Id, X-Device-Id and User-Agent. Accept: application/vnd.api+json.
- viewsCount
- statisticItems
- statisticPeriod
GET /v1/cvs/views/summary HTTP/1.1 Accept: application/vnd.api+json Authorization: <token> X-Api-App-Id: <app_id> X-Device-Id: <android_id> User-Agent: <app_user_agent>{ "data": { "type": "resumeStatistic", "id": "rs-900111", "attributes": { "viewsCount": 37 }, "relationships": { "statisticItems": {"data": [{"type": "resumeStatisticItem", "id": "i-1"}]}, "statisticPeriod": {"data": {"type": "resumeStatisticPeriod", "id": "week"}} } } }Mark resume views read
POST
/v1/cvs/views/mark-readosintMarks resume views as read. Related resumeCompanyView rows carry date, isCompanyPayResumeInDay, company and views; each resumeView has date, isApplicantViewed and isCollapsed. A sibling action marks a whole employer group as read.
Auth: Signed-in. Authorization carries the session token; also X-Api-App-Id, X-Device-Id and User-Agent. Query include=params. Accept: application/vnd.api+json.
- date
- isCompanyPayResumeInDay
- views
- company
- isApplicantViewed
- isCollapsed
POST /v1/cvs/views/mark-read?include=params HTTP/1.1 Accept: application/vnd.api+json Authorization: <token> X-Api-App-Id: <app_id> X-Device-Id: <android_id> User-Agent: <app_user_agent>{ "data": { "type": "resumeCompanyView", "id": "rcv-1", "attributes": { "date": "2026-10-10", "isCompanyPayResumeInDay": true }, "relationships": { "company": {"data": {"type": "company", "id": "1080"}}, "views": {"data": [{"type": "resumeView", "id": "rv-1"}]} } }, "included": [ { "type": "resumeView", "id": "rv-1", "attributes": { "date": "2026-10-10T09:12:00+03:00", "isApplicantViewed": true, "isCollapsed": false } } ] }Employer chat thread
GET
/v1/inbox/threads/{thread_id}opendataLoads one chat thread between the applicant and employer HR: closed, createdAt, updatedAt, status, unreadMessageCounter, lastMessage, related resume, company, hrMembers and disableReason. Individual messages are nested under the same thread.
Auth: Signed-in. Authorization carries the session token; also X-Api-App-Id, X-Device-Id and User-Agent. Accept: application/vnd.api+json.
- closed
- createdAt
- updatedAt
- status
- unreadMessageCounter
- lastMessage
- resume
- company
- hrMembers
- disableReason
GET /v1/inbox/threads/12 HTTP/1.1 Accept: application/vnd.api+json Authorization: <token> X-Api-App-Id: <app_id> X-Device-Id: <android_id> User-Agent: <app_user_agent>{ "data": { "type": "chat", "id": "12", "attributes": { "closed": false, "createdAt": "2026-10-11T11:05:00+03:00", "updatedAt": "2026-10-11T16:22:00+03:00" }, "relationships": { "status": {"data": {"type": "chatStatusTypeDictionary", "id": "open"}}, "unreadMessageCounter": {"data": {"type": "chatCounter", "id": "cc-12"}}, "lastMessage": {"data": {"type": "lastChatMessage", "id": "m-99"}}, "resume": {"data": {"type": "resume", "id": "900111"}}, "company": {"data": {"type": "company", "id": "1080"}}, "hrMembers": {"data": [{"type": "chatHrMember", "id": "hr-1"}]}, "disableReason": {"data": null} } } }Resume auto-response
POST
/v1/cvs/auto-applyopendataCreates a resumeAutoResponse rule that auto-applies a resume when vacancies match professionKeywords, bodyKeywords, minPayment, paymentDefined and onlyRemote; related towns, companies and professionalSkills narrow the match. Detail and edit reuse the same rule resource.
Auth: Signed-in. Authorization carries the session token; also X-Api-App-Id, X-Device-Id and User-Agent. Content-Type: application/vnd.api+json.
- enabled
- professionKeywords
- bodyKeywords
- minPayment
- paymentDefined
- onlyRemote
- expiredAt
- resume
- towns
- companies
- professionalSkills
POST /v1/cvs/auto-apply HTTP/1.1 Accept: application/vnd.api+json Content-Type: application/vnd.api+json Authorization: <token> X-Api-App-Id: <app_id> X-Device-Id: <android_id> User-Agent: <app_user_agent> { "data": { "type": "resumeAutoResponse", "attributes": { "enabled": true, "professionKeywords": "python", "bodyKeywords": "backend", "minPayment": 150000, "paymentDefined": true, "onlyRemote": true }, "relationships": { "resume": {"data": {"type": "resume", "id": "900111"}} } } }{ "data": { "type": "resumeAutoResponse", "id": "ar-4412", "attributes": { "enabled": true, "professionKeywords": "python", "bodyKeywords": "backend", "minPayment": 150000, "paymentDefined": true, "onlyRemote": true, "expiredAt": "2026-11-11T00:00:00+03:00" }, "relationships": { "resume": {"data": {"type": "resume", "id": "900111"}}, "towns": {"data": [{"type": "town", "id": "4"}]}, "companies": {"data": []}, "professionalSkills": {"data": []} } } }Course catalogue
GET
/v1/learning/catalogopendataLists course JSON:API resources with courseMainInfo (name, annotation, externalUrl, profession, erid, publishedAt) and courseDetailInfo (description, price, startDate, anyTimeLearning, displayFrom, displayTo, address), plus related company and eduProviderProfile.
Auth: Optional. Public course listings work without a session; signed-in calls send Authorization plus X-Api-App-Id, X-Device-Id and User-Agent. Accept: application/vnd.api+json.
- name
- annotation
- externalUrl
- profession
- erid
- publishedAt
- description
- price
- startDate
- anyTimeLearning
- displayFrom
- displayTo
- address
GET /v1/learning/catalog HTTP/1.1 Accept: application/vnd.api+json X-Api-App-Id: <app_id> X-Device-Id: <android_id> User-Agent: <app_user_agent>{ "data": [ { "type": "course", "id": "c-8801", "relationships": { "mainInfo": {"data": {"type": "courseMainInfo", "id": "cmi-8801"}}, "detailInfo": {"data": {"type": "courseDetailInfo", "id": "cdi-8801"}}, "company": {"data": {"type": "company", "id": "1080"}}, "provider": {"data": {"type": "eduProviderProfile", "id": "ep-12"}} } } ], "included": [ { "type": "courseMainInfo", "id": "cmi-8801", "attributes": { "name": "Python backend", "annotation": "REST APIs", "externalUrl": "https://example.edu/python", "profession": "Python developer", "erid": "2Vtzqv", "publishedAt": "2026-09-01T10:00:00+03:00" } }, { "type": "courseDetailInfo", "id": "cdi-8801", "attributes": { "description": "12-week backend track", "price": 49000, "startDate": "2026-11-01", "anyTimeLearning": false, "displayFrom": "2026-09-01", "displayTo": "2026-12-31", "address": "Moscow" } } ] }User notifications
GET
/v1/inbox/alertsopendataLists the signed-in applicant's notification inbox: notificationType, title, content, isNew, date plus vacancyId, resumeId, companyId and related deeplink, chat, actions and labels.
Auth: Signed-in. Authorization carries the session token; also X-Api-App-Id, X-Device-Id and User-Agent. Accept: application/vnd.api+json.
- notificationType
- title
- content
- isNew
- date
- vacancyId
- resumeId
- companyId
- deeplink
- chat
- actions
- labels
GET /v1/inbox/alerts HTTP/1.1 Accept: application/vnd.api+json Authorization: <token> X-Api-App-Id: <app_id> X-Device-Id: <android_id> User-Agent: <app_user_agent>{ "data": [ { "type": "notification", "id": "n-9001", "attributes": { "notificationType": "resume_view", "title": "Employer opened your CV", "content": "Example Corp viewed resume 900111", "isNew": true, "date": "2026-10-11T09:12:00+03:00", "vacancyId": 41234567, "resumeId": 900111, "companyId": 1080 }, "relationships": { "deeplink": {"data": {"type": "notificationDeeplink", "id": "dl-1"}}, "chat": {"data": null}, "actions": {"data": []}, "labels": {"data": []} } } ] }
Data categories
- vacancies
- salaries
- employers
- company reviews
- resumes
- applications
- resume views
- chats
- auto-responses
- courses
- notifications
Where teams use this data
Vacancy market analytics
Labour-market dashboards ingest profession, minSalary, maxSalary, paymentAgreement, town and remoteWorkBinary from vacancy search and detail to chart advertised pay bands by city and catalogue.
Employer reputation monitor
HR-brand tools pull company title, vacanciesCount and companyReview scores (overallRating, career, salary, stability, management, team) to track how a firm is rated next to its open roles.
Application pipeline sync
ATS connectors copy cvApplication rows with vacancyResponse createdAt, viewedAt and hasNewEvents, follow chat unreadMessageCounter after a candidate applies, and sync resumeAutoResponse rules (enabled, professionKeywords, minPayment, onlyRemote).
Resume-view alerts
Candidate-side bots watch resumeStatistic viewsCount and resumeCompanyView date / isCompanyPayResumeInDay so a job seeker knows which employers opened a CV.
Frequently asked questions
Which SuperJob calls power vacancy search and detail?
Search returns JSON:API vacancy documents filtered by keywords, town, payment, remoteWorkBinary and catalogues. Each hit includes vacancyMainInfo (profession, publishedAt) and vacancySalary (minSalary, maxSalary, paymentAgreement). Opening a card loads vacancyDetailInfo (duties, conditions, isRemoteWork, isResumeRequired) and vacancyContactInfo flags for whether phones are shown.
What company and review fields are on the employer page?
A company resource carries title, createdAt, vacanciesCount, description, logoUrl, website and directResponseEnabled. Reviews are companyReview rows with overallRating plus career, salary, stability, management and team scores, reviewText, advantages, disadvantages and willRecommend.
How do resumes, applications and resume views look?
A resume stores position, dateCreate, dateUpdate, datePublish, remoteWork and relocatePossibility. Applying creates a cvApplication wrapping a vacancyResponse (createdAt, viewedAt, hasNewEvents) and may open a chat. Resume-view stats expose viewsCount; marking views read returns resumeCompanyView date / isCompanyPayResumeInDay and resumeView isApplicantViewed.
How is SuperJob authenticated on Android?
Sign-in posts username, password, grant_type and scope and returns an auth resource with token, refreshToken, expiresIn and isPhoneConfirmationRequired, plus an applicant (name, hasLogin, hasPassword). Later signed-in calls send that token on Authorization together with X-Api-App-Id, X-Device-Id and User-Agent. Vacancy and company reads can run without a session; resume, applications, favourites, chats and resume views require the token.
Apps similar to SuperJob: работа и вакансии
- hh: поиск работы — HeadHunter (hh.ru) is Russia's largest job board, with vacancy search, resumes, applications and employer contacts on Android.
- Rabota.ru — Rabota.ru is a Russian recruitment site acquired by Sberbank in 2019, listing vacancies with an emphasis on mid-level staff, students and internships.
- Zarplata.ru — Zarplata.ru is a Russian job board focused on local and regional listings, particularly in Siberia, the Far East and the Urals.
- Avito — Avito is a Russian classifieds platform whose jobs section is widely used for blue-collar, retail, construction and seasonal hiring.
- Trudvsem — Trudvsem (Работа в России) is Russia's official government employment platform run by the Federal Labor Service, listing state-verified vacancies.
- Habr Career — Habr Career, formerly Мой круг, is a Russian job platform specializing in IT and tech vacancies.
- Indeed Job Search — Indeed is a global job-search engine; its presence in Russia has been limited since 2022, but it remains a common alternative for international hunts.
Topics
- superjob api
- superjob vacancies
- profession minSalary maxSalary
- companyReview overallRating
- resume datePublish
- cvApplication vacancyResponse
- resumeStatistic viewsCount
- X-Api-App-Id
Need this app's data API integrated?
We deliver scoped integrations for any named app — from USD 500 with source-code handoff, or hosted access billed per call. Tell us the data you need.
- NDA + SOW on every engagement
- Delivery in 3–7 days
- Payment only after acceptance
- Work scoped to authorized use