Navigation
guides
Connecting Freelancer
Overview
Connecting Freelancer.com to Prospector enables lead scanning, proposal submission, and contract tracking on the Freelancer platform. The integration uses Freelancer’s OAuth 2.0 API. All credentials are stored in Vault.
This guide assumes you have a GhostStack account with Prospector enabled and an active Freelancer profile. If you have not set up Prospector yet, start with Getting Started.
Step 1: Register a Freelancer API Application
Freelancer requires you to register an application before using their API:
- Log into Freelancer and go to the Developer Dashboard
- Click Create Application
- Set the redirect URI to
https://app.ghoststack.dev/auth/freelancer/callback - Under scopes, enable:
fln:project_search,fln:project_bid,fln:project_manage - Save the application. Note your Client ID and Client Secret.
Freelancer may take up to 24 hours to approve new API applications. You cannot proceed until the application status shows “Active.”
Step 2: Authorize Prospector
Once your Freelancer application is approved, run the authorization flow:
ghoststack prospector connect freelancer
Enter your Client ID and Client Secret when prompted. Prospector opens your browser to Freelancer’s consent screen. After you approve, Freelancer redirects back with an authorization code that Prospector exchanges for tokens.
# You'll see prompts like:
Enter Freelancer Client ID: fln_abc123...
Enter Freelancer Client Secret: ••••••••
Opening browser for authorization...
Authorization successful. Tokens stored in Vault.
Step 3: Verify the Connection
Confirm the connection is active:
ghoststack prospector status --platform freelancer
Expected output:
Platform: Freelancer
Status: Connected
Account: your-freelancer-username
Scopes: project_search, project_bid, project_manage
Token expires: 2026-05-24T12:00:00Z
Last sync: never
Step 4: Configure Scan Preferences
Set up Freelancer-specific scan parameters in your configuration:
# ~/.ghoststack/prospector.yaml (freelancer section)
platforms:
freelancer:
categories:
- 'Websites, IT & Software'
- 'Mobile Phones & Computing'
project_types: ['fixed', 'hourly']
min_employer_rating: 4.0
scan_interval: '30m'
max_results_per_scan: 40
The min_employer_rating filter is Freelancer-specific. It excludes projects from employers with ratings below the specified threshold. This pairs well with the scoring model’s client history signal but operates as a hard cutoff rather than a weighted factor.
Freelancer-Specific Considerations
Freelancer’s API differs from Upwork’s in a few ways that affect how Prospector operates:
Bid visibility: Freelancer shows the total number of bids on a project publicly. Prospector uses this directly for competition density scoring rather than estimating it.
Contest projects: Freelancer supports contest-type projects where multiple freelancers submit work and the employer picks a winner. Prospector excludes contests by default because they require speculative work. You can enable contest scanning with include_contests: true in your config, but contest leads receive a scoring penalty.
Skill tags: Freelancer uses its own skill taxonomy that does not always map cleanly to Upwork’s. Prospector maintains an internal mapping table, but you may need to add Freelancer-specific skill names to your profile for accurate matching.
Token Refresh
Freelancer access tokens expire after 24 hours. Prospector refreshes them automatically. If a refresh fails, the platform status moves to auth_expired and you will need to re-authorize.
Unlike Upwork, Freelancer refresh tokens do not expire based on inactivity. However, revoking access through Freelancer’s security settings invalidates all tokens immediately.
Troubleshooting
“Application pending” during authorization: Your Freelancer API application has not been approved yet. Check the Developer Dashboard for status updates.
Missing scopes error: Your application registration did not include all required scopes. Edit the application on Freelancer’s Developer Dashboard to add the missing scopes, then re-authorize.
Low result counts: Freelancer has fewer active projects than Upwork in many categories. Broadening your category filters or reducing min_employer_rating may help if you are seeing sparse results.