Getting started overview

This guide provides a structured approach to initiating your activity on Freelancer, whether you intend to hire talent or offer your services. It covers the fundamental steps from account creation to understanding the platform's API access, enabling you to integrate programmatically or perform your first manual interaction with the system. While Freelancer primarily operates via its web interface, programmatic access through its API allows for automated interactions, such as listing projects, managing bids, or retrieving project information directly from your applications. The process generally involves setting up an account, understanding the authentication mechanisms—which may include API keys or OAuth—and executing a test request to confirm connectivity and authorization.

Freelancer was founded in 20091 and provides a platform for connecting employers with freelancers globally. The platform supports various project types, from web development and writing to design and marketing, and also facilitates design contests for creative work1. It offers a basic free tier with limited bidding and application capabilities, alongside paid membership plans that provide reduced fees and additional features2. The platform adheres to data protection regulations such as GDPR1, ensuring user data privacy.

Here's a quick reference for the key steps:

Step What to do Where
1. Create Account Register as an employer or freelancer. Freelancer Sign Up page
2. Configure Profile Complete profile details, skills, portfolio (freelancer) or company details (employer). Account Settings > Profile
3. Understand API Access Review API documentation for key generation and authentication methods. Freelancer API Documentation
4. Generate API Key (if applicable) Create an API key for programmatic access. Account Settings > API Access (or similar)
5. Make a First Request Test the API with a basic call (e.g., retrieve user profile). Using cURL or an HTTP client with your API key

Create an account and get keys

To begin using Freelancer, you must first create an account. You can register either as someone looking to hire (an employer) or someone seeking work (a freelancer)3. The registration process typically involves providing an email address, creating a password, and specifying your user type.

  1. Navigate to the Sign Up Page: Go to the Freelancer sign-up page.
  2. Choose Account Type: Select whether you want to "I want to hire" or "I want to work" to tailor your initial experience.
  3. Provide Credentials: Enter your email address and create a strong password. You may also have the option to sign up using a social media account like Facebook or Google.
  4. Verify Email (if required): Freelancer may send a verification email to the address you provided. Follow the instructions in the email to activate your account.
  5. Complete Profile: After signing up, you will be prompted to complete your profile. For freelancers, this includes adding skills, experience, and a portfolio. For employers, it might involve company details or initial project requirements.

For programmatic access, Freelancer offers an API that allows developers to interact with the platform. Access to the Freelancer API typically requires an API key or OAuth authentication. These credentials are used to authenticate your application when making requests to the API, ensuring that only authorized applications can access and modify your account data.

  1. Access API Documentation: Review the official Freelancer API documentation to understand the available endpoints, authentication methods (e.g., API keys, OAuth 2.0), and rate limits. The documentation will specify how to generate and manage your API credentials. OAuth 2.0 is a common industry standard for delegated authorization, allowing applications to act on behalf of a user without needing their password4.
  2. Locate API Settings: Within your Freelancer account, navigate to the "Settings" or "Developer Settings" section. The exact path may vary but typically includes options for API Access, Integrations, or similar.
  3. Generate API Key: Follow the instructions to generate a new API key. This key is a unique string that identifies your application. Treat your API key as sensitive information; do not hardcode it directly into client-side code or publicly disclose it.
  4. Configure OAuth (if applicable): If the API uses OAuth, you will need to register your application to obtain a Client ID and Client Secret. These are used in the OAuth flow to obtain access tokens.
  5. Store Credentials Securely: Once generated, copy your API key or OAuth credentials and store them in a secure location, such as environment variables, a secrets manager, or a secure configuration file.

Your first request

After setting up your Freelancer account and obtaining your API credentials (if you plan to use the API), you can make your first request. This section outlines how to create a basic project post or make a simple API call to verify your setup.

Manual Project Post (Web Interface)

If you are using the web interface to get started, your "first request" typically involves posting a project or bidding on one:

  1. Log In: Access your Freelancer account.
  2. Post a Project: If you are an employer, click "Post a Project" (or similar button). Provide a descriptive title, detailed description, budget, and any required skills or files.
  3. Review and Publish: Review your project details and publish it. Freelancers can then begin bidding on your project.
  4. Find Work: If you are a freelancer, navigate to the "Browse Projects" or "Find Work" section. Search for projects matching your skills.
  5. Place a Bid: Select a project, review its details, and submit a bid, including your proposed rate, timeline, and a cover letter explaining your qualifications.

API First Request (Programmatic)

To make your first programmatic request using the Freelancer API, you'll typically use a tool like cURL or an HTTP client library in your preferred programming language. This example uses cURL to fetch the authenticated user's profile, assuming you have an API key. Please refer to the Freelancer API documentation for the most up-to-date endpoints and authentication methods, as these can change.

