Scrape social media from the command line.
The Bridgly CLI turns every API endpoint into a terminal command. bridgly reddit list-user-posts --username spez --output posts.csv and you have a spreadsheet. No code, no scripts to maintain: pipe JSON into jq, export CSV for Excel or Google Sheets, or drop a command into a cron job or CI step.
$ npm install -g @bridgly/cli$ bridgly auth login$ bridgly list jobs --platform linkedin$ bridgly help reddit get-user$ bridgly reddit get-user --username spez$ bridgly linkedin search-jobs --keyword "software engineer"$ bridgly github search-repositories --language TypeScript --stars.gte 100$ bridgly balance --format table$ bridgly reddit list-user-posts --username spez --output ./data.csvGet started with the CLI in 3 steps
- 1
Install the CLI
Install it globally from npm, or run any command once with
npx @bridgly/cliwithout installing.terminalnpm install -g @bridgly/cli - 2
Log in with your API key
Paste your key into the hidden prompt. The CLI checks it, then saves it in your user config directory so every new terminal is already logged in.
terminalbridgly auth login - 3
Run a command
Commands follow
bridgly <platform> <action> --field value. Every field of the endpoint is a flag.terminalbridgly linkedin search-jobs --keyword "data engineer" --location Remote
What you get with the Bridgly CLI
Every endpoint is a command
LinkedIn, X, Reddit, GitHub, Instagram, TikTok and YouTube, with the same inputs, defaults and validation as the API.
Export to CSV
--format csv turns a list of posts, followers or jobs into rows. Nested fields are flattened into dotted column names.
Write straight to a file
--output ./data.csv saves the result, creates missing folders, and picks the format from the .json or .csv extension.
Find endpoints offline
bridgly list jobs searches every endpoint by keyword without logging in or spending credits.
Help for every flag
bridgly help reddit get-user prints each field with its description and default.
Script friendly
Results go to stdout and messages to stderr. Exit codes separate API errors (1) from invalid input (2).
Command reference
| Command | What it does |
|---|---|
bridgly auth login | Prompt for an API key, check it and save it. |
bridgly auth logout | Remove the saved key from this machine. |
bridgly list [search] | List or search endpoints. Works without a key. |
bridgly help <platform> <action> | Show every flag for one endpoint. |
bridgly <platform> <action> --flags | Call an endpoint. |
bridgly balance | Show your credit balance. Free. |
Export social media data to CSV
CSV and table output render the data of the response. A list becomes one row per item. If the result holds exactly one list, such as posts or users, that list becomes the rows. Nested objects become dotted columns like author.username, so the file opens cleanly in Excel, Numbers or Google Sheets.
# Latest posts of a subreddit, as a spreadsheetbridgly reddit list-subreddit-posts --subreddit startups --sort top --output startups.csv# A LinkedIn company page, as a readable tablebridgly linkedin get-company-from-url --universal-name microsoft --format table# An X profile, as JSON on diskbridgly x get-user --handle nasa --output nasa.jsonPass arrays, objects and booleans
Flags use kebab-case, and the original camelCase field names work too. Arrays take several values or a JSON array, nested objects take JSON or dotted flags, and a bare boolean flag means true.
bridgly github search-repositories --owners openai microsoft --topics aibridgly github search-repositories --stars.gte 100 --stars.lte 1000bridgly github search-repositories --language TypeScript --archived falsePipe JSON into jq
JSON is the default output and keeps the full envelope, including creditsCost and timeMs. Because only results go to stdout, piping works without extra flags.
bridgly reddit get-user --username spez | jq '.data.linkKarma'bridgly x get-user --handle nasa | jq -r '.data.followerCount'Use it in scripts, cron and CI
On servers and in CI, set BRIDGLY_API_KEY from your secret manager instead of logging in. The key is picked in this order: --api-key, then BRIDGLY_API_KEY, then the saved login. Each command makes exactly one request, with no hidden retries or pagination, so a scheduled job never spends more than you expect.
#!/usr/bin/env bashset -euo pipefailexport BRIDGLY_API_KEY="$BRIDGLY_API_KEY"date=$(date +%F)bridgly reddit search-posts --query "your brand" --output "mentions/$date.csv"| Exit code | Meaning |
|---|---|
0 | Success |
1 | API, network or output error |
2 | The input failed validation, no request sent |
130 | Login was cancelled |
CLI questions
Can I scrape LinkedIn or Reddit to CSV without writing code?
Yes. Install the CLI, log in once, and add --output file.csv to any command. The CLI flattens nested fields into columns that open directly in Excel or Google Sheets.
Where is my API key stored?
In your operating system’s user config directory, readable only by your user where the system supports it. bridgly auth logout removes it. The key is never printed.
Does the CLI paginate automatically?
No. Each command makes one request, so credit use is predictable. Pass the nextCursor from a result back with --cursor to fetch the next page.
Does listing endpoints or checking my balance cost credits?
No. bridgly list runs offline and bridgly balance is free. Only data commands use credits, in general one per call.
Which operating systems are supported?
macOS, Linux and Windows, anywhere Node.js 22.13 or newer runs.
Further reading
Pull your first profile in minutes.
Start with 100 free credits on a business email. The same data flows through the API, MCP, SDK and CLI.