> ## Documentation Index
> Fetch the complete documentation index at: https://docs.iqrush.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Read technical recommendations — HTTP

> Read existing technical recommendations for a run, with optional URL, impact, and effort filters.

Read existing technical recommendations for a run, with optional URL, impact, and effort filters.

**Method:** `GET`

**Path:** `/projects/{project_id}/runs/{run_id}/technical-recommendations`

Use the HTTP base for your authorized environment and an `Authorization: Bearer` header. See [authentication](/developers/guides/04-authentication) and [HTTP setup](/developers/guides/06-http-quickstart).

## Parameters

This table covers the standard read profile. It excludes internal application routes and advanced analysis controls.

| Name | Location | Type | Required | Default | Meaning |
| - | - | - | - | - | - |
| `project_id` | path | string | Yes | — | Project ID from list\_projects. Select the project in the intended workspace and environment. |
| `run_id` | path | string | Yes | — | Run ID from list\_runs for this project. Use the exact returned value and check readiness before reading measurements. |
| `url` | query | string | No | `null` | Optional page URL or domain filter on recommendation targets. Omit to read recommendations across the run. |
| `impact` | query | string | No | `null` | Filter by an impact label returned in the recommendations. Matching is case-insensitive; no label set is assumed here. |
| `effort` | query | string | No | `null` | Filter by an effort label returned in the recommendations. Matching is case-insensitive; no label set is assumed here. |

## Request example

Set `IQRUSH_API_BASE` and `IQRUSH_ACCESS_TOKEN` through secure configuration. Replace project/run IDs and sample selections with values returned by your account. JSON objects and arrays are encoded as query strings.

```bash theme={null}
curl --fail-with-body --silent --show-error --get \
  --header "Authorization: Bearer ${IQRUSH_ACCESS_TOKEN}" \
  --header "Accept: application/json" \
  "${IQRUSH_API_BASE%/}/projects/${IQRUSH_PROJECT_ID}/runs/${IQRUSH_RUN_ID}/technical-recommendations"
```

## Read the response

| Field | Meaning |
| - | - |
| `data.url_queried` | Requested URL, or null when omitted. |
| `data.n_recommendations` | Number of recommendation rows returned. |
| `data.recommendations` | Recommendation rows for the selected run and optional filters. |
| `data.not_available` | When true, the run does not contain this result. |
| `data.not_available_reason` | Reason given for unavailable results, when returned. |

A populated response example has not been captured for this route. The field descriptions are based on the Dev handler. `n_urls`, when returned, counts distinct domains in this implementation; do not label it as the number of pages. There is no equivalent named MCP tool in this edition.

### Recommendation fields

These field definitions come from the Dev handler. No populated example is claimed for this route.

| Field | Meaning and use |
| - | - |
| `data.recommendations[].url` | Page targeted by the recommendation. |
| `data.recommendations[].domain` | Domain associated with that target. |
| `data.recommendations[].title` | Recommendation title. |
| `data.recommendations[].description` | Recommendation text returned by the service. |
| `data.recommendations[].impact` | Returned impact label, or null when absent. |
| `data.recommendations[].effort` | Returned effort label, or null when absent. |
| `data.recommendations[].implementation_steps` | List of steps supplied with the recommendation; it can be empty. |
| `data.recommendations[].current_score` | Unpopulated in this edition; do not substitute zero. |
| `data.recommendations[].feature` | Unpopulated in this edition; do not infer a feature mapping. |

## If the result is unavailable

Check HTTP status and the response’s `error` field before using data. A successful empty response does not establish a zero value. Preserve `not_available`, `not_available_reason`, `unavailable_reason`, and `linked` where returned. [Errors and recovery](/developers/guides/13-errors) shows observed examples.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.