Skip to main content

Sync strategy

The recommended method to sync Pylote freelancers into your database:

Initial sync

Use modifiedTime=0 to fetch all freelancers, then paginate:

Incremental sync

Store the timestamp of your last sync, then fetch only the profiles modified since then:
Freelancers with status: deleted must be deleted from your database within 30 days. This is a contractual commitment. The possible deletion statuses are: account_deleted, account_banned, account_excluded, account_invisible.

Pagination

Responses are paginated with the page and limit parameters. Each response includes an infos object:
Use limit=1000 to minimize the number of requests. An initial sync of ~22,000 freelancers takes about 22 pages.

Deduplication

The same freelancer may be present on several platforms. The meta.personalEmail field (SHA-256 hash of the personal email) lets you deduplicate:

Tracked URLs (hive.pylote.io)

The basics.url field (LinkedIn) and the CV link in basics.profiles go through the hive.pylote.io proxy. These URLs:
  • Track profile views for the freelancer’s stats
  • Contain a watermark (the caller’s IP encoded in base64)
  • Must not be shared outside your platform
Format:

Fetching specific freelancers

If you need to re-sync a subset of profiles (for example after an incident), use POST /freelances with a list of IDs:
The API cache is refreshed every hour. Syncing more often than hourly brings no additional data.