Skip to main content
GET
/
api
/
public
/
v1
/
freelancers
/
{idOrSlug}
curl -sS https://app.opentrain.ai/api/public/v1/freelancers/<USER_ID_OR_SLUG> \
  -H "Authorization: Bearer $OT_API_TOKEN"
{
  "freelancer": {
    "id": "<FREELANCER_ID>",
    "profileSlug": "maria-g",
    "profilePath": "/profile/maria-g",
    "displayName": "Maria G.",
    "firstName": "Maria",
    "lastNameInitial": "G",
    "talentType": "Individual",
    "title": "Text Annotation Specialist",
    "bio": "Native Spanish speaker with 4 years of NLP annotation experience.",
    "city": "Madrid",
    "countryCode": "ES",
    "country": "Spain",
    "profilePhotoUrl": "https://app.opentrain.ai/<PHOTO_PATH>",
    "hourlyRateUsd": 18,
    "availability": "FULL_TIME",
    "expertiseLevel": "EXPERT",
    "englishLevel": "FLUENT",
    "memberSince": "2024-03-02T10:00:00.000Z",
    "identityVerified": true,
    "skills": {
      "subjectMatter": ["Social media", "Customer support"],
      "tags": ["SENTIMENT_ANALYSIS", "TEXT_CLASSIFICATION"],
      "software": ["<ANNOTATION_TOOL>"],
      "dataTypes": ["TEXT"],
      "labelTypes": ["CLASSIFICATION"]
    },
    "languages": [
      { "language": "Spanish", "proficiency": "NATIVE" },
      { "language": "English", "proficiency": "FLUENT" }
    ],
    "stats": {
      "totalEarnedUsd": 2400,
      "billedHours": 310,
      "jobSuccessScore": 98,
      "reviewCount": 7,
      "averageRating": 4.9
    },
    "agency": null,
    "labelExperience": [
      {
        "id": "<EXPERIENCE_ID>",
        "title": "Spanish tweet sentiment corpus",
        "description": "Annotated 120k tweets for a sentiment model.",
        "fromYear": 2023,
        "toYear": 2025,
        "ongoing": false,
        "software": "<ANNOTATION_TOOL>",
        "dataType": "TEXT",
        "labelTypes": ["CLASSIFICATION"]
      }
    ],
    "workExperience": [],
    "education": [],
    "reviews": [
      {
        "id": "<REVIEW_ID>",
        "rating": 5,
        "comment": "Fast, precise, great guideline questions.",
        "createdAt": "2026-01-20T12:00:00.000Z"
      }
    ]
  }
}
Reads an AI trainer’s public profile for candidate evaluation — title, bio, skills, stats, label/work experience, education, languages, and reviews. Resolve candidates from proposals (candidate.id or candidate.profileSlug on GET /jobs/{id}/proposals), then invite or hire them. Identity is masked: first name + last initial (agencies show the agency name with no last-name initial). Personal contact details — including personal email — are never returned; see privacy. Profiles you cannot view (nonexistent, closed, banned, or restricted by the AI trainer’s visibility settings) return 404, not 403. Requirements: proposals:read scope. Works pre-claim.

Request

idOrSlug
string
required
The AI trainer’s user ID or public profile slug.

Response

freelancer
object

Errors

StatuscodeMeaning
400BAD_REQUESTMissing idOrSlug
401UNAUTHORIZEDMissing or invalid token
403FORBIDDENMissing proposals:read scope
404NOT_FOUNDNo such profile, or the profile is not visible to you (details: {resource: "freelancers", idOrSlug})
curl -sS https://app.opentrain.ai/api/public/v1/freelancers/<USER_ID_OR_SLUG> \
  -H "Authorization: Bearer $OT_API_TOKEN"
{
  "freelancer": {
    "id": "<FREELANCER_ID>",
    "profileSlug": "maria-g",
    "profilePath": "/profile/maria-g",
    "displayName": "Maria G.",
    "firstName": "Maria",
    "lastNameInitial": "G",
    "talentType": "Individual",
    "title": "Text Annotation Specialist",
    "bio": "Native Spanish speaker with 4 years of NLP annotation experience.",
    "city": "Madrid",
    "countryCode": "ES",
    "country": "Spain",
    "profilePhotoUrl": "https://app.opentrain.ai/<PHOTO_PATH>",
    "hourlyRateUsd": 18,
    "availability": "FULL_TIME",
    "expertiseLevel": "EXPERT",
    "englishLevel": "FLUENT",
    "memberSince": "2024-03-02T10:00:00.000Z",
    "identityVerified": true,
    "skills": {
      "subjectMatter": ["Social media", "Customer support"],
      "tags": ["SENTIMENT_ANALYSIS", "TEXT_CLASSIFICATION"],
      "software": ["<ANNOTATION_TOOL>"],
      "dataTypes": ["TEXT"],
      "labelTypes": ["CLASSIFICATION"]
    },
    "languages": [
      { "language": "Spanish", "proficiency": "NATIVE" },
      { "language": "English", "proficiency": "FLUENT" }
    ],
    "stats": {
      "totalEarnedUsd": 2400,
      "billedHours": 310,
      "jobSuccessScore": 98,
      "reviewCount": 7,
      "averageRating": 4.9
    },
    "agency": null,
    "labelExperience": [
      {
        "id": "<EXPERIENCE_ID>",
        "title": "Spanish tweet sentiment corpus",
        "description": "Annotated 120k tweets for a sentiment model.",
        "fromYear": 2023,
        "toYear": 2025,
        "ongoing": false,
        "software": "<ANNOTATION_TOOL>",
        "dataType": "TEXT",
        "labelTypes": ["CLASSIFICATION"]
      }
    ],
    "workExperience": [],
    "education": [],
    "reviews": [
      {
        "id": "<REVIEW_ID>",
        "rating": 5,
        "comment": "Fast, precise, great guideline questions.",
        "createdAt": "2026-01-20T12:00:00.000Z"
      }
    ]
  }
}