Skip to content
/ api Public

Post your job worldwide on multiple job boards , niche job boards , community channels and ads

License

Notifications You must be signed in to change notification settings

postajob/api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

56 Commits
 
 
 
 
 
 

Repository files navigation

Table of contents

Overview

Introduction

Our API simplifies how developers and businesses publish jobs into their software. PostAJob's API is a tool for web developers to build HR solutions. If you don't have easy access to development resources, we can recommend excellent third-party partners. To learn more about postajob and how you can use our solution to transform your business, please contact our sales team.

How it works

Postajob is a simple concept - you submit your job description and properties into our API, and we dispatch it to the best channels. The API returns a bunch of useful data about the reach, clic estimation and application estimation. All channels available are visible here.

HOME POSTAJOB

Making your first API call

We've written a quick step-by-step guide to walk you through how to create a PostAjob Developer account, make your first API call, and interpret the results.

STEP 1: Register as a Developer

If you are an existing Postajob user, log in to your dashboard. If not, sign-up for postajob - it's free to test.

STEP 2: Get your APP ID and API Key

Once you’ve registered, and confirmed your email, you’ll be able to access your Dashboard. Here you’ll find your ‘(API) Key’. Make a note of these key, you will use them in the next step.

APIKEY POSTAJOB

Oh, and we automatically created your first campaign, to save you some time. You can rename this anytime.

STEP 3: Make your first API call

The most simple method to make your first API call is to use cURL.

Example Request

curl --location --request GET 'https://api.postajob.io/v1/campaign' --header 'Content-Type: application/json' --header 'x-apikey: xxxxxx-xxxxxx-xxxxxx-xxxxxx'

Example Response

{
   "ok": true,
   "campaigns": [
       {
           "salary": {
               "min": 0,
               "max": 0,
               "unit": "month",
               "currency": "euro"
           },
           "age_range": {
               "min": 18,
               "max": 60
           },
           "name": "Rapid API TEST",
           "description": "",
           "company_name": "",
           "company_website": "",
           "company_country": "Netherlands",
           "budget": 500,
           "cities": [],
           "skills": [],
           "interests": [],
           "language": [],
           "status": "Draft",
           "created_at": "2020-03-12T11:07:02.846Z",
           "updated_at": "2020-03-12T11:07:02.846Z",
           "_id": "5e6a1d8edf2bf773891ff1df",
           "step": 0,
           "user_id": "5e524da4253a7f7fa174aa76",
           "contract": "Full Time",
           "category": "Accounting",
           "experience": "Not specified",
           "education": "No diploma required",
           "url": "",
           "title": "",
           "text_1": "",
           "text_2": "",
           "locations": [],
           "__v": 0
       }
   ]
}

Congrats !!

API Reference

You can find a postman with all requests here : https://www.getpostman.com/collections/135f9fbe499d60624e4d

Get campaigns

Note : You can filter on status, company_name, contract etc ...

Example Request

curl --location --request GET 'https://api.postajob.io/v1/campaign' --header 'Content-Type: application/json' --header 'x-apikey: xxxxxx-xxxxxx-xxxxxx-xxxxxx'

Example Response

{
   "ok": true,
   "campaigns": [
       {
           "salary": {
               "min": 0,
               "max": 0,
               "unit": "month",
               "currency": "euro"
           },
           "age_range": {
               "min": 18,
               "max": 60
           },
           "name": "Rapid API TEST",
           "description": "",
           "company_name": "",
           "company_website": "",
           "company_country": "Netherlands",
           "budget": 500,
           "cities": [],
           "skills": [],
           "interests": [],
           "language": [],
           "status": "Draft",
           "created_at": "2020-03-12T11:07:02.846Z",
           "updated_at": "2020-03-12T11:07:02.846Z",
           "_id": "5e6a1d8edf2bf773891ff1df",
           "step": 0,
           "user_id": "5e524da4253a7f7fa174aa76",
           "contract": "Full Time",
           "category": "Accounting",
           "experience": "Not specified",
           "education": "No diploma required",
           "url": "",
           "title": "",
           "text_1": "",
           "text_2": "",
           "locations": [],
           "__v": 0
       }
   ]
}

Create a new campaign

Create your campaign. The more you add properties, the best we can target the right audience.

Example Request

curl --location --request POST 'https://api.postajob.io/v1/campaign' --header 'Content-Type: application/json' --header 'x-apikey: xxxxxx-xxxxxx-xxxxxx-xxxxxx' --data-raw '{ "name": "Test" }'

Example Response

{
    "ok": true,
    "campaign": {
        "salary": {
            "min": 0,
            "max": 0,
            "unit": "month",
            "currency": "euro"
        },
        "age_range": {
            "min": 16,
            "max": 70
        },
        "name": "Test",
        "description": "",
        "company_name": "",
        "company_website": "",
        "company_country": "",
        "budget": 0,
        "cities": [],
        "skills": [],
        "interests": [],
        "language": [],
        "status": "Draft",
        "created_at": "2020-03-12T11:33:04.847Z",
        "updated_at": "2020-03-12T11:33:04.847Z",
        "_id": "5e6a1df22579f20fbfab73bc",
        "user_id": "5e524da4253a7f7fa174aa76",
        "locations": [],
        "__v": 0
    }
}

