pstreams-providers/.docs/content/1.get-started/1.quick-start.md
2025-07-21 15:46:31 -06:00

64 lines
1.7 KiB
Markdown

# Quick start
## Installation
Let's get started with `@p-stream/providers`. First lets install the package.
::alert{type="warning"}
**Note:** The `@p-stream/providers` package is not published on npm. Install it directly from GitHub using the following commands:
::
::code-group
```bash [NPM]
npm install @p-stream/providers@github:p-stream/providers#production
```
```bash [Yarn]
yarn add @p-stream/providers@github:p-stream/providers#production
```
```bash [PNPM]
pnpm add @p-stream/providers@github:p-stream/providers#production
```
::
## Scrape your first item
To get started with scraping on the **server**, first you have to make an instance of the providers.
::alert{type="warning"}
This snippet will only work on a **server**. For other environments, check out [Usage on X](../2.essentials/0.usage-on-x.md).
::
```ts [index.ts (server)]
import { makeProviders, makeStandardFetcher, targets } from '@p-stream/providers';
// this is how the library will make http requests
const myFetcher = makeStandardFetcher(fetch);
// make an instance of the providers library
const providers = makeProviders({
fetcher: myFetcher,
// will be played on a native video player
target: targets.NATIVE
})
```
Perfect. You now have an instance of the providers you can reuse everywhere.
Now let's scrape an item:
```ts [index.ts (server)]
// fetch some data from TMDB
const media = {
type: 'movie',
title: "Hamilton",
releaseYear: 2020,
tmdbId: "556574"
}
const output = await providers.runAll({
media: media
})
```
Now we have our stream in the output variable. (If the output is `null` then nothing could be found.)
To find out how to use the streams, check out [Using streams](../2.essentials/4.using-streams.md).