> This page is for APIs, version Calculations.
> For other versions, use one of these documentation indexes:
> - Overview (default): https://avalara.ferndocs.com/api-reference/overview/llms.txt
> - Calculations: https://avalara.ferndocs.com/api-reference/calculations/llms.txt
> - E-invoicing: https://avalara.ferndocs.com/api-reference/e-invoicing/llms.txt
> - Brazil: https://avalara.ferndocs.com/api-reference/brazil/llms.txt
> - Returns: https://avalara.ferndocs.com/api-reference/returns/llms.txt
> - Shared service: https://avalara.ferndocs.com/api-reference/shared-service/llms.txt
> - 1099 & W-9: https://avalara.ferndocs.com/api-reference/1099-w9/llms.txt
> - Tax registrations & business licenses: https://avalara.ferndocs.com/api-reference/tax-registrations/llms.txt
> - ECM: https://avalara.ferndocs.com/api-reference/ecm/llms.txt
> - Cross-Border: https://avalara.ferndocs.com/api-reference/cross-border/llms.txt

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://avalara.ferndocs.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://avalara.ferndocs.com/_mcp/server.

# List Nexus By Address

GET https://rest.avatax.com/api/v2/definitions/nexus/byaddress

> **Access control:** this endpoint is available to users with the `everyone` role.

Returns a list of all Avalara-supported taxing jurisdictions that apply to this address.
This API allows you to identify which tax authorities apply to a physical location, salesperson address, or point of sale.
In general, it is usually expected that a company will declare nexus in all the jurisdictions that apply to each physical address
where the company does business.
The results of this API call can be passed to the 'Create Nexus' API call to declare nexus for this address.

Reference: https://avalara.ferndocs.com/api-reference/calculations/ava-tax/public-reference/list-nexus-by-address

## Authentication

- `Authorization` header (required) — API Key authentication via header

## Request

### Query parameters

- `line1` (string, optional) — The first address line portion of this address.
- `line2` (string, optional) — The first address line portion of this address.
- `line3` (string, optional) — The first address line portion of this address.
- `city` (string, optional) — The city portion of this address.
- `region` (string, required) — Name or ISO 3166 code identifying the region portion of the address. This field supports many different region identifiers: * Two and three character ISO 3166 region codes * Fully spelled out names of the region in ISO supported languages * Common alternative spellings for many regions For a full list of all supported codes and names, please see the Definitions API `ListRegions`.
- `postalCode` (string, optional) — The postal code or zip code portion of this address.
- `country` (string, required) — Name or ISO 3166 code identifying the country portion of this address. This field supports many different country identifiers: * Two character ISO 3166 codes * Three character ISO 3166 codes * Fully spelled out names of the country in ISO supported languages * Common alternative spellings for many countries For a full list of all supported codes and names, please see the Definitions API `ListCountries`.
- `$filter` (string, optional) — A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).*Not filterable:* streamlinedSalesTax, isSSTActive, taxTypeGroup, taxAuthorityId, taxName, parameters
- `$top` (integer, optional) — If nonzero, return no more than this number of results. Used with `$skip` to provide pagination for large datasets. Unless otherwise specified, the maximum number of records that can be returned from an API call is 1,000 records.
- `$skip` (integer, optional) — If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
- `$orderBy` (string, optional) — A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.

### Headers

