Firecrawl Alexandria

Read the Docs

Any open documentation site hosted on Read the Docs at <project>.readthedocs.io (Sphinx, MkDocs, Jupyter Book and more): project metadata with every active version and translation, the platform's server-side full-text docs search with section hits, any page as clean Markdown with its heading outline, and the Sphinx or MkDocs page index of a version. Public per-site endpoints only; no login or key.

Try Read the Docs now.

Choose an example or ask your own question.

Read the Docs
TRY ASKING
1Request
number

Truncate content to this many characters (default 100000).

string

With project: the page path relative to the version root (reference/Image.html, user-guide/sync-waves/) or from the site root when it starts with / (/en/stable/reference/Image.html, as search_docs returns).

string

Read the Docs project slug, the <project> in https://<project>.readthedocs.io (e.g. pillow, argo-cd, pypdf, pymupdf).

string

A page URL on https://<project>.readthedocs.io/, e.g. https://pillow.readthedocs.io/en/stable/reference/Image.html. A site-root URL follows the redirect to the default version's index.

5 credits
Codefollows the fields above
const result = await firecrawl.scrape({
  alexandria: {
    provider: "readthedocs-io",
    capability: "developer-documentation/get_page",
    options: {
      url: "https://argo-cd.readthedocs.io/en/stable/user-guide/sync-waves/",
    },
  },
});
2Response example

This is a sample shape. Press Run to see live data from Read the Docs.

Long values are shortened in this preview. The full response is 14 KB.

{
  "built_at": "2026-10-20T19:30:25.762937Z",
  "chars": 11823,
  "content": "# Sync Phases and Waves\n\nSync phases and hooks define when resources are applied such as before or after the main sync operation. This makes it possible to define jobs, or any other resource to run or be applied in any specific order.\n\nArgo CD has the following hook types:\n\n| Hook | Description |\n| --- | --- |\n| `PreSync` | Executes prior to the application of the manifests. |\n| `Sync` | Executes after all `PreSync` hooks completed and were successful, at the same time as the application of the manifests. |\n| `Skip` | Indicates to Argo CD to skip the application of the manifest. |\n| `PostSync` | Executes after all `Sync` hooks completed and were successful, a successful application, and all resources in a `Healthy` state. |\n| `SyncFail` | Executes when the sync operation fails. |\n| `PreDelete` | Executes before Application resources are deleted. Only runs when the entire Application is being deleted, not during normal sync operations (even with pruning enabled. ) |\n| `PostDelete` | Executes after all Application resources are deleted. *Available starting in v2.10.* |\n\nAdding the argocd.argoproj.io/hook annotation to a resource will assign it to a specific phase. During a Sync operation, Argo CD will apply the resource during the appropriate phase of the deployment. Hooks can be any type of Kubernetes resource kind, but tend to be Pod, Job or Argo Workflows. Multiple hooks can be specified as a comma separated list.\n\n## How phases work?\n\nArgo CD will respect resources assigned to different phases, during a sync operation Argo CD will do the following:\n\n1. Apply all the resources marked as PreSync hooks. If any of them fails the whole sync process will stop and will be marked as failed\n2. Apply all the resources marked as Sync hooks. If any of them fails the whole sync process will be marked as failed. Hooks marked with SyncFail will also run\n3. Apply all the resources marked as PostSync hooks. If any of them fails the whole sync process will be marked as failed.\n\nHoo… [9,823 more characters]",
  "definitions": [],
  "description": null,
  "observed_at_ms": 1792696080577,
  "outline": [
    {
      "anchor": null,
      "level": 1,
      "text": "Sync Phases and Waves"
    },
    {
      "anchor": null,
      "level": 2,
      "text": "How phases work?"
    },
    {
      "anchor": null,
      "level": 2,
      "text": "Hook lifecycle and cleanup"
    },
    {
      "anchor": null,
      "level": 2,
      "text": "PreDelete and PostDelete Hooks"
    },
    {
      "anchor": null,
      "level": 3,
      "text": "PreDelete Hooks"
    },
    {
      "anchor": null,
      "level": 3,
      "text": "PostDelete Hooks"
    },
    {
      "anchor": null,
      "level": 2,
      "text": "How sync waves work?"
    },
    {
      "anchor": null,
      "level": 2,
      "text": "Combining Sync waves and hooks"
    },
    {
      "anchor": null,
      "level": 2,
      "text": "How Do I Configure Phases?"
    },
    {
      "anchor": null,
      "level": 2,
      "text": "How Do I Configure Waves?"
    },
    {
      "anchor": null,
      "level": 2,
      "text": "Examples"
    },
    {
      "anchor": null,
      "level": 3,
      "text": "Send message to Slack when sync completes"
    },
    {
      "anchor": null,
      "level": 3,
      "text": "Initialize or migrate a database"
    },
    {
      "anchor": null,
      "level": 3,
      "text": "Work around ArgoCD sync failure"
    }
  ],
  "project": "argo-cd",
  "project_name": "argo-cd",
  "section": null,
  "title": "Sync Phases and Waves",
  "truncated": false,
  "url": "https://argo-cd.readthedocs.io/en/stable/user-guide/sync-waves/",
  "version": "stable"
}
Browse the library