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.

terminal
$ 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.csv
[ QUICK START ]

Get started with the CLI in 3 steps

  1. 1

    Install the CLI

    Install it globally from npm, or run any command once with npx @bridgly/cli without installing.

    terminal
    npm install -g @bridgly/cli
  2. 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.

    terminal
    bridgly auth login
  3. 3

    Run a command

    Commands follow bridgly <platform> <action> --field value. Every field of the endpoint is a flag.

    terminal
    bridgly linkedin search-jobs --keyword "data engineer" --location Remote
[ FEATURES ]

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

CommandWhat it does
bridgly auth loginPrompt for an API key, check it and save it.
bridgly auth logoutRemove 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> --flagsCall an endpoint.
bridgly balanceShow 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.

terminal
# Latest posts of a subreddit, as a spreadsheet
bridgly reddit list-subreddit-posts --subreddit startups --sort top --output startups.csv
# A LinkedIn company page, as a readable table
bridgly linkedin get-company-from-url --universal-name microsoft --format table
# An X profile, as JSON on disk
bridgly x get-user --handle nasa --output nasa.json

Pass 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.

terminal
bridgly github search-repositories --owners openai microsoft --topics ai
bridgly github search-repositories --stars.gte 100 --stars.lte 1000
bridgly github search-repositories --language TypeScript --archived false

Pipe 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.

terminal
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.

daily-mentions.sh
#!/usr/bin/env bash
set -euo pipefail
export BRIDGLY_API_KEY="$BRIDGLY_API_KEY"
date=$(date +%F)
bridgly reddit search-posts --query "your brand" --output "mentions/$date.csv"
Exit codeMeaning
0Success
1API, network or output error
2The input failed validation, no request sent
130Login was cancelled
[ FAQ ]

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.

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.

APIMCPSDKCLI
free credits

On business email signup. No credit card required.

Start with 100 credits