---
type: "firecrawl-provider"
description: "Anthropic's engineering blog, newsroom and research posts from www.anthropic.com: list posts by section with dates and summaries, and read any post as clean Markdown with an outline and section selection. Public pages only; no Claude API calls."
use_when: "Anthropic's engineering blog, newsroom and research posts from www.anthropic.com: list posts by section with dates and summaries, and read any post as clean Markdown with an outline and section selection. Public pages only; no Claude API calls."
categories: "AI models"
capabilities: 2
credits_per_call: 5
---
# Anthropic on Firecrawl Alexandria

Anthropic's engineering blog, newsroom and research posts from www.anthropic.com: list posts by section with dates and summaries, and read any post as clean Markdown with an outline and section selection. Public pages only; no Claude API calls.

- Categories: AI models
- Category index: [AI models category](https://firecrawl.dev/alexandria/agents/categories/ai-models)
- Provider key: `anthropic-com`
- Access: Firecrawl credits
- Cost: 5 credits per call

## More

- [Human guide](https://firecrawl.dev/app/alexandria/anthropic-com)
- [OpenAPI spec](https://firecrawl.dev/alexandria/agents/providers/anthropic-com/openapi.json)

## Capabilities

- [Get post](https://firecrawl.dev/alexandria/agents/providers/anthropic-com/company-blog/get_post): One www.anthropic.com engineering, news or research post as clean Markdown, read from the CMS document the page embeds: title, publication date, last update, teams, tags, summary, an outline of headings (level, text, anchor) and the body with headings, lists, links, code blocks, tables, images, footnotes and acknowledgments (author credits). Pass `section` (heading text or anchor, case-insensitive) to get only that heading's subtree, and `max_chars` to cap the content. Unknown posts, unknown sections, and posts that now redirect off the blog (for example to Claude Code docs) are `not_found`.
- [List posts](https://firecrawl.dev/alexandria/agents/providers/anthropic-com/company-blog/list_posts): Posts of one www.anthropic.com section (engineering blog, news or research), newest first: title, slug, URL, publication date, card summary and topic labels. Read from the site's own listing feed (what the section's See more button loads), so every post is reachable, not just the first screen: about 27 engineering, 276 news and 203 research posts. `engineering` is the Engineering team's posts, which the site now serves under /research/. Filter with `q` (case-insensitive substring of slug or title) and page with `limit`/`offset`.

## 1. Choose this provider when

Anthropic's engineering blog, newsroom and research posts from www.anthropic.com: list posts by section with dates and summaries, and read any post as clean Markdown with an outline and section selection. Public pages only; no Claude API calls.

## 2. Minimal request

Call `POST https://api.firecrawl.dev/v2/scrape` with `{ alexandria: { provider, capability, options } }`. For a batch, send `{ alexandria: [...] }` with up to 10 calls.

```json
{
  "provider": "anthropic-com",
  "capability": "company-blog/get_post",
  "options": {
    "section": "when-and-when-not-to-use-agents",
    "slug": "building-effective-agents"
  }
}
```

## 3. Add provider options

Use only the options needed for the task:

- `category` (string): Section of `slug`: `engineering` (default; the site redirects these to /research/), `news` or `research`. Example: `engineering`
- `max_chars` (number): Truncate `content` to this many characters; the full text is returned when omitted. Example: `200`
- `section` (string): Heading text or anchor (case-insensitive) whose subtree to return, e.g. `When (and when not) to use agents` or `when-and-when-not-to-use-agents`. Example: `When (and when not) to use agents`
- `slug` (string): Post slug as listed by list_posts, e.g. `building-effective-agents`. Pattern: ^[A-Za-z0-9][A-Za-z0-9._-]*$. Example: `building-effective-agents`
- `url` (string): Post URL, e.g. https://www.anthropic.com/research/building-effective-agents (old /engineering/ URLs work). A `#anchor` selects that section. Pattern: ^https?://. Example: `#anchor`

## 4. Request through your preferred interface

### JavaScript

```javascript
const result = await firecrawl.scrape({
  alexandria: {
    provider: "anthropic-com",
    capability: "company-blog/get_post",
    options: {
      section: "when-and-when-not-to-use-agents",
      slug: "building-effective-agents",
    },
  },
});
```

### Python

```python
result = firecrawl.scrape_alexandria({
  "provider": "anthropic-com",
  "capability": "company-blog/get_post",
  "options": {
    "section": "when-and-when-not-to-use-agents",
    "slug": "building-effective-agents"
  }
})
```

### cURL

```sh
curl https://api.firecrawl.dev/v2/scrape \
  -H "Authorization: Bearer $FIRECRAWL_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "alexandria": {
    "provider": "anthropic-com",
    "capability": "company-blog/get_post",
    "options": {
      "section": "when-and-when-not-to-use-agents",
      "slug": "building-effective-agents"
    }
  }
}'
```

### CLI

```sh
firecrawl scrape 'anthropic-com/company-blog/get_post' \
  --options '{"section":"when-and-when-not-to-use-agents","slug":"building-effective-agents"}'
```


### MCP

Call the FCX MCP retrieve tool with this object:

```json
{
  "provider": "anthropic-com",
  "capability": "company-blog/get_post",
  "options": {
    "section": "when-and-when-not-to-use-agents",
    "slug": "building-effective-agents"
  }
}
```

Ask for only the returned fields needed by the task.

## 5. Full request shape

```json
{
  "provider": "anthropic-com",
  "capability": "company-blog/get_post",
  "options": {
    "section": "when-and-when-not-to-use-agents",
    "slug": "building-effective-agents"
  }
}
```

## 6. Response data

The response includes `success`, `provider`, `capability`, `creditsCost` and `data`. This example shows the provider payload in `data`:

```json
{
  "article_type": "research",
  "authors": [],
  "chars": 688,
  "content": "## When (and when not) to use agents\n\nWhen building applications with LLMs, we recommend finding the simplest solution possible, and only increasing complexity when needed. This might mean not building agentic systems at all. Agentic systems often trade latency and cost for better task performance, and you should consider when this tradeoff makes sense.\n\nWhen more complexity is warranted, workflows offer predictability and consistency for well-defined tasks, whereas agents are the better option when flexibility and model-driven decision-making are needed at scale. For many applications, however, optimizing single LLM calls with retrieval and in-context examples is usually enough.",
  "observed_at_ms": 1792517470655,
  "outline": [
    {
      "anchor": "what-are-agents",
      "level": 2,
      "text": "What are agents?"
    },
    {
      "anchor": "when-and-when-not-to-use-agents",
      "level": 2,
      "text": "When (and when not) to use agents"
    },
    {
      "anchor": "when-and-how-to-use-frameworks",
      "level": 2,
      "text": "When and how to use frameworks"
    },
    {
      "anchor": "building-blocks-workflows-and-agents",
      "level": 2,
      "text": "Building blocks, workflows, and agents"
    },
    {
      "anchor": "building-block-the-augmented-llm",
      "level": 3,
      "text": "Building block: The augmented LLM"
    },
    {
      "anchor": "workflow-prompt-chaining",
      "level": 3,
      "text": "Workflow: Prompt chaining"
    },
    {
      "anchor": "workflow-routing",
      "level": 3,
      "text": "Workflow: Routing"
    },
    {
      "anchor": "workflow-parallelization",
      "level": 3,
      "text": "Workflow: Parallelization"
    },
    {
      "anchor": "workflow-orchestrator-workers",
      "level": 3,
      "text": "Workflow: Orchestrator-workers"
    },
    {
      "anchor": "workflow-evaluator-optimizer",
      "level": 3,
      "text": "Workflow: Evaluator-optimizer"
    },
    {
      "anchor": "agents",
      "level": 3,
      "text": "Agents"
    },
    {
      "anchor": "combining-and-customizing-these-patterns",
      "level": 2,
      "text": "Combining and customizing these patterns"
    },
    {
      "anchor": "summary",
      "level": 2,
      "text": "Summary"
    },
    {
      "anchor": "appendix-1-agents-in-practice",
      "level": 2,
      "text": "Appendix 1: Agents in practice"
    },
    {
      "anchor": "a-customer-support",
      "level": 3,
      "text": "A. Customer support"
    },
    {
      "anchor": "b-coding-agents",
      "level": 3,
      "text": "B. Coding agents"
    },
    {
      "anchor": "appendix-2-prompt-engineering-your-tools",
      "level": 2,
      "text": "Appendix 2: Prompt engineering your tools"
    },
    {
      "anchor": "acknowledgments",
      "level": 2,
      "text": "Acknowledgments"
    }
  ],
  "published_on": "2024-12-19",
  "section": "When (and when not) to use agents",
  "slug": "building-effective-agents",
  "summary": "We've worked with dozens of teams building LLM agents across industries. Consistently, the most successful implementations use simple, composable patterns rather than complex frameworks.",
  "tags": [
    "Agents",
    "Tool use",
    "Claude Developer Platform",
    "Coding"
  ],
  "teams": [
    "Engineering"
  ],
  "title": "Building effective agents",
  "truncated": false,
  "updated_at": "2026-10-09T06:34:08Z",
  "url": "https://www.anthropic.com/research/building-effective-agents"
}
```

## API reference-derived contract

The following capability contract is generated from the same normalized Alexandria API reference exposed in the API spec.

### Get post

- Capability: `company-blog/get_post`
- Description: One www.anthropic.com engineering, news or research post as clean Markdown, read from the CMS document the page embeds: title, publication date, last update, teams, tags, summary, an outline of headings (level, text, anchor) and the body with headings, lists, links, code blocks, tables, images, footnotes and acknowledgments (author credits). Pass `section` (heading text or anchor, case-insensitive) to get only that heading's subtree, and `max_chars` to cap the content. Unknown posts, unknown sections, and posts that now redirect off the blog (for example to Claude Code docs) are `not_found`.
- Instructions: To read the full text of an Anthropic post, such as building-effective-agents (workflows versus autonomous agents), demystifying-evals-for-ai-agents, infrastructure-noise, advanced-tool-use (tool search and deferred tool loading) or a postmortem, or one section of it.
- Cost: 5 credits per call
- Capability file: [Get post](https://firecrawl.dev/alexandria/agents/providers/anthropic-com/company-blog/get_post)

Accepted options:
- `category` (string): Section of `slug`: `engineering` (default; the site redirects these to /research/), `news` or `research`. Example: `engineering`
- `max_chars` (number): Truncate `content` to this many characters; the full text is returned when omitted. Example: `200`
- `section` (string): Heading text or anchor (case-insensitive) whose subtree to return, e.g. `When (and when not) to use agents` or `when-and-when-not-to-use-agents`. Example: `When (and when not) to use agents`
- `slug` (string): Post slug as listed by list_posts, e.g. `building-effective-agents`. Pattern: ^[A-Za-z0-9][A-Za-z0-9._-]*$. Example: `building-effective-agents`
- `url` (string): Post URL, e.g. https://www.anthropic.com/research/building-effective-agents (old /engineering/ URLs work). A `#anchor` selects that section. Pattern: ^https?://. Example: `#anchor`

Response schema example:
```json
{
  "article_type": "research",
  "authors": [],
  "chars": 688,
  "content": "## When (and when not) to use agents\n\nWhen building applications with LLMs, we recommend finding the simplest solution possible, and only increasing complexity when needed. This might mean not building agentic systems at all. Agentic systems often trade latency and cost for better task performance, and you should consider when this tradeoff makes sense.\n\nWhen more complexity is warranted, workflows offer predictability and consistency for well-defined tasks, whereas agents are the better option when flexibility and model-driven decision-making are needed at scale. For many applications, however, optimizing single LLM calls with retrieval and in-context examples is usually enough.",
  "observed_at_ms": 1792517470655,
  "outline": [
    {
      "anchor": "what-are-agents",
      "level": 2,
      "text": "What are agents?"
    },
    {
      "anchor": "when-and-when-not-to-use-agents",
      "level": 2,
      "text": "When (and when not) to use agents"
    },
    {
      "anchor": "when-and-how-to-use-frameworks",
      "level": 2,
      "text": "When and how to use frameworks"
    },
    {
      "anchor": "building-blocks-workflows-and-agents",
      "level": 2,
      "text": "Building blocks, workflows, and agents"
    },
    {
      "anchor": "building-block-the-augmented-llm",
      "level": 3,
      "text": "Building block: The augmented LLM"
    },
    {
      "anchor": "workflow-prompt-chaining",
      "level": 3,
      "text": "Workflow: Prompt chaining"
    },
    {
      "anchor": "workflow-routing",
      "level": 3,
      "text": "Workflow: Routing"
    },
    {
      "anchor": "workflow-parallelization",
      "level": 3,
      "text": "Workflow: Parallelization"
    },
    {
      "anchor": "workflow-orchestrator-workers",
      "level": 3,
      "text": "Workflow: Orchestrator-workers"
    },
    {
      "anchor": "workflow-evaluator-optimizer",
      "level": 3,
      "text": "Workflow: Evaluator-optimizer"
    },
    {
      "anchor": "agents",
      "level": 3,
      "text": "Agents"
    },
    {
      "anchor": "combining-and-customizing-these-patterns",
      "level": 2,
      "text": "Combining and customizing these patterns"
    },
    {
      "anchor": "summary",
      "level": 2,
      "text": "Summary"
    },
    {
      "anchor": "appendix-1-agents-in-practice",
      "level": 2,
      "text": "Appendix 1: Agents in practice"
    },
    {
      "anchor": "a-customer-support",
      "level": 3,
      "text": "A. Customer support"
    },
    {
      "anchor": "b-coding-agents",
      "level": 3,
      "text": "B. Coding agents"
    },
    {
      "anchor": "appendix-2-prompt-engineering-your-tools",
      "level": 2,
      "text": "Appendix 2: Prompt engineering your tools"
    },
    {
      "anchor": "acknowledgments",
      "level": 2,
      "text": "Acknowledgments"
    }
  ],
  "published_on": "2024-12-19",
  "section": "When (and when not) to use agents",
  "slug": "building-effective-agents",
  "summary": "We've worked with dozens of teams building LLM agents across industries. Consistently, the most successful implementations use simple, composable patterns rather than complex frameworks.",
  "tags": [
    "Agents",
    "Tool use",
    "Claude Developer Platform",
    "Coding"
  ],
  "teams": [
    "Engineering"
  ],
  "title": "Building effective agents",
  "truncated": false,
  "updated_at": "2026-10-09T06:34:08Z",
  "url": "https://www.anthropic.com/research/building-effective-agents"
}
```

### List posts

- Capability: `company-blog/list_posts`
- Description: Posts of one www.anthropic.com section (engineering blog, news or research), newest first: title, slug, URL, publication date, card summary and topic labels. Read from the site's own listing feed (what the section's See more button loads), so every post is reachable, not just the first screen: about 27 engineering, 276 news and 203 research posts. `engineering` is the Engineering team's posts, which the site now serves under /research/. Filter with `q` (case-insensitive substring of slug or title) and page with `limit`/`offset`.
- Instructions: To find Anthropic engineering posts (agent evals, tool search and deferred tool loading, building effective agents, postmortems), recent announcements to monitor, or research posts, before reading one with get_post.
- Cost: 5 credits per call
- Capability file: [List posts](https://firecrawl.dev/alexandria/agents/providers/anthropic-com/company-blog/list_posts)

Accepted options:
- `category` (string): Site section: `engineering` (default), `news` or `research`. Example: `engineering`
- `limit` (number): Posts per page (default 25). Example: `25`
- `offset` (number): Posts to skip; pass `next_offset` to continue. Example: `0`
- `q` (string): Case-insensitive substring matched against slug and title, e.g. `evals`, `postmortem`, `tool`. Example: `<q>`

Response schema example:
```json
{
  "category": "engineering",
  "count": 2,
  "limit": 10,
  "next_offset": null,
  "observed_at_ms": 1792517470750,
  "offset": 0,
  "posts": [
    {
      "article_type": "research",
      "news_categories": [],
      "published_on": "2026-02-05",
      "slug": "infrastructure-noise",
      "summary": "Agentic coding benchmarks are often treated as precise measurements of relative model capability. However, we’ve found that infrastructure configuration alone can produce meaningful differences in the scores.",
      "teams": [
        "Engineering"
      ],
      "title": "Quantifying infrastructure noise in agentic coding evals",
      "topic": "Benchmarks",
      "updated_at": "2026-10-18T21:26:37Z",
      "url": "https://www.anthropic.com/research/infrastructure-noise"
    },
    {
      "article_type": "research",
      "news_categories": [],
      "published_on": "2026-01-09",
      "slug": "demystifying-evals-for-ai-agents",
      "summary": "Guidance on how to design more rigorous and useful evals for agents across a range of agent architectures and use cases in real-world deployment.",
      "teams": [
        "Engineering"
      ],
      "title": "Demystifying evals for AI agents",
      "topic": "Agents",
      "updated_at": "2026-10-18T21:26:21Z",
      "url": "https://www.anthropic.com/research/demystifying-evals-for-ai-agents"
    }
  ],
  "q": "evals",
  "source_url": "https://www.anthropic.com/listing/team-engineering/default/1",
  "total": 2
}
```
