Skip to main content
This guide builds on the Ruby SDK setup, which covers install and authentication.

Follower export workflow to CSV, JSON, or XLSX

Use this workflow when Ruby code needs an owned follower list. That code can be a Ruby app, Rails job, Sidekiq worker, or agent tool. The list can feed a CRM import, warehouse load, or analyst CSV file. It can also feed an XLSX workbook or resumable JSON handoff. The workflow calls POST /extractions/estimate through client.extractions.estimate_cost. It creates the job with client.extractions.run. It reads saved rows with client.extractions.retrieve. It downloads files with client.extractions.export_results.
client.extractions.run returns the queued 202 Accepted receipt from POST /extractions. Ruby exposes REST id, toolType, and status: "running" as job.id, job.tool_type, and job.status. Store job.id immediately, then poll client.extractions.retrieve before reading pages or calling client.extractions.export_results. Credit reservation happens after the job starts. Available credits may have changed since estimate_cost. If so, the run can fetch only the affordable count before export. Or it can mark the job failed with insufficient_credits.
follower_explorer requires target_username. Store job.id, target_username, estimate.estimated_results, and estimate.source before polling. That lets a Sidekiq retry, Rails job retry, or worker restart resume that job. client.extractions.retrieve returns results, has_more, and next_cursor. Pass next_cursor back as cursor when you need stored JSON pages before exporting files. Map exported User ID or row xUserId as the CRM unique key. Use xquik-followers.jsonl for queue replay or warehouse loads, and xquik-followers.json for app ingestion. Use xquik-followers.csv for CRM import and xquik-followers.xlsx for analyst handoff. The cost is 1 credit per follower extracted or returned. Exports cost no credits after the extraction job exists.

Next steps