> Portal Navigation:
> 
> - Append `.md` to any URL under `https://dev.wix.com/docs/` to get its markdown version.
> - Pages are either content pages (article or reference text) or menu pages (a list of links to child pages).
> - To get a menu page, truncate any URL to a parent path and append `.md` (e.g. `https://dev.wix.com/docs/sdk.md`, `https://dev.wix.com/docs/sdk/core-modules.md`).
> - Top-level index of all portals: https://dev.wix.com/docs/llms.txt
> - Full concatenated docs: https://dev.wix.com/docs/llms-full.txt

# ListRedirects

# Package: redirects

# Namespace: RedirectsService

# Method link: https://dev.wix.com/docs/api-reference/business-management/seo/redirects/redirect-v1/list-redirects.md

## Permission Scopes:
View SEO Settings: SCOPE.PROMOTE.VIEW-SEO

## Introduction

Retrieves every redirect on the site.

The response isn't paged and the method takes no filter or sort, so filter the returned list on
your side. A site with no redirects returns an empty list.

A redirect that Wix created on the site owner's behalf, such as when a page's URL slug is
renamed in the editor, is returned alongside the ones created through this API.

---

## REST API

### Schema

```
 Method: listRedirects
 Description: Retrieves every redirect on the site.  The response isn't paged and the method takes no filter or sort, so filter the returned list on your side. A site with no redirects returns an empty list.  A redirect that Wix created on the site owner's behalf, such as when a page's URL slug is renamed in the editor, is returned alongside the ones created through this API.
 URL: https://www.wixapis.com/seo-redirects-service/v1/redirects
 Method: GET
 Return type: ListRedirectsResponse
  - name: redirects | type: array<Redirect> | description: Retrieved redirects.  Includes redirects that Wix created on the site owner's behalf, such as when a page's URL slug is renamed in the editor. Empty when the site has no redirects.  
     - name: from | type: string | description: Path on the site that the redirect starts from, URL-encoded. For example, `/old-page`.  Can't be the site root. A path that differs from another redirect's `from` path only by a trailing slash counts as the same path.  For a redirect scoped to a `language`, specify the path with or without the language prefix: the prefix is stripped, so a `fr` redirect from `/fr/about` is stored and returned as `/about`.  | validation: maxLength 950
     - name: to | type: string | description: Where the redirect sends the visitor, URL-encoded. Either a path on the site, such as `/new-page`, or a full URL, such as `https://example.com/page`.  | validation: maxLength 4096
     - name: options | type: RedirectOptions | description: How the redirect matches the paths a visitor requests.  
        - name: groupRedirect | type: boolean | description: Whether the redirect matches every path under its `from` path, carrying the rest of the URL over to the target. For example, a group redirect from `/forum/questions/` to `/forum/faqs/` sends `/forum/questions/my-post` to `/forum/faqs/my-post`. When `false`, only the exact `from` path matches.  A group redirect and an exact redirect that share a `from` path are two different redirects.  Default: `false`  
     - name: language | type: string | description: Language version of a multilingual site that the redirect applies to, as a 2-letter language code or a language tag. For example, `fr` or `en-US`.  When omitted, the redirect applies to every language on the site. A redirect scoped to a language conflicts only with redirects in the same language and with redirects that apply to every language.  Deleting a redirect scoped to a language stops it taking effect, but it can still appear in [List Redirects](https://dev.wix.com/docs/api-reference/business-management/seo/redirects/redirect-v1/list-redirects.md).  | validation: minLength 2, maxLength 5
     - name: id | type: string | description: Redirect GUID.  You can specify your own GUID when creating a redirect. When omitted, an GUID is generated.  | validation: format GUID
     - name: createdDate | type: string | description: Date and time the redirect was created.  Not returned by [Create Redirect](https://dev.wix.com/docs/api-reference/business-management/seo/redirects/redirect-v1/create-redirect.md). Call [Get Redirect](https://dev.wix.com/docs/api-reference/business-management/seo/redirects/redirect-v1/get-redirect.md) or [List Redirects](https://dev.wix.com/docs/api-reference/business-management/seo/redirects/redirect-v1/list-redirects.md) to retrieve it.  | read-only: true | validation: format date-time


```

### Examples

### Retrieve every redirect on a site
The response isn't paged and the method takes no filter or sort, so filter the returned list on your side. A site with no redirects returns an empty list.

```curl
curl -X GET \
'https://www.wixapis.com/seo-redirects-service/v1/redirects' \
-H 'Authorization: <AUTH>' \
-H 'Content-Type: application/json'
```

---

## JavaScript SDK

### Schema

```
 Method: wixClientAdmin.seo.redirects.listRedirects()
 Description: Retrieves every redirect on the site.  The response isn't paged and the method takes no filter or sort, so filter the returned list on your side. A site with no redirects returns an empty list.  A redirect that Wix created on the site owner's behalf, such as when a page's URL slug is renamed in the editor, is returned alongside the ones created through this API.
 Return type: PROMISE<ListRedirectsResponse>
  - name: redirects | type: array<Redirect> | description: Retrieved redirects.  Includes redirects that Wix created on the site owner's behalf, such as when a page's URL slug is renamed in the editor. Empty when the site has no redirects.  
     - name: from | type: string | description: Path on the site that the redirect starts from, URL-encoded. For example, `/old-page`.  Can't be the site root. A path that differs from another redirect's `from` path only by a trailing slash counts as the same path.  For a redirect scoped to a `language`, specify the path with or without the language prefix: the prefix is stripped, so a `fr` redirect from `/fr/about` is stored and returned as `/about`.  | validation: maxLength 950
     - name: to | type: string | description: Where the redirect sends the visitor, URL-encoded. Either a path on the site, such as `/new-page`, or a full URL, such as `https://example.com/page`.  | validation: maxLength 4096
     - name: options | type: RedirectOptions | description: How the redirect matches the paths a visitor requests.  
        - name: groupRedirect | type: boolean | description: Whether the redirect matches every path under its `from` path, carrying the rest of the URL over to the target. For example, a group redirect from `/forum/questions/` to `/forum/faqs/` sends `/forum/questions/my-post` to `/forum/faqs/my-post`. When `false`, only the exact `from` path matches.  A group redirect and an exact redirect that share a `from` path are two different redirects.  Default: `false`  
     - name: language | type: string | description: Language version of a multilingual site that the redirect applies to, as a 2-letter language code or a language tag. For example, `fr` or `en-US`.  When omitted, the redirect applies to every language on the site. A redirect scoped to a language conflicts only with redirects in the same language and with redirects that apply to every language.  Deleting a redirect scoped to a language stops it taking effect, but it can still appear in [List Redirects](https://dev.wix.com/docs/api-reference/business-management/seo/redirects/redirect-v1/list-redirects.md).  | validation: minLength 2, maxLength 5
     - name: _id | type: string | description: Redirect GUID.  You can specify your own GUID when creating a redirect. When omitted, an GUID is generated.  | validation: format GUID
     - name: _createdDate | type: Date | description: Date and time the redirect was created.  Not returned by [Create Redirect](https://dev.wix.com/docs/api-reference/business-management/seo/redirects/redirect-v1/create-redirect.md). Call [Get Redirect](https://dev.wix.com/docs/api-reference/business-management/seo/redirects/redirect-v1/get-redirect.md) or [List Redirects](https://dev.wix.com/docs/api-reference/business-management/seo/redirects/redirect-v1/list-redirects.md) to retrieve it.  | read-only: true 


```

### Examples

### Retrieve every redirect on a site
The response isn't paged and the method takes no filter or sort, so filter the returned list on your side.

```javascript
import { redirects } from "@wix/seo";

async function listRedirects() {
  const response = await redirects.listRedirects();
}

/* Promise resolves to:
 * {
 *   "redirects": [
 *     {
 *       "from": "/old-contact",
 *       "to": "/contact",
 *       "options": {
 *         "groupRedirect": false
 *       },
 *       "_id": "ceaef61f-387d-47a4-9256-2b17aa1a7f78",
 *       "_createdDate": "2026-08-20T07:48:39.879Z"
 *     },
 *     {
 *       "from": "/forum/questions",
 *       "to": "/forum/faqs/",
 *       "options": {
 *         "groupRedirect": true
 *       },
 *       "_id": "561c854e-f867-42bc-818b-9c01df964edb",
 *       "_createdDate": "2026-08-20T07:48:38.272Z"
 *     }
 *   ]
 * }
 */

```

### listRedirects (self-hosted)
Self-hosted SDK calls require you to [create a client](https://dev.wix.com/docs/sdk/articles/work-with-the-sdk/about-the-wix-client.md).

```javascript
import { createClient } from '@wix/sdk';
import { redirects } from '@wix/seo';
// Import the auth strategy for the relevant access type
// Import the relevant host module if needed

const myWixClient = createClient ({
  modules: { redirects },
  // Include the auth strategy and host as relevant
});


async function listRedirects() {
  const response = await myWixClient.redirects.listRedirects();
};
```

---