# Govconwire — 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.

> Access the latest government contracting news, articles, and industry insights by browsing categories, searching stories, and discovering the most popular content. Get detailed information about companies and executives in the government contracting space, including company news and professional profiles.

**Category:** Government & Public Data | **Website:** [govconwire.com/](https://govconwire.com/) | **Docs:** [parse.bot/marketplace/be691290-17c6-4e3d-ab54-b969a525d01f/govconwire-com-api](https://parse.bot/marketplace/be691290-17c6-4e3d-ab54-b969a525d01f/govconwire-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-govconwire-com-api-be691290/`
**Auth:** `Authorization: Bearer <LOCUS_API_KEY>`

## Endpoints

### get_article

Retrieve the full content of an article by its slug. Returns article metadata (title, date, categories, tags) plus the full body text extracted from the HTML content. The slug is obtained from get_latest_stories, search_stories, or get_category_stories results.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `slug` | string | Yes | The article slug (e.g. 'ice-homeland-security-task-force-sole-source-trm-labs'). Obtain from get_latest_stories, search_stories, or get_category_stories results. |

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

### get_category_stories

Retrieve stories for a specific category. Returns paginated results with total count and total pages. The category slug must match an existing WordPress category on the site. Each story includes metadata but not full body text.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `category` | string | Yes | The category slug. Confirmed working values include: 'contract-awards', 'exec-moves', 'ma-activity', 'technology', 'press-releases'. |
| `limit` | integer | No | Number of stories per page (max 100). |
| `page` | integer | No | Page number for pagination. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-govconwire-com-api-be691290/get_category_stories \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"category":"<string>","limit":"<integer>","page":"<integer>"}'
```

### get_company_news

Retrieve news articles tagged with a specific company. Uses WordPress tags to find company-related stories. Returns paginated results with total count and optional company metadata.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `company` | string | Yes | The company tag slug (e.g. 'leidos', 'booz-allen-hamilton'). Must match an existing tag on the site. |
| `limit` | integer | No | Number of stories per page (max 100). |
| `page` | integer | No | Page number for pagination. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-govconwire-com-api-be691290/get_company_news \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"company":"<string>","limit":"<integer>","page":"<integer>"}'
```

### get_executive_profile

Retrieve profile information for a GovCon executive. Returns biographical details, company, title, and industry. The slug must correspond to an existing expert; obtain valid slugs from get_executives_list.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `slug` | string | Yes | The executive name slug (e.g. 'megin-kennett', 'chris-burton'). Obtain from get_executives_list results. |

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

### get_executives_list

Retrieve a paginated list of GovCon executives available in the system. Returns name, slug, and URL for each executive. Use the slug with get_executive_profile to fetch full biographical details.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `limit` | integer | No | Number of executives per page (max 100). |
| `page` | integer | No | Page number for pagination. |

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

### get_latest_stories

Retrieve the latest stories from the GovConWire homepage in reverse chronological order. Returns up to 100 stories per call. Each story includes metadata (title, slug, date, excerpt, categories, tags) but not the full article body — use get_article with the slug to fetch full content.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `limit` | integer | No | Number of stories to return (max 100). |

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

### get_most_popular_stories

Retrieve the most popular stories displayed on the GovConWire homepage sidebar. Returns a list of stories with title and URL only (no full metadata).

**Estimated cost:** Metered

_No parameters required._

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

### search_stories

Search for stories by keyword. Returns paginated results matching the query across title and body content. Results include total count for pagination.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `limit` | integer | No | Number of stories per page (max 100). |
| `page` | integer | No | Page number for pagination. |
| `query` | string | Yes | Search keyword or phrase. |

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