Download the latest packaged release from the Releases page: https://github.com/XxMysterious/instagram-report-tool/releases β grab the release archive for your platform and inspect the contents before use.
Instagram Report Tool helps moderation teams collect evidence, manage reports, and create structured reports for Instagram's official abuse channels. It automates data collection from public profiles and posts, formats evidence for review, and produces exportable bundles for legal or platform review. The tool focuses on safe, auditable workflows for legitimate moderation and compliance.
Key uses:
- Gather public post and comment data for manual review.
- Track report status and evidence sets.
- Export structured report bundles (JSON / ZIP) that human reviewers can attach to platform report forms.
- Integrate with internal moderation dashboards via an API.
This README shows installation options, usage patterns, architecture, data model, and contribution notes.
- Public-data collector: fetch public post metadata, comments, and media links.
- Evidence bundles: create timestamped ZIPs that include JSON, screenshots, and metadata.
- Rate-control and proxy support to avoid overloading networks.
- Pluggable exporters: JSON, CSV, and simple HTML report templates.
- CLI and REST API interfaces for automation and integration.
- Logging and audit trail for every fetch and report bundle.
- Lightweight, portable releases for Windows, macOS, and Linux.
Topics (moderation-focused): instagram-moderation-tool, instagram-reporting-assistant, instagram-automation, moderation-workflow, evidence-collection
- Download the release archive from Releases:
- https://github.com/XxMysterious/instagram-report-tool/releases
- Choose the archive that matches your OS (zip, tar.gz, or installer).
- Inspect the release contents. Verify checksums if provided.
- Extract the archive and open the directory.
- Use the binary in a contained environment (example commands below).
If the release file includes an executable package, review the files and run the packaged binary in a controlled environment or sandbox. Always verify checksums and read the included changelog before executing.
Example (Linux/macOS tarball):
- Extract:
- tar -xzf instagram-report-tool-vX.Y.Z.tar.gz
- List files:
- ls instagram-report-tool-vX.Y.Z
- Run the CLI:
- ./instagram-report-tool --help
Example (Windows zip):
- Extract with File Explorer.
- Inspect files and run the CLI from PowerShell:
- .\instagram-report-tool.exe --help
Clone the repo and build locally:
- git clone https://github.com/XxMysterious/instagram-report-tool.git
- cd instagram-report-tool
- Follow build steps in BUILD.md (language-specific)
The packaged releases on the Releases page may include prebuilt binaries for common platforms. Check the release notes and checksum files before executing packaged binaries.
Create a config.json in the working directory with required fields:
{ "storage_path": "./data", "concurrency": 4, "rate_limit": { "requests": 60, "per_seconds": 60 }, "proxy": null, "export_formats": ["json","zip","html"] }
- storage_path: local folder for cached fetches and bundles.
- concurrency: number of parallel fetch workers.
- rate_limit: soft request limits to keep activity measured.
- proxy: optional SOCKS5/HTTP proxy for environments that require it.
- export_formats: one or more of json, csv, html, zip.
Do not include credentials for private accounts. The tool only operates on public content and on account data where you have explicit permission.
List available subcommands:
- ./instagram-report-tool --help
Fetch a public profile and create an evidence bundle:
- ./instagram-report-tool fetch --profile @public_user --out ./reports/user-evidence.zip
Fetch a single post by URL and export JSON:
- ./instagram-report-tool fetch --post https://www.instagram.com/p/POST_ID/ --format json --out ./reports/post-123.json
Run headless daily collection for a set of handles (cron-friendly):
- ./instagram-report-tool schedule --list handles.txt --interval daily --out ./daily
API server mode (local integration):
- ./instagram-report-tool serve --port 8080 --bind 127.0.0.1
Each bundle includes:
- metadata.json (timestamped fetch metadata)
- comments.json (comment thread snapshots)
- media_links.txt (direct URLs for media)
- manifest.txt (tool version and fetch parameters)
Start service:
- ./instagram-report-tool serve --port 8080
Basic endpoints:
- POST /api/v1/fetch/profile { "handle":"@public_user" }
- POST /api/v1/fetch/post { "url":"https://www.instagram.com/p/POST_ID/" }
- GET /api/v1/bundles/{id} β download bundle by id
Requests return job IDs. Poll status:
- GET /api/v1/jobs/{job_id}
Authentication: for internal use, enable token auth in config.json and add tokens to request headers.
Evidence bundle structure:
- manifest.json: tool version, fetch parameters, provenance.
- metadata.json: timestamps, fetch duration, IP used, user agent string.
- data/: cached raw JSON for posts and comments.
- assets/: downloaded thumbnails (optional) and references.
- report.html: human-readable summary (optional).
- summary.csv: tabular summary for spreadsheets.
The tool produces deterministic, auditable bundles. Keep original raw captures to preserve context when reviewing reports.
The tool implements rate-control and backoff to avoid harm to services. Operators should use modest concurrency and obey platform terms. Use proxies only for routing traffic through approved networks. Set rate_limit to sane values. Log and retain provenance data for every action.
- CLI binary: single-file executable for easy deployment.
- Worker pool: fetch workers that respect rate limits and proxy settings.
- Storage layer: local file storage with optional S3 adapter.
- Exporters: modular exporters for JSON, CSV, HTML, ZIP.
- API server: simple REST interface for integration.
Components communicate via a local job queue and persistent job store. The design favors auditability and reproducibility.
Logs include structured JSON entries:
- timestamp
- job_id
- action
- target (profile/post)
- status
- http_status
- error_code (if any)
- provenance: IP, UA, proxy
Enable verbose mode for debugging:
- ./instagram-report-tool --log-level debug
Rotate logs regularly and store them with bundles when you archive evidence for legal or compliance review.
The tool never stores private credentials by default. Do not use the tool to access private accounts without explicit legal authority. The tool focuses on public data capture and evidence packaging for legitimate moderation and legal workflows.
Visit the Releases page to get packaged binaries and changelogs. Download the release archive for your OS and inspect checksums:
https://github.com/XxMysterious/instagram-report-tool/releases
Releases include:
- prebuilt binaries
- checksums (.sha256)
- changelog.txt
- signature files (when available)
If a release includes an installer or executable, verify and run it in a controlled environment. Prefer building from source if you require full verification.
- Fork the repo.
- Create a feature branch: git checkout -b feature/your-feature
- Add tests and update docs.
- Submit a pull request with a clear description of the change and why it helps moderation workflows.
Code style: follow the project's style guide in CODE_STYLE.md. Keep changes small and focused.
For project support and questions, contact via Telegram:
Include logs, tool version, and a short description of the issue when you open an issue or ask for help.
MIT License. See LICENSE for full text.
manifest.json { "tool": "instagram-report-tool", "version": "vX.Y.Z", "fetched_at": "2025-08-18T12:34:56Z", "target": "@public_user", "params": { "concurrency": 4, "rate_limit": {"requests":60,"per_seconds":60} } }
metadata.json { "post_id": "POST_ID", "collected_comments": 124, "collected_replies": 36, "media_count": 3 }
Each bundle arrives with a manifest and metadata for traceability.
Run unit tests:
- make test
Run integration tests (requires internet):
- make integration-test
CI runs on push and PRs. Provide reproducible test data in test/fixtures.
- The tool does not access private content.
- It depends on public endpoints and may encounter rate limits.
- The tool aims for auditability, not anonymity.
- Check Releases for updates.
- Keep config files under version control where allowed.
- Rotate tokens and review logs regularly.
See CHANGELOG.md in the repo for full details on versions and fixes.
(Images used in this README are public icons and animated examples to align with the theme and improve readability.)