- `X-Avalara-Client` (string, optional, default: Swagger UI; 26.7.0; Custom; 1.0) — Identifies the software you are using to call this API. For more information on the client header, see [Client Headers](https://developer.avalara.com/avatax/client-headers/) .

## Response

### 200

Success

- `@recordsetCount` (integer, optional)
- `value` (list of NexusModel, optional)
- `@nextLink` (string, optional)
- `pageKey` (string, optional)

## Types

### NexusModel

Represents a declaration of nexus within a particular taxing jurisdiction. To create a nexus declaration for your company, you must first call the Definitions API `ListNexus` to obtain a list of Avalara-defined nexus. Once you have determined which nexus you wish to declare, you should customize only the user-selectable fields in this object. The user selectable fields for the nexus object are `companyId`, `effectiveDate`, `endDate`, `localNexusTypeId`, `taxId`, `nexusTypeId`, `hasPermanentEstablishment`, and `isSellerImporterOfRecord`. When calling `CreateNexus` or `UpdateNexus`, all values in your nexus object except for the user-selectable fields must match an Avalara-defined system nexus object. You can retrieve a list of Avalara-defined system nexus objects by calling `ListNexus`. If any data does not match, AvaTax may not recognize your nexus declaration.

- `country` (string, required) — Name or ISO 3166 code identifying the country in which this company declared nexus. This field is defined by Avalara. All Avalara-defined fields must match an Avalara-defined nexus object found by calling `ListNexus`.
- `region` (string, required) — Name or ISO 3166 code identifying the region within the country. This field is defined by Avalara. All Avalara-defined fields must match an Avalara-defined nexus object found by calling `ListNexus`.
- `jurisdictionTypeId` (enum, required) — The type of the jurisdiction in which this company declared nexus. This field is defined by Avalara. All Avalara-defined fields must match an Avalara-defined nexus object found by calling `ListNexus`.
  - Allowed values: `Country`, `State`, `County`, `City`, `Special`
- `jurisCode` (string, required) — The code identifying the jurisdiction in which this company declared nexus. This field is defined by Avalara. All Avalara-defined fields must match an Avalara-defined nexus object found by calling `ListNexus`.
- `jurisName` (string, required) — The common name of the jurisdiction in which this company declared nexus. This field is defined by Avalara. All Avalara-defined fields must match an Avalara-defined nexus object found by calling `ListNexus`.
- `id` (integer, optional) — The unique ID number of this declaration of nexus. This field is defined automatically when you declare nexus. You do not need to provide a value for this field.
- `companyId` (integer, optional) — The unique ID number of the company that declared nexus. This field is user-selectable and should be provided when creating or updating a nexus object.
- `jurisTypeId` (enum, optional) — DEPRECATED - Date: 12/20/2017, Version: 18.1, Message: Please use jurisdictionTypeId instead. The jurisdiction type of the jurisdiction in which this company declared nexus.
  - Allowed values: `STA`, `CTY`, `CIT`, `STJ`, `CNT`
- `effectiveDate` (date, optional) — The date when this nexus began. If not known, set to null. This field is user-selectable and should be provided when creating or updating a nexus object.
- `endDate` (date, optional) — If this nexus will end or has ended on a specific date, set this to the date when this nexus ends. This field is user-selectable and should be provided when creating or updating a nexus object.
- `shortName` (string, optional) — The short name of the jurisdiction. This field is defined by Avalara. All Avalara-defined fields must match an Avalara-defined nexus object found by calling `ListNexus`.
- `signatureCode` (string, optional) — The signature code of the boundary region as defined by Avalara. This field is defined by Avalara. All Avalara-defined fields must match an Avalara-defined nexus object found by calling `ListNexus`.
- `stateAssignedNo` (string, optional) — The state assigned number of this jurisdiction. This field is defined by Avalara. All Avalara-defined fields must match an Avalara-defined nexus object found by calling `ListNexus`.
- `nexusTypeId` (enum, optional) — The type of nexus that this company is declaring. If you are voluntarily declaring nexus in a jurisdiction, you should select `SalesOrSellersUseTax` for your nexus type option. This option allows you to calculate tax correctly whether you are selling in-state or shipping from an out-of-state location. If you are legally obligated to declare nexus due to physical presence or other sufficient nexus, you should select `SalesTax`. This indicates that, as a legal requirement, your company must always collect and remit full sales tax in this jurisdiction. If you are participating in the Streamlined Sales Tax program, your SST administrator will select nexus settings for you in all SST jurisdictions. Do not select any SST options by yourself. This field is user-selectable and should be provided when creating or updating a nexus object.
  - Allowed values: `None`, `SalesOrSellersUseTax`, `SalesTax`, `SSTVolunteer`, `SSTNonVolunteer`
- `sourcing` (enum, optional) — Indicates whether this nexus is defined as origin or destination nexus. This field is defined by Avalara. All Avalara-defined fields must match an Avalara-defined nexus object found by calling `ListNexus`.
  - Allowed values: `Mixed`, `Destination`, `Origin`
- `hasLocalNexus` (boolean, optional) — True if you are also declaring local nexus within this jurisdiction. Many U.S. states have options for declaring nexus in local jurisdictions as well as within the state. This field is defined by Avalara. All Avalara-defined fields must match an Avalara-defined nexus object found by calling `ListNexus`.
- `localNexusTypeId` (enum, optional) — If you are declaring local nexus within this jurisdiction, this indicates whether you are declaring only a specified list of local jurisdictions, all state-administered local jurisdictions, or all local jurisdictions. This field is user-selectable and should be provided when creating or updating a nexus object.
  - Allowed values: `Selected`, `StateAdministered`, `All`
- `hasPermanentEstablishment` (boolean, optional) — Set this value to true if your company has a permanent establishment within this jurisdiction. This field is user-selectable and should be provided when creating or updating a nexus object.
- `taxId` (string, optional) — Optional - the tax identification number under which you declared nexus. This field is user-selectable and should be provided when creating or updating a nexus object.
- `streamlinedSalesTax` (boolean, optional) — DEPRECATED - Date: 4/29/2017, Version: 19.4, Message: Please use isSSTActive instead. For the United States, this flag indicates whether this particular nexus falls within a U.S. State that participates in the Streamlined Sales Tax program. For countries other than the US, this flag is null. This field is defined by Avalara. All Avalara-defined fields must match an Avalara-defined nexus object found by calling `ListNexus`.
- `isSSTActive` (boolean, optional) — For the United States, this flag indicates whether this particular nexus falls within a U.S. State that participates in the Streamlined Sales Tax program and if the account associated with the Nexus has an active AvaTaxCsp subscription. For countries other than the US, this flag is null. This field is defined by Avalara. All Avalara-defined fields must match an Avalara-defined nexus object found by calling `ListNexus`.
- `createdDate` (datetime, optional) — The date when this record was created. This field is defined automatically when you declare nexus. You do not need to provide a value for this field.
- `createdUserId` (integer, optional) — The User ID of the user who created this record. This field is defined automatically when you declare nexus. You do not need to provide a value for this field.
- `modifiedDate` (datetime, optional) — The date/time when this record was last modified. This field is defined automatically when you declare nexus. You do not need to provide a value for this field.
- `modifiedUserId` (integer, optional) — The user ID of the user who last modified this record. This field is defined automatically when you declare nexus. You do not need to provide a value for this field.
- `taxTypeGroup` (string, optional) — The type group of nexus that this company is declaring Use [ListTaxTypeGroups](https://developer.avalara.com/api-reference/avatax/rest/v2/methods/Definitions/ListTaxTypeGroups/) API for a list of nexus tax type groups. This field is defined by Avalara. All Avalara-defined fields must match an Avalara-defined nexus object found by calling `ListNexus`. NOTE: This optional field will trigger nexus subtype lookup when populated. When using make sure TaxTypeGroup matches corresponding NexusTaxTypeGroup
- `nexusTaxTypeGroup` (string, optional) — The type of nexus that this company is declaring.Replaces NexusTypeId. Use [ListNexusTaxTypeGroups](https://developer.avalara.com/api-reference/avatax/rest/v2/methods/Definitions/ListNexusTaxTypeGroups/) API for a list of nexus tax type groups. This field is defined by Avalara. All Avalara-defined fields must match an Avalara-defined nexus object found by calling `ListNexus`.
- `taxAuthorityId` (long, optional) — A unique ID number of the tax authority that is associated with this nexus. This field is defined by Avalara. All Avalara-defined fields must match an Avalara-defined nexus object found by calling `ListNexus`.
- `isSellerImporterOfRecord` (boolean, optional) — For nexus declarations at the country level, specifies whether this company is considered the importer of record in this nexus region. Some taxes only apply if the seller is the importer of record for a product. In cases where companies are working together to ship products, there may be mutual agreement as to which company is the entity designated as importer of record. The importer of record will then be the company designated to pay taxes marked as being obligated to the importer of record. Set this value to `true` to consider your company as the importer of record and collect these taxes. Leave this value as false or null and taxes will be calculated as if your company is not the importer of record. This value may also be set during each transaction API call. See `CreateTransaction()` for more information. This field is user-selectable and should be provided when creating or updating a nexus object.
- `taxName` (string, optional) — A description of corresponding tax type applied to the nexus. When a custom nexus is created, it'll have to be matched to a system nexus to be validated successfully. The matched system nexus has a field to describe the tax type applied to it, that field will be copied over to the nexus that is being created. This field is defined by Avalara. Its main purpose is to give a simple description of the tax type associated with the nexus so users have a better understanding of the nexus when it is displayed.
- `parameters` (list of NexusParameterDetailModel, optional) — List of nexus parameters.
- `taxableNexus` (boolean, optional) — Shows if system nexus records are associated with tax collection

### NexusParameterDetailModel

Represents a parameter associated with a nexus.

- `name` (string, required) — The parameter's name.
- `value` (string, required) — The value for the parameter.
- `id` (long, optional) — The id of the parameter.
- `unit` (string, optional) — The unit of measurement code for the parameter.
- `nexusId` (integer, optional) — The nexus id

## Examples

**Response**

```json
{
  "@recordsetCount": 1,
  "value": [
    {
      "country": "US",
      "region": "CA",
      "jurisdictionTypeId": "Country",
      "jurisCode": "06",
      "jurisName": "CALIFORNIA",
      "id": 0,
      "companyId": 0,
      "jurisTypeId": "STA",
      "effectiveDate": "2023-01-15",
      "endDate": "2023-01-15",
      "shortName": "CA",
      "signatureCode": "",
      "stateAssignedNo": "",
      "nexusTypeId": "None",
      "sourcing": "Mixed",
      "hasLocalNexus": true,
      "localNexusTypeId": "Selected",
      "hasPermanentEstablishment": true,
      "taxId": "string",
      "streamlinedSalesTax": false,
      "isSSTActive": false,
      "createdDate": "2006-10-09T05:55:50.25",
      "createdUserId": 0,
      "modifiedDate": "2018-01-24T03:43:37.31",
      "modifiedUserId": 0,
      "taxTypeGroup": "SalesAndUse",
      "nexusTaxTypeGroup": "SalesAndUse",
      "taxAuthorityId": 1,
      "isSellerImporterOfRecord": false,
      "taxName": "string",
      "parameters": [
        {
          "name": "IsRemoteSeller",
          "value": "true",
          "id": 0,
          "unit": "string",
          "nexusId": 1
        }
      ],
      "taxableNexus": true
    }
  ],
  "@nextLink": "string",
  "pageKey": "string"
}
```

**SDK Code**

```python
import requests

url = "https://rest.avatax.com/api/v2/definitions/nexus/byaddress"

querystring = {"country":"country","region":"region"}

headers = {"Authorization": "<apiKey>"}

response = requests.get(url, headers=headers, params=querystring)

print(response.json())
```

```javascript
const url = 'https://rest.avatax.com/api/v2/definitions/nexus/byaddress?country=country&region=region';
const options = {method: 'GET', headers: {Authorization: '<apiKey>'}};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "https://rest.avatax.com/api/v2/definitions/nexus/byaddress?country=country&region=region"

	req, _ := http.NewRequest("GET", url, nil)

	req.Header.Add("Authorization", "<apiKey>")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby
require 'uri'
require 'net/http'

url = URI("https://rest.avatax.com/api/v2/definitions/nexus/byaddress?country=country&region=region")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["Authorization"] = '<apiKey>'

response = http.request(request)
puts response.read_body
```

```java
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.get("https://rest.avatax.com/api/v2/definitions/nexus/byaddress?country=country&region=region")
  .header("Authorization", "<apiKey>")
  .asString();
```

```php
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('GET', 'https://rest.avatax.com/api/v2/definitions/nexus/byaddress?country=country&region=region', [
  'headers' => [
    'Authorization' => '<apiKey>',
  ],
]);

echo $response->getBody();
```

```csharp
using RestSharp;

var client = new RestClient("https://rest.avatax.com/api/v2/definitions/nexus/byaddress?country=country&region=region");
var request = new RestRequest(Method.GET);
request.AddHeader("Authorization", "<apiKey>");
IRestResponse response = client.Execute(request);
```

```swift
import Foundation

let headers = ["Authorization": "<apiKey>"]

let request = NSMutableURLRequest(url: NSURL(string: "https://rest.avatax.com/api/v2/definitions/nexus/byaddress?country=country&region=region")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```