Nanometer Process Machine

    psn-api
    TypeScript icon, indicating that this package has built-in type declarations

    2.8.1 • Public • Published

    psn-api



    A JavaScript library that lets you get trophy, user, and game data from the PlayStation Network.

    Documentation: Get Started

    Styled with Prettier Semantic Release


    Features

     Modular by design, and supports tree-shaking.
     Aligns with the community API documentation.
     Supports Node environments (14 and above).
     Supports browsers.
     Ships with TypeScript support and types.
     Tiny, <3Kb.


    Documentation

    Learn how to authenticate and start pulling data from the PlayStation Network on our documentation website.

    Installation

    Run the following command:

    npm install psn-api

    How to obtain an authentication token

    To use any endpoint function in the API, you must first be authorized by PSN. Fortunately, this is a fairly straightforward process.

    1. In your web browser, visit https://www.playstation.com/, click the "Sign In" button, and log in with a PSN account.

    2. In the same browser (due to a persisted cookie), visit https://ca.account.sony.com/api/v1/ssocookie. You will see a JSON response that looks something like:

    { "npsso": "<64 character token>" }

    Copy your NPSSO. Do not expose it anywhere publicly, it is equivalent to your password.

    If you see an error response, try using different browser.

    1. You can now obtain an authentication token using your NPSSO with the following function calls from this package.
    // This is the value you copied from the previous step.
    const myNpsso = "<64 character token>";
    
    // We'll exchange your NPSSO for a special access code.
    const accessCode = await exchangeNpssoForCode(npsso);
    
    // We can use the access code to get your access token and refresh token.
    const authorization = await exchangeCodeForAccessToken(accessCode);
    1. You should now be all set to use any endpoint provided by this package. Each function requires as its first argument an object containing your access token. ex:
    const authorization = await exchangeCodeForAccessToken(accessCode);
    
    // This returns a list of all the games you've earned trophies for.
    const trophyTitlesResponse = await getUserTitles(
      { accessToken: authorization.accessToken },
      "me"
    );

    API

    Click the function names to open their complete docs on the docs site.

    Authentication

    Search

    • makeUniversalSearch() - Search the PSN API. This is a good way to find a user's accountId from their username.

    Users

    Trophies

    Examples

    Projects Using psn-api

    • PS5 MQTT - Integrate your PlayStation 5 with Home Assistant.

    Prior Art

    Disclaimer

    This project is not intended to be used for spam or abuse. Please use this project to elevate the PlayStation Network experience, not damage it.

    Contributors


    Wes Copeland

    💻 💡 📖

    xelnia

    🤔 📓

    andshrew

    📖

    Susan Ma

    📖

    Travis Roy

    💻 💡 📖

    Yetu

    💻

    Yoshikage Kira

    📖

    Install

    npm i psn-api

    DownloadsWeekly Downloads

    389

    Version

    2.8.1

    License

    MIT

    Unpacked Size

    508 kB

    Total Files

    144

    Last publish

    Collaborators

    • wescopeland