The Freelancer API offers a programmatic way to interact with Freelancer.com, enabling you to automate tasks like searching for projects, posting jobs, managing bids, and communicating with users. By integrating this API with Pipedream, you can create powerful, serverless workflows that streamline your freelance business operations or help you build tools that assist others in managing their freelancing tasks.
import { axios } from "@pipedream/platform"
export default defineComponent({
props: {
freelancer: {
type: "app",
app: "freelancer",
}
},
async run({steps, $}) {
return await axios($, {
url: `https://www.freelancer.com/api/users/0.1/self/`,
headers: {
Authorization: `Bearer ${this.freelancer.$auth.oauth_access_token}`,
"freelancer-oauth-v1": `${this.freelancer.$auth.oauth_access_token}`,
},
})
},
})
Automated Job Posting: Set up a workflow that automatically posts new jobs on Freelancer based on certain triggers. For example, when a new issue is labeled as "help wanted" in your GitHub repository, Pipedream could post a corresponding job listing on Freelancer to find developers.
Bid Monitoring and Notification: Create a Pipedream workflow that monitors new bids on your Freelancer projects and sends real-time notifications via Slack or email. This way, you can quickly review and respond to potential candidates without constantly checking the site.
Project Management Sync: Develop a system where project updates on Freelancer are synchronized with your project management tool, like Trello or Asana. When a freelancer submits work, the corresponding task in your project management app can be automatically marked as complete.
Freelancer uses OAuth authentication. When you connect your Freelancer account, Pipedream will open a popup window where you can sign into Freelancer and grant Pipedream permission to connect to your account. Pipedream securely stores and automatically refreshes the OAuth tokens so you can easily authenticate any Freelancer API.
Pipedream requests the following authorization scopes when you connect your account:
basic
GET
https://accounts.freelancer.com/oauth/authorize
?
client_id={{oauth.client_id}}
&
redirect_uri={{oauth.redirect_uri}}
&
state={{oauth.state}}
&
response_type=code
&
scope={{oauth.space_separated_scopes}}
POST
https://accounts.freelancer.com/oauth/token
content-type: application/x-www-form-urlencoded
accept: application/json
client_id={{oauth.client_id}}
&
client_secret={{oauth.client_secret}}
&
redirect_uri={{oauth.redirect_uri}}
&
grant_type=authorization_code
&
code={{oauth.code}}
POST
https://accounts.freelancer.com/oauth/token
content-type: application/x-www-form-urlencoded
accept: application/json
client_id={{oauth.client_id}}
&
client_secret={{oauth.client_secret}}
&
grant_type=refresh_token
&
refresh_token={{oauth.refresh_token}}