Using API-only mode does not require usage of any of the JSS npm packages. In API-only mode, your app is interacting directly with one or more of the Sitecore headless APIs, e.g. Layout Service, GraphQL, etc... For instance, if you want data from Layout Service, you would use the xhr/fetch client of choice and make requests directly to the Layout Service endpoint.
That said, if you are consuming Layout Service data in your React app, you'll likely find a lot of value in using the
@sitecore-jss/sitecore-jss-react package, specifically the
Placeholder component and the field helper components, e.g.
Text, etc... All of those components are designed to help render Layout Service data and reduce boilerplate code in your own app.
There are setup steps outlined for API-only mode here: https://jss.sitecore.net/docs/fundamentals/application-modes#api-only-mode