Channel Datafeeds
Manage datafeeds within a channel — create, update, delete, and check status of Google Merchant Center datafeeds.
Datafeeds are nested under a channel and represent individual feed configurations for a specific market (country + language). Currently supported for Google Merchant Center.
List datafeeds
/v1/channels/:slug/datafeeds Returns all datafeeds for a channel.
Required scope: read_channels
Request
curl https://app.simpleproductfeeds.com/v1/channels/google/datafeeds \
-H "Authorization: Bearer spf_live_sk_your_key_here"
Response
{
"data": [
{
"id": 1,
"object": "datafeed",
"datafeed_id": "1234567890",
"datafeed_name": "US Products",
"hour": 14,
"time_zone": "America/New_York",
"fetch_url": "https://feeds.simpleproductfeeds.com/abc123/gmcfeed.txt",
"targets": [
{"country": "US", "language": "en"}
],
"created_at": "2026-01-10T08:00:00Z",
"updated_at": "2026-03-01T10:00:00Z"
}
]
}
Datafeed response fields
| Field | Type | Description |
|---|---|---|
id | integer | Unique identifier. |
object | string | Always "datafeed". |
datafeed_id | string | null | External ID in the channel platform (e.g., Google Merchant Center datafeed ID). |
datafeed_name | string | Display name for this datafeed. |
hour | integer | Hour of day (0-23) when the datafeed is scheduled to fetch. |
time_zone | string | IANA time zone for the fetch schedule. |
fetch_url | string | null | URL the channel fetches product data from. |
targets | array | Target markets, each with country and language codes. |
created_at | string | ISO 8601 timestamp. |
updated_at | string | ISO 8601 timestamp. |
Get a datafeed
/v1/channels/:slug/datafeeds/:id Returns a single datafeed.
Required scope: read_channels
Request
curl https://app.simpleproductfeeds.com/v1/channels/google/datafeeds/1 \
-H "Authorization: Bearer spf_live_sk_your_key_here"
Errors
| Status | Code | Description |
|---|---|---|
| 404 | resource_not_found | No datafeed found with the given ID. |
Create a datafeed
/v1/channels/:slug/datafeeds Creates a new datafeed in the channel.
Required scope: write_channels
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
datafeed_name | string | Yes | Display name for the datafeed. |
hour | integer | Yes | Hour of day (0-23) for scheduled fetch. |
time_zone | string | Yes | IANA time zone (e.g., America/New_York). |
targets | array | No | Target markets. Defaults to [{"country": "US", "language": "en"}]. |
Request
curl -X POST https://app.simpleproductfeeds.com/v1/channels/google/datafeeds \
-H "Authorization: Bearer spf_live_sk_your_key_here" \
-H "Content-Type: application/json" \
-d '{
"datafeed_name": "EU Products",
"hour": 6,
"time_zone": "Europe/London",
"targets": [
{"country": "GB", "language": "en"},
{"country": "DE", "language": "de"}
]
}'
Response
Returns the created datafeed with status 201 Created.
Errors
| Status | Code | Description |
|---|---|---|
| 401 | oauth_required | Google OAuth is not connected. Connect the channel first. |
| 422 | validation_failed | Invalid datafeed parameters. |
Update a datafeed
/v1/channels/:slug/datafeeds/:id Updates an existing datafeed.
Required scope: write_channels
Parameters
All parameters are optional. Include only the ones you want to change.
| Parameter | Type | Description |
|---|---|---|
datafeed_name | string | Updated display name. |
hour | integer | Updated fetch hour (0-23). |
time_zone | string | Updated IANA time zone. |
targets | array | Updated target markets. |
Request
curl -X PATCH https://app.simpleproductfeeds.com/v1/channels/google/datafeeds/1 \
-H "Authorization: Bearer spf_live_sk_your_key_here" \
-H "Content-Type: application/json" \
-d '{"hour": 8, "datafeed_name": "US Products - Morning"}'
Response
Returns the updated datafeed.
Errors
| Status | Code | Description |
|---|---|---|
| 404 | resource_not_found | No datafeed found with the given ID. |
| 422 | validation_failed | Invalid datafeed parameters. |
Delete a datafeed
/v1/channels/:slug/datafeeds/:id Permanently deletes a datafeed from the channel.
Required scope: write_channels
Request
curl -X DELETE https://app.simpleproductfeeds.com/v1/channels/google/datafeeds/1 \
-H "Authorization: Bearer spf_live_sk_your_key_here"
Returns 204 No Content on success.
Errors
| Status | Code | Description |
|---|---|---|
| 404 | resource_not_found | No datafeed found with the given ID. |
Get datafeed status
/v1/channels/:slug/datafeeds/:id/status Returns the processing status and item counts from the channel platform.
Required scope: read_channels
Request
curl https://app.simpleproductfeeds.com/v1/channels/google/datafeeds/1/status \
-H "Authorization: Bearer spf_live_sk_your_key_here"
Response
{
"data": {
"datafeed_id": "1234567890",
"processing_status": "success",
"items_total": 1482,
"items_valid": 1450,
"last_upload_date": "2026-03-09"
}
}
Errors
| Status | Code | Description |
|---|---|---|
| 401 | oauth_required | Google OAuth is not connected. |
Get datafeed issues
/v1/channels/:slug/datafeeds/:id/issues Returns product issues reported by the channel platform.
Required scope: read_channels
Request
curl https://app.simpleproductfeeds.com/v1/channels/google/datafeeds/1/issues \
-H "Authorization: Bearer spf_live_sk_your_key_here"
Response
{
"data": {
"total_products": 1482,
"products_with_issues": 32,
"issues": [
{
"severity": "warning",
"title": "Missing GTIN",
"description": "32 products are missing a GTIN value.",
"affected_items": 32
}
]
}
}
Trigger immediate fetch
/v1/channels/:slug/datafeeds/:id/fetch_now Triggers an immediate fetch of the datafeed by the channel platform, outside the regular schedule.
Required scope: write_channels
Request
curl -X POST https://app.simpleproductfeeds.com/v1/channels/google/datafeeds/1/fetch_now \
-H "Authorization: Bearer spf_live_sk_your_key_here"
Response
{
"data": {
"message": "Fetch triggered. It may take a few minutes for the channel to process the datafeed."
}
}
Get datafeed options
/v1/channels/:slug/datafeeds/options Returns available options for creating or updating datafeeds — valid hours, time zones, and countries.
Required scope: read_channels
Request
curl https://app.simpleproductfeeds.com/v1/channels/google/datafeeds/options \
-H "Authorization: Bearer spf_live_sk_your_key_here"
Response
{
"data": {
"hours": [
{"label": "12:00 AM", "value": 0},
{"label": "1:00 AM", "value": 1}
],
"time_zones": [
{"label": "Eastern Time (US & Canada)", "value": "America/New_York"},
{"label": "Pacific Time (US & Canada)", "value": "America/Los_Angeles"}
],
"countries": [
{"label": "United States", "value": "US"},
{"label": "United Kingdom", "value": "GB"}
]
}
}