# 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. Each call is automatically billed to your wallet in USDC.

## Access

**Base URL:** `https://api.paywithlocus.com/api/wrapped/parse-plantvillage-psu-edu-api-692a74c4/`
**Auth:** `Authorization: Bearer <LOCUS_API_KEY>`

## 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/parse-plantvillage-psu-edu-api-692a74c4/get_blog_post_detail \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -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/parse-plantvillage-psu-edu-api-692a74c4/get_blog_posts \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -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/parse-plantvillage-psu-edu-api-692a74c4/get_crop_detail \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -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/parse-plantvillage-psu-edu-api-692a74c4/get_disease_detail \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -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/parse-plantvillage-psu-edu-api-692a74c4/get_plant_diseases_by_crop \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -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/parse-plantvillage-psu-edu-api-692a74c4/get_plant_images \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -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/parse-plantvillage-psu-edu-api-692a74c4/get_treatments_and_management \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -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/parse-plantvillage-psu-edu-api-692a74c4/list_crops \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -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/parse-plantvillage-psu-edu-api-692a74c4/list_diseases_and_pests \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -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/parse-plantvillage-psu-edu-api-692a74c4/list_topics \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -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/parse-plantvillage-psu-edu-api-692a74c4/list_videos \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -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/parse-plantvillage-psu-edu-api-692a74c4/search_plants \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"query":"<string>"}'
```