Example: Fetching User Profile Information

This example assumes you have an API key and are using an endpoint that requires user authentication. Replace YOUR_API_KEY with your actual Freelaner API key. The exact endpoint for user profiles may vary; consult the official API documentation.

curl -X GET \
  'https://www.freelancer.com/api/users/v1/self' \
  -H 'Freelancer-API-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json'

Expected Output (JSON):

A successful response will return a JSON object containing details about the authenticated user. The structure will resemble:

{
  "status": "success",
  "result": {
    "id": 12345,
    "username": "johndoe",
    "public_name": "John D.",
    "email": "[email protected]",
    "status": "active",
    "is_employer": true,
    "is_freelancer": false,
    "country": {
      "id": 1,
      "name": "United States",
      "code": "US"
    },
    "profile_url": "https://www.freelancer.com/u/johndoe",
    "registration_date": 1609459200
    // ... other user details
  }
}

An unsuccessful request might return an error status and message, indicating issues with authentication, invalid endpoint, or malformed request.

Common next steps

Once you've successfully created your account and, if applicable, made your first API call, consider these next steps to fully leverage the Freelancer platform:

  1. Explore Membership Plans: Freelancer offers various membership plans with different benefits, such as reduced project fees for employers and freelancers, increased bid limits, and access to premium features. Review these to see if a paid plan aligns with your usage needs and budget.
  2. Deepen API Integration: If you are using the API, explore additional endpoints for managing projects (/projects/v1/projects), bids (/projects/v1/bids), or messages. Consider implementing webhook integrations for real-time notifications of events like new bids or project updates. For example, Twilio's webhook security guide offers general best practices for securing webhook endpoints, which can be applied to any platform that supports them5.
  3. Optimize Your Profile: For freelancers, a well-detailed profile with a strong portfolio, clear skills, and positive reviews is crucial for attracting clients. Employers should ensure their company profile is complete and projects are clearly defined to attract suitable talent.
  4. Understand Payment Processing: Familiarize yourself with how payments are handled on the platform. Freelancer typically uses a milestone payment system where funds are held in escrow until project milestones are completed and approved. Payment gateways like PayPal or Stripe are often integrated for fund transfers6.
  5. Review Terms of Service and Policies: Understand Freelancer's Terms of Service, privacy policy, and dispute resolution processes to ensure compliance and protect your interests.
  6. Engage with the Community: Participate in forums, groups, or support channels to ask questions, share experiences, and learn from other users.

Troubleshooting the first call

Encountering issues during your first Freelancer API call is common. Here's a guide to diagnose and resolve typical problems:

  1. Authentication Errors (401 Unauthorized, 403 Forbidden):
    • Incorrect API Key: Double-check that your Freelancer-API-Key header contains the exact key generated from your account. Ensure there are no leading/trailing spaces or typos.
    • Missing API Key: Verify that the Freelancer-API-Key header is present in your request.
    • Expired or Revoked Key: Confirm your API key is still active in your Freelancer account settings. Regenerate if necessary.
    • OAuth Token Issues: If using OAuth, ensure your access token is valid and not expired. The OAuth flow involves refreshing tokens periodically.
  2. Bad Request (400 Bad Request):
    • Malformed JSON/Payload: If your request body contains JSON, ensure it is syntactically correct. Use a JSON linter to validate.
    • Missing Required Parameters: Check the API documentation for the specific endpoint you are calling to ensure all mandatory parameters are included in your request body or query string.
    • Invalid Data Types: Ensure that parameters are sent with the correct data types (e.g., integer for IDs, string for names).
  3. Not Found (404 Not Found):
    • Incorrect Endpoint URL: Verify that the URL you are calling matches the endpoint specified in the Freelancer API documentation. Check for typos in the path or hostname.
    • Resource Does Not Exist: If you're requesting a specific resource (e.g., a project by ID), ensure that resource actually exists and is accessible to your account.
  4. Server Error (5xx Errors):
    • These indicate an issue on Freelancer's server. While you cannot directly resolve these, you can:
    • Retry: Wait a short period and try the request again.
    • Check Status Page: Look for a Freelancer system status page (if available) for known outages.
    • Contact Support: If errors persist, contact Freelancer support with details of your request and the error response.
  5. Network Issues:
    • Firewall/Proxy: Ensure your network or local firewall isn't blocking outgoing HTTP requests to www.freelancer.com.
    • DNS Resolution: Verify that your system can correctly resolve the domain name www.freelancer.com.