Observed since 21 Oct, 10:43 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
Open-source website and marketing intelligence toolkit. Scan any URL to get a structured, evidence-linked snapshot of technology, SEO, content, and competitor signals.
Open-source website and marketing intelligence toolkit
Point it at a URL; get a structured, evidence-linked snapshot of what a business is, how its site is built, and how it compares to named competitors.
AIFME Scout OSS is a free, open-source, self-hosted toolkit that scans a URL and produces a deterministic, evidence-linked snapshot of a website's public-facing identity — its technology stack, SEO signals, structured content, metadata, social profiles, and competitor references. It exposes both a command-line interface and a REST API, and outputs a versioned JSON schema alongside a Markdown report.
It performs the Understand step of the AIFME model and nothing past it: no persistent memory, no reasoning logic, no action on a target's behalf. The commercial AIFME Platform adds Remember, Reason, Decide, Execute, and Measure. Scout OSS is the open-source foundation.
pip install aifme-scout
pip install --upgrade aifme-scout
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install aifme-scout
git clone https://github.com/SureshBabuoo7/aifme-scout.git
cd aifme-scout
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install -e ".[dev]"
pre-commit install
# Basic scan — outputs JSON and Markdown to current directory
aifme-scout scan https://www.python.org
# Scan with custom timeout
aifme-scout scan https://www.python.org --timeout 30
# JSON output only
aifme-scout scan https://www.python.org --output json --out ./reports
# Markdown report only
aifme-scout scan https://www.python.org --output markdown --out ./reports
# Quiet mode (errors only)
aifme-scout scan https://www.python.org --quiet
Output files are written to the output directory:
scan-result.json — Schema-validated JSON reportreport.md — Markdown executive reportuvicorn aifme_scout.api.app:app --host 0.0.0.0 --port 8000
Interactive documentation:
from aifme_scout.engine.request_handler import handle
from aifme_scout.utils.models import ScanRequest
request = ScanRequest(target_url="https://www.python.org")
result = handle(request)
print(result.summary.text)
$ aifme-scout scan https://www.python.org
[INFO] Scanning https://www.python.org
[INFO] Fetched 1 page(s) in 2.5s
[INFO] Collected 347 evidence items
[INFO] Classification: Programming Language Documentation Portal (confidence: high)
[INFO] Health Score: 85/100
[INFO] Report written to report.md
[INFO] JSON written to scan-result.json
The Markdown report (report.md) contains the following sections:
The JSON output (scan-result.json) is a versioned, schema-validated document:
{
"meta": {
"schema_version": "1.0.0",
"engine_version": "1.0.0",
"timestamp": "2026-08-05T07:14:26+00:00"
},
"site": {
"url": "https://www.python.org",
"target_url": "https://www.python.org"
},
"seo": [...],
"metadata": [...],
"technology": [...],
"content": [...],
"social": [...],
"competitors": [...],
"evidence": [...],
"diagnostics": {
"total_evidence_items": 347,
"seo_items": 13,
"technology_items": 7,
"content_items": 300,
"metadata_items": 23,
"social_items": 4,
"competitor_items": 0
}
}
Every evidence item includes a deterministic ID, provenance (DOM path, tag, original text), confidence level, and traceable source URL.
Scout OSS follows a deterministic, stateless pipeline. The same orchestration logic is shared by the CLI and REST API through a single Request Handler.
graph LR
A[Website Scanner] --> B[HTML Parser]
B --> C[SEO Extractor]
B --> D[Metadata Extractor]
B --> E[Technology Detector]
B --> F[Content Extractor]
B --> G[Social Discovery]
B --> H[Competitor Discovery]
C --> I[Evidence Collector]
D --> I
E --> I
F --> I
G --> I
H --> I
I --> J[Schema Builder]
J --> K[Summary Builder]
K --> L[JSON Exporter]
K --> M[Markdown Exporter]
Request Handler orchestrates the pipeline. No logic is duplicated across interfaces.
All modules are frozen, immutable, and thread-safe. The JSON Schema is versioned independently from the engine version.
Scout OSS v1.0.0 passed comprehensive release validation across 10 real-world websites:
| Metric | Value |
|---|---|
| Total sites | 10 |
| PASS | 9 |
| LIMITED | 1 (reddit.com — robots.txt disallows crawl) |
| FAIL | 0 |
| No crashes | Yes |
| JSON output verified | 9 / 10 |
| Markdown output verified | 9 / 10 |
| Deterministic output | Yes |
Full validation report: EXEC-39-RELEASE-VALIDATION-REPORT.md
AIFME Scout OSS is intentionally scoped. These are honest limitations, not bugs:
LIMITED status. This is expected behavior, not a failure.target_classification for best results.See docs/LIMITATIONS.md for the complete limitations reference.
| Milestone | Focus | Status |
|---|---|---|
| v1.1.x | Bug fixes, security patches, minor improvements | Planned |
| v2.0.0 | Plugin system, extended schema, enhanced classification | Planned |
| AIFME Platform | Remember, Reason, Decide, Execute, Measure | Commercial |
Scout OSS is in maintenance mode as of v1.0.0. Only P0/P1 bug fixes and security updates are accepted. Engineering focus has shifted to the AIFME Platform. See MAINTENANCE.md for details.
Community contributions are still welcome and will be reviewed against the maintenance criteria.
We welcome contributions. Please see CONTRIBUTING.md for development setup, testing, and pull request guidelines.
# Clone and setup
git clone https://github.com/SureshBabuoo7/aifme-scout.git
cd aifme-scout
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install -e ".[dev]"
pre-commit install
# Run tests
pytest
# Lint
ruff check src/ tests/
# Type check
mypy src/
# Format
black src/ tests/
This project adheres to the Contributor Covenant Code of Conduct. By participating, you are expected to uphold this code.
bug labelenhancement label (note: feature requests are not prioritized during maintenance mode unless required by AIFME)
Built with ❤️ by AIFME
GitHub ·
PyPI ·
Apache 2.0
Download counts and popularity will appear here as the collector receives them.
| Version | Published | Direct dependencies | Open version |
|---|---|---|---|
| 1.0.0 | 5 Aug 2026 | 15 |
This describes our collected data; it is not a security assessment.
Observed since 21 Oct, 10:43 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package:22031623cda3f186ca95176b33f9dd70f483060c9322548cfc199633309cba39