Update a campaign

Example Request

curl --location --request PUT 'https://api.postajob.io/v1/campaign/5e6a1df22579f20fbfab73bc' --header 'x-apikey: xxxx-xxxxx-xxxxx' --data-raw '{ "name": "Test3" }'

Example Response

{
    "ok": true,
    "campaign": {
        "salary": {
            "min": 0,
            "max": 0,
            "unit": "month",
            "currency": "euro"
        },
        "age_range": {
            "min": 16,
            "max": 70
        },
        "name": "Test3",
        "description": "",
        "company_name": "",
        "company_website": "",
        "company_country": "",
        "budget": 0,
        "cities": [],
        "skills": [],
        "interests": [],
        "language": [],
        "status": "Draft",
        "created_at": "2020-03-12T11:33:04.847Z",
        "updated_at": "2020-03-12T11:33:04.847Z",
        "_id": "5e6a1df22579f20fbfab73bc",
        "user_id": "5e524da4253a7f7fa174aa76",
        "locations": [],
        "__v": 0
    }
}

Delete a campaign

Delete a specifique campaign

Example Request

curl --location --request DELETE 'https://api.postajob.io/v1/campaign/5e6a1df22579f20fbfab73bc' --header 'x-apikey: xxxx-xx-xxxxxx-xxxxxx'

Example Response

{
    "ok": true
}

Get a campaign

Get a campaign with its unique ID

Example Request

curl --location --request GET 'https://api.postajob.io/v1/campaign/5e6a1d8edf2bf773891ff1df' --header 'x-apikey: xxxx-xxxxx-xxxxx-xxxx'

Example Response

{
    "ok": true,
    "campaign": {
        "salary": {
            "min": 0,
            "max": 0,
            "unit": "month",
            "currency": "euro"
        },
        "age_range": {
            "min": 18,
            "max": 60
        },
        "name": "Rapid API TEST",
        "description": "",
        "company_name": "",
        "company_website": "",
        "company_country": "Netherlands",
        "budget": 500,
        "cities": [],
        "skills": [],
        "interests": [],
        "language": [],
        "status": "Draft",
        "created_at": "2020-03-12T11:07:02.846Z",
        "updated_at": "2020-03-12T11:07:02.846Z",
        "_id": "5e6a1d8edf2bf773891ff1df",
        "step": 0,
        "user_id": "5e524da4253a7f7fa174aa76",
        "contract": "Full Time",
        "category": "Accounting",
        "experience": "Not specified",
        "education": "No diploma required",
        "url": "",
        "title": "",
        "text_1": "",
        "text_2": "",
        "locations": [],
        "__v": 0
    }
}

Publish your job campaign

If you campaign has no budget, we will still publish your job on all our fremium jobboards ( googleforjob, indeed, adzuna, joblift, etc ....) Some properties are mandatory for publishing your campaign. Here is the rule :

Name Description
description required Should have more than 100 characters
Type: String
url required Should be a valid url
Example: https://postajob.io
Type: String
contract required Type: String
category required Type: String
company_name required Type: String
company_country required Type: String

Example Request

curl --location --request PUT 'https://api.postajob.io/v1/campaign/publish/5e6a1d8edf2bf773891ff1df' --header 'x-apikey: xxxx-xxxxx-xxxxx-xxxx'

Example Response

{
  ok: true,
  campaign: {
    salary: { min: 0, max: 0, unit: "hour", currency:"euro" },
    age_range: { min: 27, max: 35},
    name: "Rapid API TEST",
    description: "",
    company_name: "",
    company_website: "",
    company_country: "",
    budget: 500,
    skills: [],
    interests: [],
    language: [],
    status: "",
    created_at: "2020-01-27T21:03:14.578Z",
    updated_at: "2020-01-27T21:03:14.578Z",
    _id: "5e32f009743984072c8909b5",
    cities: [],
    tickets: 2,
    step: 3,
    user_email: "",
    user_id: "",
    contract: "",
    category: "",
    experience: "",
    education: "",
    url: "",
    salary_range: { min: 2000, max: 3000 },
    title: "",
    text_1: "",
    text_2: "",
    banner: "",
    logo: "",
    live_at: "2020-03-19T10:03:20.168Z",
    end_at: "2020-04-18T10:03:20.168Z",
    locations: []
  }
}

API reference

Campaign

