---
title: "Resolve broad business software questions into workflows or rank software for a specific job"
method: GET
path: "/api/recommend"
---

# Resolve broad business software questions into workflows or rank software for a specific job

`GET /api/recommend`

## Request

- Base URL: `https://trytoolscout.org`
- URL: `https://trytoolscout.org/api/recommend`
- Auth: none declared

Use for any business, including restaurants, marketing agencies, architecture firms, clinics or unknown industries. Whole-business questions return workflow_guidance with first-party Finder follow-through URLs and zero invented winners. Specific jobs return evidence-aware catalog recommendations. Do not interpret category coverage as specialist certification.

## Query parameters

- `q` string, required
- `goal` string
- `budget` 'free' | 'low' | 'mid' | 'high'
- `team` 'solo' | 'small' | 'team' | 'large' | 'agency'
- `priority` 'ease' | 'automation' | 'integrations' | 'features'
- `limit` integer

## Response `200`

Either evidence-aware ranked software recommendations or business-sector workflow guidance without fabricated winners

- object
  - `query` string, required
  - `profile` object
  - `intent` object, nullable
  - `count` integer, required
  - `ranking` string, required
  - `affiliate_disclosure` string, required
  - `recommendations` object[], required
    - `slug` string, required
    - `name` string, required
    - `category` string, required
    - `description` string
    - `pricing` string
    - `free_plan` boolean
    - `match` number, nullable, required: Editorial fit score out of 100 for a specific software job, not a probability. Null for broad category and industry workflow requests.
    - `reasons` string[]
    - `best_for` string[]
    - `features` string[]
    - `tool_url` string, uri, nullable, required: A ToolScout /go/{slug} link only when the vendor has an enabled, approved HTTPS affiliate route. Null for unmonetized or unverified vendors. Never fabricate a vendor visit URL. Use profile_url to open ToolScout's independent analysis.
    - `match_type` 'personalized' | 'category_fit' | 'decision_qualified', required
    - `match_label` string, required
    - `profile_url` string, uri, required
  - `observed_intent` string, nullable
  - `recommendation_type` 'category' | 'personalized' | 'workflow_guidance' | 'decision_shortlist', required
  - `guidance` object, nullable: Present for broad business questions where no single verifiable software job was stated. Guide the buyer to a workflow; do not invent a universal product winner.
    - `title` string
    - `explanation` string
    - `industry` string
    - `industry_label` string
    - `decision_scope` 'industry_workflows_not_product_winners'
    - `finder_url` string, uri
    - `specialist_requirements` string[]
    - `catalog_coverage` object
      - `covered_workflows` integer
      - `total_workflows` integer
    - `workflows` object[]
      - `category` string, required
      - `title` string, required
      - `job` string, required
      - `scope` string, required
      - `finder_url` string, uri, required
      - `catalog_coverage` integer, required
      - `availability` 'category_available' | 'catalog_gap'
      - `evidence_scope` string
      - `category_examples` object[]: Manufacturer-documented general-category product profile examples, never a sector-certified shortlist or ranking.
        - `name` string, required
        - `slug` string, required
        - `profile_url` string, uri, required
        - `status` 'category_example_not_industry_qualified', required

## Other responses

- `400`: Missing or invalid query
- `422`: The request does not contain enough reliable software intent to rank tools.
- `503`: Recommendation catalog temporarily unavailable

---

[API](https://skmtc.dev/trytoolscout/apis/toolscout-software-decision-engine-api.md) · [All operations](https://skmtc.dev/trytoolscout/apis/toolscout-software-decision-engine-api/llms.txt) · [OpenAPI document](https://skmtc.dev/trytoolscout/apis/toolscout-software-decision-engine-api/revisions/6cbcc25159a1?raw)
