# Plantvillage Psu — 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 for crops, diseases, and pests to access detailed agricultural knowledge including treatments, management strategies, and educational content like blog posts and videos. Get comprehensive plant health information with images and disease identification to help diagnose and manage crop problems.

**Category:** Education | **Website:** [plantvillage.psu.edu/](https://plantvillage.psu.edu/) | **Docs:** [parse.bot/marketplace/692a74c4-dbe0-4b62-9a93-e01d24f82dd9/plantvillage-psu-edu-api](https://parse.bot/marketplace/692a74c4-dbe0-4b62-9a93-e01d24f82dd9/plantvillage-psu-edu-api)

Pay-per-use API proxy for Locus Pro. Each call burns credits from your workspace balance.

## Access

**Base URL:** `https://api.paywithlocus.com/api/wrapped/credits/plantvillage-psu/`
**Auth:** `Authorization: Bearer <LOCUS_CREDITS_SECRET_KEY>` (an `lcr_` secret key or a scoped `lcac_` agent credential)
**Required header:** `Idempotency-Key: <fresh UUID per call>`. A retry with the same key replays the stored result without a new charge.
**Response:** the provider response after any endpoint-specific normalization. `X-Locus-Credits-Charged` carries the charge and `X-Locus-Credits-Balance` the remaining balance. Insufficient credits return `402` before the provider is called.
**Pricing:** estimated costs below are USD. Locus debits the credit equivalent at your workspace rate.

Full call contract: https://docs.paywithlocus.com/api-reference/introduction

> Using a Pay With Locus wallet key (`claw_` prefix)? Wallet routes are documented separately: https://docs.paywithlocus.com/wrapped-apis/for-agents

## Endpoints

### Get blog post detail

Returns the full text content of a specific blog post by slug. The slug is obtainable from get_blog_posts.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `slug` | string | Yes | Blog post slug identifier (e.g. '380-tiny-wasps-big-impact-natural-pest-control-for-kenyan-farmers'). Obtainable from get_blog_posts results. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/credits/plantvillage-psu/get-blog-post-detail \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"slug":"<string>"}'
```

### Get blog posts

Returns blog articles from the PlantVillage blog. Each post includes title, slug, author, summary, and thumbnail URL.

**Estimated cost:** Metered

_No parameters required._

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/credits/plantvillage-psu/get-blog-posts \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{}'
```

### Get crop detail

Returns detailed information about a specific crop by slug, including scientific name, common names, content sections, images, and related diseases.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `slug` | string | Yes | Crop slug identifier (e.g. 'apple', 'banana', 'tomato'). Obtainable from list_crops results. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/credits/plantvillage-psu/get-crop-detail \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"slug":"<string>"}'
```

### Get disease detail

Returns detailed information about a specific disease or pest by slug, including affected crop, content sections, and images.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `slug` | string | Yes | Disease slug identifier (e.g. 'fall-armyworm', 'aphanomyces-root-rot'). Obtainable from list_diseases_and_pests results. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/credits/plantvillage-psu/get-disease-detail \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"slug":"<string>"}'
```

### Get plant diseases by crop

Returns all diseases and pests associated with a specific crop, including symptoms, cause, comments, and management information. Each disease entry is a complete record with treatment guidance.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `slug` | string | Yes | Crop slug identifier (e.g. 'apple', 'banana'). Obtainable from list_crops results. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/credits/plantvillage-psu/get-plant-diseases-by-crop \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"slug":"<string>"}'
```

### Get plant images

Returns the gallery of images associated with a specific crop or disease topic. Tries the crop page first, then falls back to the disease page.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `slug` | string | Yes | Crop or disease slug identifier (e.g. 'apple', 'fall-armyworm'). Obtainable from list_crops or list_diseases_and_pests results. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/credits/plantvillage-psu/get-plant-images \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"slug":"<string>"}'
```

### Get treatments and management

Returns management and treatment strategies for a specific disease or pest. Extracts sections containing management, treatment, or control information from the disease page. Returns an empty object if no management sections exist.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `slug` | string | Yes | Disease or pest slug identifier (e.g. 'fall-armyworm'). Obtainable from list_diseases_and_pests results. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/credits/plantvillage-psu/get-treatments-and-management \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"slug":"<string>"}'
```

### List crops

Returns all crops available on PlantVillage. Supports alphabetical filtering via the letter parameter. Each crop includes name, slug, and thumbnail URL. When letter is omitted, returns the full catalog.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `letter` | string | No | Single uppercase letter (A-Z) to filter crops by first letter. Omitting returns all crops. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/credits/plantvillage-psu/list-crops \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"letter":"<string>"}'
```

### List diseases and pests

Returns all diseases and pests available on PlantVillage. Each entry includes name, slug, and thumbnail URL.

**Estimated cost:** Metered

_No parameters required._

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/credits/plantvillage-psu/list-diseases-and-pests \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{}'
```

### List topics

Returns educational topics available on PlantVillage. Each topic includes a name and slug.

**Estimated cost:** Metered

_No parameters required._

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/credits/plantvillage-psu/list-topics \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{}'
```

### List videos

Returns video library entries from PlantVillage. Each video includes title, video_id, url, thumbnail_url, and language.

**Estimated cost:** Metered

_No parameters required._

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/credits/plantvillage-psu/list-videos \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{}'
```

### Search plants

Search for plants by name keyword or single letter. A single alphabetical character filters crops by first letter; multi-character queries perform a substring match against all crop names.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `query` | string | Yes | Search keyword (e.g. 'tomato', 'mango') or single letter for alphabetical filtering (e.g. 'A'). |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/credits/plantvillage-psu/search-plants \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"query":"<string>"}'
```

## Next steps

- [All wrapped API providers](https://paywithlocus.com/wapi/index.md): pick another provider.
- [Find and call tools](https://paywithlocus.com/agent/tools.md): price ceilings, async results, and errors.
- [Credits and billing](https://paywithlocus.com/agent/billing.md): what a call costs and how to add credits.
- [Agent docs index](https://paywithlocus.com/agent/index.md): every Locus agent page.