APIHub
Back to Explore

Botify API

The Botify API provides programmatic access to SEO crawl analyses and related data for user projects, allowing retrieval of analyses, crawl statistics, URL details, orphan URLs, in‑link percentiles, PageRank loss, sitemap reports, top domains/subdomains, and execution of custom queries and CSV exports.

Analytics
apiKeyHeader
HTTPS
CORS: Unknown
Description enriched
Visit official documentation

Latency

267ms p95

Uptime

100.0% 30d

Playground

Verified

live

Endpoints

REST · JSON
GET

/analyses/{username}/{project_slug}

List all analyses for a project

  • page (query, page) — Page Number
  • size (query, limit) — Page Size
GET

/analyses/{username}/{project_slug}/{analysis_slug}

Get an Analysis detail

GET

/analyses/{username}/{project_slug}/{analysis_slug}/crawl_statistics

Return global statistics for an analysis

GET

/analyses/{username}/{project_slug}/{analysis_slug}/crawl_statistics/time

Return crawl statistics grouped by time frequency (1 min, 5 mins or 60 min)

  • limit (query, limit) — max number of elements to retrieve
  • frequency (query, required) — Aggregation frequency
GET

/analyses/{username}/{project_slug}/{analysis_slug}/crawl_statistics/urls/{list_type}

Return a list of 1000 latest URLs crawled (all crawled URLs or only URLS with HTTP errors)

GET

/analyses/{username}/{project_slug}/{analysis_slug}/features/ganalytics/orphan_urls/{medium}/{source}

List of Orphan URLs

  • page (query, page) — Page Number
  • size (query, limit) — Page Size
GET

/analyses/{username}/{project_slug}/{analysis_slug}/features/links/percentiles

Get inlinks percentiles

GET

/analyses/{username}/{project_slug}/{analysis_slug}/features/pagerank/lost

Lost pagerank

GET

/analyses/{username}/{project_slug}/{analysis_slug}/features/sitemaps/report

Get global information of the sitemaps found (sitemaps indexes, invalid sitemaps urls, etc

GET

/analyses/{username}/{project_slug}/{analysis_slug}/features/sitemaps/samples/out_of_config

Sample list of URLs which were found in your sitemaps but outside of the

  • page (query, page) — Page Number
  • size (query, limit) — Page Size
GET

/analyses/{username}/{project_slug}/{analysis_slug}/features/sitemaps/samples/sitemap_only

Sample list of URLs which were found in your sitemaps, within the project

  • page (query, page) — Page Number
  • size (query, limit) — Page Size
GET

/analyses/{username}/{project_slug}/{analysis_slug}/features/top_domains/domains

Top domains

  • page (query, page) — Page Number
  • size (query, limit) — Page Size
GET

/analyses/{username}/{project_slug}/{analysis_slug}/features/top_domains/subdomains

Top subddomains

  • page (query, page) — Page Number
  • size (query, limit) — Page Size
POST

/analyses/{username}/{project_slug}/{analysis_slug}/urls

Executes a query and returns a paginated response

  • area (query) — Analysis context to execute the query
  • page (query, page) — Page Number
  • size (query, limit) — Page Size
POST

/analyses/{username}/{project_slug}/{analysis_slug}/urls/aggs

Query aggregator

  • area (query)
GET

/analyses/{username}/{project_slug}/{analysis_slug}/urls/datamodel

Gets an Analysis datamodel

  • area (query)
GET

/analyses/{username}/{project_slug}/{analysis_slug}/urls/export

A list of the CSV Exports requests and their current status

  • page (query, page) — Page Number
  • size (query, limit) — Page Size
POST

/analyses/{username}/{project_slug}/{analysis_slug}/urls/export

Creates a new UrlExport object and starts a task that will export the results into a csv

  • area (query)
GET

/analyses/{username}/{project_slug}/{analysis_slug}/urls/export/{url_export_id}

Checks the status of an CSVUrlExportJob object

POST

/analyses/{username}/{project_slug}/{analysis_slug}/urls/suggested_filters

Return most frequent segments (= suggested patterns in the previous version)

  • area (query)
GET

/analyses/{username}/{project_slug}/{analysis_slug}/urls/{url}

Gets the detail of an URL for an analysis

  • fields (query) — comma separated list of fields to return (c.f. URLs Datamodel)
GET

/projects/{username}

List all active projects for the user

  • page (query, page) — Page Number
  • size (query, limit) — Page Size
POST

/projects/{username}/{project_slug}/features/url_rewriting/rules_validator

Match and replace parts of a URL based on rules passed in POST data

GET

/projects/{username}/{project_slug}/filters

List all the project's saved filters (each filter's name, ID and filter value)

  • page (query, page) — Page Number
  • size (query, limit) — Page Size
GET

/projects/{username}/{project_slug}/filters/{identifier}

Retrieves a specific saved filter's name, ID and filter value

POST

/projects/{username}/{project_slug}/urls/aggs

Project Query aggregator

  • area (query) — Analysis context to execute the queries
  • last_analysis_slug (query) — Last analysis on the trend
  • nb_analyses (query) — Max number of analysis to return

26 endpoints auto-detected

Authentication

This API uses an API key, passed in the "Authorization" header. No OAuth required.

curl -X GET \
  "https://api.botify.com/v1/analyses/{username}/{project_slug}" \
  -H "Authorization: YOUR_API_KEY"

api.botify.com · HTTPS only