> This page is for version v5.0.
> For other versions, use one of these documentation indexes:
> - v6.0 (default): https://docs.zip.tax/v-6-0/llms.txt
> - v5.0: https://docs.zip.tax/v-5-0/llms.txt

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

# Get TIC Codes

GET https://api.zip-tax.com/data/tic

Returns the full Taxability Information Code (TIC) catalog. The response example is an excerpt showing three catalog entries; the endpoint returns the full catalog.

Reference: https://docs.zip.tax/api-reference/data/get-tic-data

## Request

### Query parameters

- `format` (enum, optional, default: json) — Serialization format of the response body: 'json' (default) or 'xml'.
  - Allowed values: `json`, `xml`

## Response

### 200

OK

- `tic_list` (list of TicEntry, optional) — Full list of Taxability Information Codes (TICs) available to the account.

## Types

### TicEntry

- `tic` (TicData, required) — A single TIC record.

### TicData

- `id` (string, required) — Taxability Information Code (TIC) identifier (numeric string).
- `label` (string, required) — Longer, localized description of what the TIC category covers.
- `nl_label` (string, required) — Non-localized (base English) description of the TIC category, independent of locale.
- `nl_title` (string, required) — Non-localized (base English) title of the TIC category, independent of locale.
- `parent` (string, required) — TIC code of this code's parent category in the TIC hierarchy; empty for top-level categories.
- `title` (string, required) — Short, localized human-readable title of the TIC category.

## Examples

**Response**

```json
{
  "tic_list": [
    {
      "tic": {
        "id": "20000",
        "label": "Clothing, Sports, and Accessories",
        "nl_label": "Clothing, sportswear, and related accessories",
        "nl_title": "Clothing",
        "parent": "0",
        "title": "Clothing"
      }
    },
    {
      "tic": {
        "id": "20010",
        "label": "Clothing",
        "nl_label": "Clothing, including everyday apparel and wearing garments.",
        "nl_title": "Clothing",
        "parent": "20000",
        "title": "Clothing"
      }
    },
    {
      "tic": {
        "id": "41030",
        "label": "Bakery Items",
        "nl_label": "Bakery goods sold without eating utensils provided by the seller, such as bread, rolls, buns, biscuits, bagels, croissants, pastries, donuts, Danish, cakes, tortes, pies, tarts, muffins, bars, cookies, and tortillas.",
        "nl_title": "Bakery items sold without utensils",
        "parent": "41000",
        "title": "Bakery items sold without eating utensils provided by the seller, including bread, rolls, buns, biscuits, bagels, croissants, pa"
      }
    }
  ]
}
```

**SDK Code**

```python Full catalog (response excerpt)
import requests

url = "https://api.zip-tax.com/data/tic"

querystring = {"format":"json"}

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

print(response.json())
```

```javascript Full catalog (response excerpt)
const url = 'https://api.zip-tax.com/data/tic?format=json';
const options = {method: 'GET'};

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

```go Full catalog (response excerpt)
package main

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

func main() {

	url := "https://api.zip-tax.com/data/tic?format=json"

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

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

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

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

}
```

```ruby Full catalog (response excerpt)
require 'uri'
require 'net/http'

url = URI("https://api.zip-tax.com/data/tic?format=json")

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

request = Net::HTTP::Get.new(url)

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

```java Full catalog (response excerpt)
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.get("https://api.zip-tax.com/data/tic?format=json")
  .asString();
```

```php Full catalog (response excerpt)
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('GET', 'https://api.zip-tax.com/data/tic?format=json');

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

```csharp Full catalog (response excerpt)
using RestSharp;

var client = new RestClient("https://api.zip-tax.com/data/tic?format=json");
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
```

```swift Full catalog (response excerpt)
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "https://api.zip-tax.com/data/tic?format=json")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"

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()
```