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 callsPOST /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.