> ## Documentation Index
> Fetch the complete documentation index at: https://api.tryspecter.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Get person by ID

> Returns the full professional profile for a person - career history, skills, education, and contact links - identified by their Specter person ID.

<Note> Costs 1 credit per request. </Note>

## What you need

A Specter person ID (`per_…`); get one from [Search person name](/api-reference/people/search-person-name), [Enrich person by email](/api-reference/enrich/enrich-person-by-email), or [Get network people](/api-reference/network/get-network-people).

## Behaviour

- Returns the single most current profile for the ID.
- Returns `404` if the person ID doesn't exist.

## What you do next

- **Get their email.** Fetch a verified address with [Get person email](/api-reference/people/get-person-email).
- **See where they work.** Follow a role's `company_id` in `experience` to [Get company by ID](/api-reference/companies/get-company-by-id).




## OpenAPI

````yaml /api-ref/bundle_api.yaml get /people/{personId}
openapi: 3.0.0
info:
  title: Specter API
  termsOfService: https://tryspecter.com/terms/
  contact:
    name: API support
    email: api-support@tryspecter.com
  version: 1.0.0
servers:
  - description: Production
    url: https://app.tryspecter.com/api/v1
security:
  - ApiKeyAuth: []
tags:
  - name: Enrich
    description: >
      Look up a company, person, or investor and, if Specter does not already
      hold it, fetch it on demand. Includes email-based person enrichment.
  - name: Search
    description: |
      Find records across every product from a single plain-English query.
  - name: Companies
    description: >
      Company profiles, funding, headcount, traction, the per-company signals
      and sub-resources attached to a single company, and identifier resolution.
  - name: People
    description: >
      Specter people records: profile data, contact details, and per-person
      lookups for a known person ID.
  - name: Investors
    description: >
      Specter investor records: profile, activity, targeting, funds, portfolio
      companies, and the funding rounds they have participated in.
  - name: Transactions
    description: |
      Transaction detail by ID: funding rounds, acquisitions, and IPOs.
  - name: News Signals
    description: |
      Company-level news signals: by ID, and for a saved list or company search.
  - name: Revenue Signals
    description: >
      Revenue and profitability signals: by ID, by date, and for a saved list or
      company search.
  - name: Talent Signals
    description: |
      Talent signals: by ID and in bulk by ID.
  - name: Investor Interest Signals
    description: |
      Investor interest signals: by ID and in bulk by ID.
  - name: Company Lists
    description: |
      Create, query, and maintain lists of companies, including their results.
  - name: Investor Lists
    description: |
      Create, query, and maintain lists of investors, including their results.
  - name: People Lists
    description: |
      Create, query, and maintain lists of people, including their results.
  - name: Saved Searches
    description: |
      List and delete searches saved via tryspecter.com.
  - name: Company Saved Searches
    description: |
      Details and results for saved company searches.
  - name: People Saved Searches
    description: |
      Details and results for saved people searches.
  - name: Investor Saved Searches
    description: |
      Details and results for saved investor searches.
  - name: Talent Signals Saved Searches
    description: |
      Details and results for saved Talent Signals searches.
  - name: Investor Interest Saved Searches
    description: |
      Details and results for saved Investor Interest Signals searches.
  - name: Network
    description: >
      Your team's LinkedIn network: the people and companies your teammates are
      connected to, and your reach into a given company.
  - name: Account
    description: >
      Organisation-level resources: your team's members, API call logs, and
      credit balance.
paths:
  /people/{personId}:
    get:
      tags:
        - People
      summary: Get person by ID
      description: >
        Returns the full professional profile for a person - career history,
        skills, education, and contact links - identified by their Specter
        person ID.


        <Note> Costs 1 credit per request. </Note>


        ## What you need


        A Specter person ID (`per_…`); get one from [Search person
        name](/api-reference/people/search-person-name), [Enrich person by
        email](/api-reference/enrich/enrich-person-by-email), or [Get network
        people](/api-reference/network/get-network-people).


        ## Behaviour


        - Returns the single most current profile for the ID.

        - Returns `404` if the person ID doesn't exist.


        ## What you do next


        - **Get their email.** Fetch a verified address with [Get person
        email](/api-reference/people/get-person-email).

        - **See where they work.** Follow a role's `company_id` in `experience`
        to [Get company by ID](/api-reference/companies/get-company-by-id).
      parameters:
        - $ref: '#/components/parameters/PersonId'
      responses:
        '200':
          $ref: '#/components/responses/PersonResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '402':
          $ref: '#/components/responses/OutOfCredits'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '429':
          $ref: '#/components/responses/RateLimits'