Name Description
name required Name of your job
Type: String
Example: Web developer
category optional Category of the job. Is mandatory for publising the campaign.
Possible values : [Accounting, Administrative, Arts and Design, Community & Social Services, Consulting, Education, Engineering, Entrepreneurship, Finance, Healthcare Services, Human Resources, Information Technology, Legal, Marketing, Media & Communications, Military & Protective Services, Operations, Program & Product Management, Purchasing, Quality Assurance, Real Estate, Research, Sales, Support, None]
Type: String
Example: Arts and Design
description optional Full text description of your job. Can contain html tags. Must be at least 100 caracters for publishing.
Type: String
company_name optional Name of the recruiting company
Type: String
Example: Postajob
company_website optional Website of the recruiting company
Type: String
Example: https://postajob.io
company_country optional Country of the recruiting company
Type: String
Example: Netherlands
company_logo optional Logo of the recruiting company. Should be a valid url to a .png or .jpg image
Type: String
Example: https://assets.postajob.io/logo.png
contract optional Under which contract is this job. Contract is mandatory for publishing.
Possible values : [Full Time, Part Time, Freelance, Internship]
Type: String
Example: Full Time
education optional The education the applicant should have.
Possible values : [No diploma required, High school, Bachelor, Master, Doctorate / PhD]
Type: String
Example: Bachelor
experience optional The experience the applicant should have.
Possible values : [Not specified, Junior, Mid-Level, Senior]
Type: String
Example: Mid-Level
salary.min optional Minimum salary for the job
Type: Number
Default: 0
Example: 1200
salary.max optional Maximum salary for the job
Type: Number
Default: 0
Example: 1800
salary.unit optional The unit fo the salary.
Possible values : [year, month, day, hour]
Default: month,
Example: year
salary.currency optional The currency of the salary.
Possible values : [euro, usd]
Type: String
Default: euro
budget optional Budget you want to set for your campaign. You need to add a budget on your campaign from our dashboard
Type: Number
Default: 0
Example: 1000
age_range.min optional Age minimum for the job ( useful for google ads and facebook ads job posting )
Type: Number
Default: 16
Example: 20
age_range.max optional Age maximum for the job ( useful for google ads and facebook ads job posting )
Type: Number
Default: 70
Example: 28
locations optional
Type: Array
Example: [{name : "Paris"}, {name:"Islamabad"}]
skills optional Skills for the needed. Useful to target niche dashboard of for a google ads or facebook ads job
Type: Array
Example: [Design, Testing, ..]
interests optional Interest of the candidate. Useful to target niche dashboard of for a google ads or facebook ads job
Type: Array
Example: [Learning, Travelling, ..]
language optional Language spoke by the applicant. Useful to check in multiple country which this languages
Type: Array
Example: [English, French, ..]
banner optional Background image of your ads. It will be the image for your google ads, linkdin ads, or instagram ads or google for jobs etc ...
Type: String
Example: https://assets.postajob.io/cover.png
title optional Title of your ads. It will be the image for your google ads, linkdin ads, or instagram ads or google for jobs etc ...
Type: String
Example: Web Developer required
text_1 optional Main text of your ads. It will be the image for your google ads, linkdin ads, or instagram ads or google for jobs etc ...
Type: String
Example: Join a innovative startup . TOP 50 EU
text_2 optional Secondary text of your ads. It will be the image for your google ads, linkdin ads, or instagram ads or google for jobs etc ...
Type: String
Example: We are looking for a React Native developer interested in building performant mobile apps on both the iOS and Android platforms. You will be responsible for architecting and building these applications, as well as coordinating with the teams responsible for other layers of the...
url optional Url of the job on your website. Mantory for the campaign publishing
Type: String
Example: https://postajob.io
status optional Status of your campaign. Is read only value.
Possible values : [Draft, Published, Inactive, Cancelled, Live]
Type: String
Default: Draft
Example: Live
user_id required User id. Auto-generated
Type: String
Example: your_custom_id
client_id optional Free field to save your client_id if you have any. You can filter on it when you retrieve campaigns
Type: String
Example: your_custom_id
created_at Auto-generated
Type: Date
updated_at Auto-generated
Type: Date
live_at Auto-generated
Type: Date
end_at Auto-generated. 30 days after the live at date
Type: Date

Other

Pricing & Billing

How much does it cost to use Post a job ?

We offer straightforward pricing that compliments your usage needs and business goals. We have a freemium version you can try including for free more than 10 differents channels (Google for job, Indeed, Joblift, Jooble etc ....). You can try without credit card. Then, you can add a budget to your campaign and we will start to advertise your job, (on top of free channels) on all other paid channels ( facebook , google , linkedin, job boards etc regarding profil and the localisation )

FAQ

What is Postajob?

Postajob provides state-of-the-art, api to post your job on multiple platforms to hire peoples worldwide. Through one API, you can reach thousand of channels : jobboard, facebook ads for job, google ads for job, reddit ads, quora ads, niche jobboards etc. Founded in 2018, we’re headquartered in Amsterdam office offices in Netherlands. We’re a venture backed organization with customers all over the world. Learn more about Postajob.

How to use Post a job

Post a job is designed for software developers and we’ve made it simple to interact with our technology via an API (ask your tech team). Just integrate with our easy to code endpoints to get up and running.

What features does Postajob offer?

We’re deeply focused on easy and smart job diffusion

Do you have a Demo?

We do demo on demand Ask for a demo

Help and support

We'd love to hear feedback from you and we're also here to help if you have any challenges. We have lots of answers to popular questions in our FAQ. Failing that, feel free to contact our Support team .

Channels list

Please find bellow all channels we gathered from differents sources. If you want to suggest a new channel, please go here Suggest a new channel

About

Post your job worldwide on multiple job boards , niche job boards , community channels and ads

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published