# Textures — Wrapped API

> **You are on:** `https://api.paywithlocus.com/api` | [llms.txt](https://paywithlocus.com/llms.txt) | [docs](https://docs.paywithlocus.com)
>
> Locus runs on multiple environments -- make sure every URL you call matches your expected environment.
> | Environment | Landing | API | Docs |
> |---|---|---|---|
> | Production | paywithlocus.com | api.paywithlocus.com | docs.paywithlocus.com |
> | Beta | beta.paywithlocus.com | api.beta.paywithlocus.com | docs.paywithlocus.com |
> | Stage | stage.paywithlocus.com | api.stage.paywithlocus.com | docs.paywithlocus.com |
>
> If the API URL above doesn't match your expected environment, re-fetch this file from the correct domain.

> Search and browse millions of textures by category or keyword to find high-resolution texture maps with detailed pricing and specifications. Discover the latest content additions, explore free samples, and access complete metadata including available resolutions and texture maps for your projects.

**Category:** Developer Tools | **Website:** [textures.com/](https://textures.com/) | **Docs:** [parse.bot/marketplace/deed284a-4cf5-4b02-b314-fa8d897b393a/textures-com-api](https://parse.bot/marketplace/deed284a-4cf5-4b02-b314-fa8d897b393a/textures-com-api)

Pay-per-use API proxy. Each call is automatically billed to your wallet in USDC.

## Access

**Base URL:** `https://api.paywithlocus.com/api/wrapped/parse-textures-com-api-deed284a/`
**Auth:** `Authorization: Bearer <LOCUS_API_KEY>`

## Endpoints

### browse_category

Browse textures within a specific category or subcategory by its ID. Returns paginated texture listings with category title metadata. Use leaf-level category IDs (from get_categories or get_subcategories contents items) for texture results.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `category_id` | string | Yes | Category or subcategory ID (numeric string). Obtainable from get_categories or get_subcategories results. |
| `page` | integer | No | Page number for pagination (1-based). |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-textures-com-api-deed284a/browse_category \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"category_id":"<string>","page":"<integer>"}'
```

### get_categories

Returns the full category tree for the texture library including all top-level categories, their subcategories, photo set counts, and content groupings. The tree is hierarchical: each category may contain subcategory items organized by content type (3d_materials, 3d_assets, etc.). Use category IDs from this response to browse textures or fetch subcategory details.

**Estimated cost:** Metered

_No parameters required._

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-textures-com-api-deed284a/get_categories \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'
```

### get_free_content

Returns all free content available without a paid subscription. Results are paginated with up to 200 items per page. Includes tutorials, free 3D models, and sample textures marked with hasFreeSample in their defaultPhotoSet.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `page` | integer | No | Page number for pagination (1-based). |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-textures-com-api-deed284a/get_free_content \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"page":"<integer>"}'
```

### get_latest_textures

Returns the most recently added textures across the entire library, ordered by recency. Results are paginated with up to 200 textures per page. Useful for discovering new additions without a specific search query.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `page` | integer | No | Page number for pagination (1-based). |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-textures-com-api-deed284a/get_latest_textures \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"page":"<integer>"}'
```

### get_subcategories

Returns subcategories and details for a given parent category ID. Includes the category name, photo set count, content groupings with nested subcategory items, and their browse links. Use leaf-level IDs from the items to browse textures in that subcategory.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `category_id` | string | Yes | Parent category ID (numeric string). Obtainable from get_categories results. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-textures-com-api-deed284a/get_subcategories \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"category_id":"<string>"}'
```

### get_texture_detail

Retrieve full details for a single texture by its photoSetId. Includes available maps organized in sections, each containing photos with multiple resolution options and credit costs. Also provides header images, license information, category placement, and physical size data. The photoSetId is found in defaultPhotoSet.id from search_textures or browse_category results.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `photo_set_id` | string | Yes | Texture photoSetId (numeric string). Obtainable from defaultPhotoSet.id in search_textures or browse_category results. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-textures-com-api-deed284a/get_texture_detail \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"photo_set_id":"<string>"}'
```

### search_textures

Full-text search over the texture library by keyword. Returns paginated results with texture metadata including name, resolution, dimensions, and photo set details. Each result contains a defaultPhotoSet with an ID usable for get_texture_detail. Up to 200 results per page.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `page` | integer | No | Page number for pagination (1-based). |
| `query` | string | Yes | Search keyword (e.g. "wood", "concrete", "brick", "metal"). |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-textures-com-api-deed284a/search_textures \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"page":"<integer>","query":"<string>"}'
```