components:
  parameters:
    PersonId:
      in: path
      name: personId
      schema:
        type: string
      required: true
      description: The ID of the person being requested.
  responses:
    PersonResponse:
      description: >
        A successful response containing the detailed professional profile of
        the requested person.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Person'
    Unauthorized:
      description: Unauthorized
      content:
        application/json:
          schema:
            oneOf:
              - $ref: '#/components/schemas/ApiKeyMissing'
              - $ref: '#/components/schemas/ApiKeyNotValid'
    OutOfCredits:
      description: Out of credits - API credit limit exceeded
      content:
        application/json:
          schema:
            type: object
            required:
              - errorCode
              - message
            properties:
              errorCode:
                type: string
                enum:
                  - OUT_OF_CREDITS
              message:
                type: string
                description: |
                  There are no more credits available to complete the request.
      headers:
        X-CreditLimit-Limit:
          schema:
            type: integer
          description: The total number of credits allocated for the current period
        X-CreditLimit-Remaining:
          schema:
            type: integer
          description: The number of credits remaining for the current period
        X-CreditLimit-Reset:
          schema:
            type: number
            format: float
          description: The number of seconds until the credit limit resets
    Forbidden:
      description: Forbidden - There is no permissions to use the endpoint
      content:
        application/json:
          schema:
            type: object
            properties:
              errorCode:
                description: NOT_PERMITTED
                type: string
                example: NOT_PERMITTED
              message:
                type: string
                description: You do not have permission to access this resource.
                example: You do not have permission to access this resource.
            required:
              - errorCode
              - message
    NotFound:
      description: Not Found
      content:
        application/json:
          schema:
            type: object
            required:
              - errorCode
              - message
            properties:
              errorCode:
                type: string
                description: NOT_FOUND
              message:
                type: string
                description: Not Found
    RateLimits:
      description: Too Many Requests - API Rate limit exceeded
      content:
        application/json:
          schema:
            type: object
            required:
              - errorCode
              - message
            properties:
              errorCode:
                type: string
                description: RATE_LIMITED
              message:
                type: string
                description: You have been rate-limited
      headers:
        X-RateLimit-Limit:
          schema:
            type: integer
          description: The total rate limit allowed for this endpoint
        X-RateLimit-Remaining:
          schema:
            type: integer
          description: The number of requests remaining
        X-RateLimit-Reset:
          schema:
            type: number
            format: float
          description: The number of seconds until the rate limit resets
  schemas:
    Person:
      title: Person
      properties:
        person_id:
          description: >-
            The Specter person ID for this person, can be used in people
            endpoints.
          type: string
          example: per_34f8a8ad1f7497b83e821345
        talent_signal_ids:
          description: Talent signal IDs for this person, can be used in talent endpoints
          nullable: true
          items:
            type: string
            example: 02d32673-f1ab-40a1-93c5-a3a36a10d342
          type: array
          example:
            - 58323b85-153b-4d3d-8c0c-62dbf41198dc
        investor_signal_ids:
          nullable: true
          items:
            description: >
              Investor signal IDs for this person, will be usable in investor
              endpoints when available.
            type: string
            example: 0340bac8-bcee-46a2-94bf-cf77e0c34253
          type: array
        profile_picture_url:
          description: A url for a profile picture if there is one.
          nullable: true
          type: string
          example: >-
            https://peopledb-public.s3.eu-west-2.amazonaws.com/assets/profile-pictures/per_34f8a8ad1f7497b83e821345.jpg
        first_name:
          description: First name
          type: string
          example: Cosmin
        last_name:
          description: Last Name
          type: string
          example: Urdea
        full_name:
          description: Full name
          type: string
          example: Cosmin Urdea
        linkedin_url:
          description: URL for LinkedIn account.
          type: string
          example: https://www.linkedin.com/in/cosmin-urdea-0848973
        linkedin_num_id:
          description: The numeric ID for the LinkedIn account.
          type: number
          example: 11147428
        linkedin_urn:
          description: The URN from LinkedIn for the account.
          type: string
          example: ACoAAEULqT0BasKeraebkQhLfmIwxpxTlNThQjE
        twitter_url:
          description: URL for Twitter account.
          nullable: true
          type: string
          example: https://x.com/moissinac
        github_url:
          description: URL for Github account.
          nullable: true
          type: string
          example: https://github.com/sarahchen9776
        about:
          description: A description of the person.
          nullable: true
          type: string
          example: >-
            IT Software Consultant / Contractor 20+ years of experience in
            software development - Systems and Applications Architecture -
            Product Design / Management - Coach and mentorship Experience in
            various industries, but mostly in electronic payments. After a full
            carrier as a full stack developer and, later on, architect, I have
            decided to put my experience to use from a different perspective as
            Product Owner/Manager and it has been already 3 years and I am
            enjoying very much this new role.
        tagline:
          description: A shorter tagline for the person.
          nullable: true
          type: string
          example: Software Consultant / Contractor
        location:
          description: Where the person is located.
          nullable: true
          type: string
          example: Bucharest, București, Romania, Europe
        region:
          description: Main region where the person is located.
          nullable: true
          type: string
          example: Europe
        highlights:
          items:
            type: string
            example: prior_exit
          type: array
          description: |
            Type of highlight, the full list will be added shortly.
          example:
            - major_tech_experience
            - prior_vc_backed_experience
            - strong_technical_background
            - vc_backed_experience
        level_of_seniority:
          description: Top level of seniority the person has achieved.
          nullable: true
          type: string
          example: Senior Level
        years_of_experience:
          description: Years of experience the person has worked for.
          nullable: true
          type: number
          example: 21
        education_level:
          description: Top level of education that the person has.
          nullable: true
          type: string
          example: ''
        experience:
          type: array
          description: Companies that the person has worked for.
          items:
            $ref: '#/components/schemas/Experience'
        current_position_title:
          description: Title of the person's current position
          nullable: true
          type: string
          example: Senior Consultant Fintech & Digital Payment
        current_position_company_name:
          description: Name of the company where the person currently works.
          nullable: true
          type: string
          example: valantic (vormals mm1)
        current_position_company_website:
          description: Website for the company where the person currently works.
          nullable: true
          type: string
          example: mm1.com
        past_position_title:
          description: Title of the person's last position
          nullable: true
          type: string
          example: Product Owner (Contracted)
        past_position_company_name:
          description: Name of the company where the person last left.
          nullable: true
          type: string
          example: Riverty
        past_position_company_website:
          description: Website for the company where the person last left.
          nullable: true
          type: string
          example: riverty.com
        current_tenure:
          description: Length of time the person has been in their current job.
          nullable: true
          type: number
          example: 15
        average_tenure:
          description: Average length of time in a position.
          nullable: true
          type: number
          example: 22
        education:
          type: array
          description: Educational background for the person
          items:
            $ref: '#/components/schemas/Education'
        languages:
          description: Languages that the person speaks
          nullable: true
          type: array
          items:
            $ref: '#/components/schemas/Language'
          example:
            - name: English
              proficiency_level: Native Or Bilingual Proficiency
            - name: Mandarin Chinese
              proficiency_level: Limited Working Proficiency
        skills:
          items:
            type: string
            example: Machine Learning
          description: List of skills that the person has.
          type: array
          example:
            - API Development
            - Agentic AI
            - Agentic Orchestration
            - Algorithmic Trading
            - Algorithms
            - Apache Spark
            - C#
            - C++
            - CORS
            - Communication
        linkedin_followers:
          description: Number of followers the person has on LinkedIn.
          type: number
          example: 904
        linkedin_connections:
          description: Number of connections the person has on LinkedIn.
          type: number
          example: 500
        last_updated:
          description: |
            A date for when the person was last updated in Specter.
            Uses the format YYYY-MM-DD HH:MM:SS.
          type: string
          example: '2026-07-13 17:37:30'
      required:
        - last_updated
        - person_id
      additionalProperties: false
      type: object
    ApiKeyMissing:
      properties:
        errorCode:
          description: API_KEY_MISSING
          example: API_KEY_MISSING
          type: string
        message:
          description: No API Key was presented on the header X-API-KEY
          example: No API Key was presented on the header X-API-KEY
          type: string
    ApiKeyNotValid:
      properties:
        errorCode:
          description: API_KEY_NOT_VALID
          example: API_KEY_NOT_VALID
          type: string
        message:
          description: API key present, but not valid
          example: API key present, but not valid
          type: string
    Experience:
      properties:
        company_name:
          title: Experience.company_name
          description: The name of the company or organization
          type: string
          example: valantic (vormals mm1)
        company_id:
          title: Experience.company_id
          description: Unique identifier for the company in the system
          nullable: true
          type: string
          example: 6744b47c776432406530a72b
        domain:
          title: Experience.domain
          description: The company's website domain
          nullable: true
          type: string
          example: mm1.com
        linkedin_url:
          title: Experience.linkedin_url
          description: LinkedIn URL for the company
          nullable: true
          type: string
          example: https://www.linkedin.com/company/mm1
        description:
          title: Experience.description
          description: Details about the role, responsibilities, and achievements
          nullable: true
          type: string
          example: >-
            As an Implementation Engineer at valantic, I play a pivotal role in
            the technical execution of Stripe integration projects, ensuring
            precision, efficiency, and robust infrastructure in every
            implementation. Leveraging deep technical expertise and payments
            industry experience, I design and deploy custom payment solutions
            that enhance operational efficiency and customer satisfaction.
        company_size:
          title: Experience.company_size
          description: The size category of the company
          nullable: true
          type: string
          example: 51-200
        industry:
          $ref: '#/components/schemas/Industry'
        tech_verticals:
          $ref: '#/components/schemas/TechVertical'
        title:
          title: Experience.title
          description: Job title or position held
          type: string
          example: Senior Consultant Fintech & Digital Payment
        departments:
          anyOf:
            - items:
                title: Experience.departments.[]
                type: string
                example: Engineering
              title: Experience.departments.[]
              type: array
              example:
                - Senior Leadership
                - Engineering
            - title: Experience.departments
              nullable: true
          title: Experience.departments
          description: Departments or teams the person worked in
          example:
            - Finance
        start_date:
          title: Experience.start_date
          description: Start date of the position
          nullable: true
          type: string
          example: '2025-04-01'
        end_date:
          title: Experience.end_date
          description: End date of the position (null if current)
          nullable: true
          type: string
          example: '2025-03-01'
        location:
          title: Experience.location
          description: Location where the work was performed
          nullable: true
          type: string
          example: Stuttgart, Baden-Wurttemberg, Germany, Europe
        is_current:
          title: Experience.is_current
          description: Whether this is the person's current position
          type: boolean
          example: true
        founded_year:
          title: Experience.founded_year
          description: The year the company was founded
          nullable: true
          type: number
          example: 1997
        job_order:
          title: Experience.job_order
          description: >-
            Sequential order of this job in the person's career (higher numbers
            for more recent positions)
          type: number
          example: 13
      required:
        - company_name
        - linkedin_url
        - title
        - departments
        - start_date
        - is_current
        - job_order
      additionalProperties: false
      title: Experience
      type: object
    Education:
      properties:
        name:
          title: Education.name
          description: The name of the educational institution
          nullable: true
          type: string
          example: Stanford University
        linkedin_url:
          title: Education.linkedin_url
          description: LinkedIn URL for the educational institution
          nullable: true
          type: string
          example: https://www.linkedin.com/school/stanford-university
        field_of_study:
          title: Education.field_of_study
          description: The academic field or major area of study
          nullable: true
          type: string
          example: Computer Science (AI track) and Statistics
        degree_title:
          title: Education.degree_title
          description: The type of degree or qualification obtained
          nullable: true
          type: string
          example: Bachelor of Science - BS
        description:
          title: Education.description
          description: >-
            Additional details about the educational experience, research focus,
            or achievements
          nullable: true
          type: string
          example: |-
            <p class="show-more-less-text__text--less">
                    Krieger School of Arts and Sciences<br>Bloomberg School of Public Health<br>(joint degree program)
            <!---->      </p>
        start_date:
          title: Education.start_date
          description: The start date of the educational program
          nullable: true
          type: string
          example: '2024-01-01'
        end_date:
          title: Education.end_date
          description: The end date or graduation date of the educational program
          nullable: true
          type: string
          example: '2028-01-01'
        location:
          title: Education.location
          description: The location of the educational institution
          nullable: true
          type: string
          example: Stanford, California, United States, North America
      required:
        - name
        - linkedin_url
        - field_of_study
        - degree_title
        - description
        - start_date
        - end_date
        - location
      additionalProperties: false
      title: Education
      type: object
    Language:
      properties:
        name:
          title: Language.name
          description: The name of the language
          nullable: true
          type: string
          example: Romanian
        proficiency_level:
          title: Language.proficiency_level
          description: The level of proficiency in the language
          nullable: true
          type: string
          example: Native Or Bilingual Proficiency
      required:
        - name
        - proficiency_level
      additionalProperties: false
      title: Language
      type: object
    Industry:
      type: array
      items:
        type: string
        example: Financial Services
      example:
        - Financial Services
        - Financial Technology
      description: >
        Classifies companies by their economic activity - the market they serve
        and the products or services they deliver.

        E.g: Construction, Utilities, Wholesale.

        There is one industry per company, with up to three levels.
      nullable: true
    TechVertical:
      type: array
      items:
        type: array
        items:
          type: string
          example: Blockchain, Crypto & Web3
      example:
        - - Blockchain, Crypto & Web3
          - Crypto Exchanges and Trading Infrastructure
      title: Experience.tech_verticals
      description: >
        Classifies companies by the technology domain they operate in - the
        technical capability or space they're building around.

        E.g: AI & Machine Learning, Cybersecurity, FinTech.

        There can be up to 5 tech verticals per company, with 2 levels each.
      nullable: true
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-API-Key

````