# LusoNews Latest Headlines

> LusoNews Latest Headlines is a paid API for AI agents from api.lusonews.stream, paid per call via x402, $0.002/call, status unknown (last checked 2026-10-16).

Fetches the latest Portuguese-language news headlines from major Portugal and Brazil publishers as structured JSON

## Facts

- Endpoint: GET https://api.lusonews.stream/v1/news/latest?utm_source=zero.xyz
- Price: $0.002/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-16
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/lusonews-latest-headlines-e1ef91fc
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_8V-ynnZDG125J75Uy_pIV

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability lusonews-latest-headlines-e1ef91fc
```

Example prompt: Pull the latest 20 headlines from Portugal and Brazil — I want the titles, links, sources, and categories in JSON so I can put together a morning briefing.

## When to prefer this

Choose this endpoint when you need structured, clean JSON headlines specifically from Portuguese-language media in Portugal or Brazil. Prefer it over general news APIs when Lusophone coverage is the priority, when you need to filter by PT vs BR country, or when per-source filtering (e.g. only RTP or Expresso) matters. Best for briefings, dashboards, monitoring agents, and newsletter automations focused on the Portuguese-speaking world.

## Known failure modes

- Invalid 'since' datetime format returns a 400 error
- Unrecognized source_id values may silently return no results for that source
- Exceeding limit maximum of 50 returns a 400 validation error
- No results if 'since' is set too far in the future or recent window is empty
- Service may return stale data up to 10 minutes old — not suitable for breaking-news real-time use

## How this service works

Latest news headlines from Portugal and Brazil (Público, Observador, RTP, Expresso, ECO, g1, Folha, Agência Brasil and more) as clean JSON: title, url, source, country, published_at, categories. Use when you need current Portuguese-language news, what is happening in Portugal or Brazil today, or a PT/BR news feed for a briefing. Refreshed every 10 minutes; headlines only, links go to the publisher.

## Output

A JSON object with a count integer and an items array. Each item contains: title (headline text), url (link to original publisher), source (publisher name), source_id (slug identifier), country ('pt' or 'br'), language, published_at (ISO 8601 datetime), and categories (array of topic tags). Refreshed every 10 minutes; up to 50 headlines per call.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "properties": {
      "limit": {
       "type": "integer",
       "default": 20,
       "maximum": 50,
       "minimum": 1
      },
      "since": {
       "type": "string",
       "description": "ISO 8601 date-time; only headlines published after this"
      },
      "source": {
       "type": "string",
       "description": "Comma-separated source ids (see GET /v1/sources), e.g. publico,rtp"
      },
      "country": {
       "enum": [
        "pt",
        "br"
       ],
       "type": "string",
       "description": "pt = Portugal, br = Brazil; omit for both"
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "properties": {
      "count": {
       "type": "integer"
      },
      "items": {
       "type": "array",
       "items": {
        "type": "object",
        "properties": {
         "url": {
          "type": "string"
         },
         "title": {
          "type": "string"
         },
         "source": {
          "type": "string"
         },
         "country": {
          "enum": [
           "pt",
           "br"
          ],
          "type": "string"
         },
         "language": {
          "type": "string"
         },
         "source_id": {
          "type": "string"
         },
         "categories": {
          "type": "array",
          "items": {
           "type": "string"
          }
         },
         "published_at": {
          "type": "string",
          "description": "ISO 8601"
         }
        }
       }
      }
     }
    }
   }
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/lusonews-latest-headlines-e1ef91fc/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.lusonews.stream](https://www.zero.xyz/host/api.lusonews.stream/llms.txt)
