Projects | Screpy
Projects
List, create, update, and delete the Screpy projects available to your REST API key.
Discover project IDs first
List projects before calling project-specific endpoints. Use the returned project_uid, not a display name, for crawls, crawl data, comparisons, and health requests.
The list can include projects owned by the account and projects shared with it. Confirm the project scope before updating or deleting a project, especially in an automation that acts on more than one account. Use account when the workflow also depends on current allowances.
List accessible projects
GET/projects
List projects available to the authenticated member, including shared team projects.
Authorization
bearerApiKey
AuthorizationBearer
Create a REST API key in Settings > Connected Apps. MCP credentials do not authenticate this API.
In: header
Query Parameters
limit?integer
Maximum records to return. Defaults to 50.
Range1 <= value <= 100
Default50cursor?string
Opaque cursor returned by the prior response. Do not construct or alter it.
Lengthlength <= 512
Response Body
200 application/json
401 application/json
403 application/json
422 application/json
429 application/json
curl -X GET "https://api.screpy.com/v1/projects"
200401403422429
{
"data": [
{
"uid": "string",
"name": "string",
"domain": "string",
"role": "owner",
"crawler_enabled": true,
"crawl_count": 0,
"created_at": "2019-08-24T14:15:22Z",
"updated_at": "2019-08-24T14:15:22Z"
}
],
"links": {
"first": "http://example.com",
"last": "http://example.com",
"prev": "http://example.com",
"next": "http://example.com"
},
"meta": {
"path": "http://example.com",
"per_page": 0,
"next_cursor": "string",
"prev_cursor": "string"
}
}
{
"message": "Unauthenticated."
}
{
"message": "string",
"code": "string"
}
{
"message": "string",
"code": "string",
"errors": {
"property1": [
"string"
],
"property2": [
"string"
]
}
}
{
"message": "string",
"code": "string"
}
Create a project
POST/projects
Creates an owned project. Capacity, duplicate-domain, and plan checks run at request time.
Authorization
bearerApiKey
AuthorizationBearer
Create a REST API key in Settings > Connected Apps. MCP credentials do not authenticate this API.
In: header
Request Body
application/json
name *string
Length length <= 255
domain *string
Reachable hostname without a path. www. is normalized away.
Length length <= 255
country? string | null
Supported country code.
language? string | null
Supported language code.
timezone? string | null
Length length <= 64
crawler_max_urls? integer
Must be allowed by the account's crawler-page allowance.
Range 1 <= value
crawler_depth? integer
Range 1 <= value <= 10
crawler_follow_links? boolean
crawler_allow_external_links? boolean
crawler_connect_images? boolean
crawler_connect_links? boolean
uptime_enabled? boolean
notification_email? string | null
Format email
Length length <= 255
Response Body
201 application/json
401 application/json
403 application/json
409 application/json
422 application/json
429 application/json
503 application/json
curl -X POST "https://api.screpy.com/v1/projects" \
-H "Content-Type: application/json" \
-d '{
"name": "string",
"domain": "string"
}'
201401403409422429503
{
"data": {
"uid": "string",
"name": "string",
"domain": "string",
"role": "owner",
"crawler_enabled": true,
"crawl_count": 0,
"created_at": "2019-08-24T14:15:22Z",
"updated_at": "2019-08-24T14:15:22Z"
}
}
{
"message": "Unauthenticated."
}
{
"message": "string",
"code": "string"
}
{
"message": "string",
"code": "string"
}
{
"message": "string",
"code": "string",
"errors": {
"property1": [
"string"
],
"property2": [
"string"
]
}
}
{
"message": "string",
"code": "string"
}
Get a project overview
GET/projects/{project_uid}
Returns the project, its latest completed crawl summary, and current on-page overview.
Authorization
bearerApiKey
AuthorizationBearer
Create a REST API key in Settings > Connected Apps. MCP credentials do not authenticate this API.
In: header
Path Parameters
project_uid *string
Accessible project UID. Discover it with GET /projects; do not guess it.
Match ^[a-z0-9]{10}$
Response Body
200 application/json
401 application/json
403 application/json
404 application/json
429 application/json
curl -X GET "https://api.screpy.com/v1/projects/string"
200401403404429
{
"data": {
"project": {
"uid": "string",
"name": "string",
"domain": "string",
"role": "owner",
"crawler_enabled": true,
"crawl_count": 0,
"created_at": "2019-08-24T14:15:22Z",
"updated_at": "2019-08-24T14:15:22Z"
},
"latest_completed_crawl": {
"crawl_uid": "string",
"status": "string",
"state": "string",
"status_label": "string",
"started_at": "2019-08-24T14:15:22Z",
"finished_at": "2019-08-24T14:15:22Z",
"last_synced_at": "2019-08-24T14:15:22Z",
"progress": {
"pages_crawled": 0,
"pages_total": 0,
"max_pages": 0,
"current_depth": 0
},
"health": {
"score": 0,
"confidence": 0,
"coverage": 0
},
"issues": {
"critical": 0,
"warnings": 0,
"notices": 0,
"total": 0
},
"totals": {
"pages": 0,
"indexable_pages": 0,
"noindex_pages": 0,
"links": 0,
"images": 0,
"unique_urls": 0
}
},
"on_page": {
"summary": {
"status": "string",
"finished_at": "2019-08-24T14:15:22Z",
"health_score": 0,
"health_score_version": 0,
"health_score_confidence": 0,
"health_score_coverage": 0,
"health_score_groups": [
null
],
"health_score_delta": 0,
"pages_total": 0,
"critical_issues": 0,
"warnings": 0,
"notices": 0,
"issues_total": 0,
"avg_response_time_ms": 0,
"duration_seconds": 0,
"broken_links": 0,
"total_images_count": 0,
"missing_metadata": 0,
"issues_added": 0,
"issues_fixed": 0
},
"trends": [
null
],
"groups": [
null
],
"coverage": [
null
]
}
}
}
{
"message": "Unauthenticated."
}
{
"message": "string",
"code": "string"
}
{
"message": "Project not found or not accessible."
}
{
"message": "string",
"code": "string"
}
Update supported project settings
PATCH/projects/{project_uid}
Send only fields to update. Unknown fields and unsupported nested rule fields are rejected.
Authorization
bearerApiKey
AuthorizationBearer
Create a REST API key in Settings > Connected Apps. MCP credentials do not authenticate this API.
In: header
Path Parameters
project_uid *string
Accessible project UID. Discover it with GET /projects; do not guess it.
Match ^[a-z0-9]{10}$
Request Body
application/json
Properties 1 <= properties
name? string
Lengthlength <= 255country? string
Supported country code.
Lengthlength <= 2language? string
Supported language code.
Lengthlength <= 16timezone? string
Lengthlength <= 64crawler_enabled? boolean
crawler_max_urls? integer
Must be allowed by the billing account's crawler-page allowance.
Range1 <= valuecrawler_depth? integer
Range1 <= value <= 10crawler_concurrency? integer
Value in - 1
- 2
- 5
- 10
- 20crawler_delay_seconds? integer
Value in - 0
- 1
- 5
- 10
- 30
- 60crawler_follow_links? boolean
crawler_allow_external_links? boolean
crawler_javascript_enabled? boolean
crawler_connect_images? boolean
crawler_connect_links? boolean
rank_tracker_frequency? string
Value in - "daily"
- "weekly"
- "biweekly"
- "monthly"map_tracker_frequency? string
Availability ofdailyis plan-dependent.
Value in - "daily"
- "weekly"
- "biweekly"
- "monthly"uptime_enabled? boolean
uptime_check_interval_minutes? integer
Range1 <= value <= 60notification_email? string | null
Formatemail
Lengthlength <= 255map_tracker_match_rules? array
| null
Itemsitems <= 10
Response Body
200 application/json
401 application/json
403 application/json
404 application/json
422 application/json
429 application/json
503 application/json
curl -X PATCH "https://api.screpy.com/v1/projects/string" \
-H "Content-Type: application/json" \
-d '{}'
200401403404422429503
{
"message": "Unauthenticated."
}
{
"message": "string",
"code": "string"
}
{
"message": "Project not found or not accessible."
}
{
"message": "string",
"code": "string",
"errors": {
"property1": [
"string"
],
"property2": [
"string"
]
}
}
{
"message": "string",
"code": "string"
}
Permanently delete an owned project
DELETE/projects/{project_uid}
Only the project owner can delete a project.
Authorization
bearerApiKey
AuthorizationBearer
Create a REST API key in Settings > Connected Apps. MCP credentials do not authenticate this API.
In: header
Path Parameters
project_uid *string
Accessible project UID. Discover it with GET /projects; do not guess it.
Match ^[a-z0-9]{10}$
Response Body
204
401 application/json
403 application/json
404 application/json
429 application/json
503 application/json
curl -X DELETE "https://api.screpy.com/v1/projects/string"
204401403404429503
Empty
{
"message": "Unauthenticated."
}
{
"message": "string",
"code": "string"
}
{
"message": "Project not found or not accessible."
}
{
"message": "string",
"code": "string"
}