How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

Campbell's Content API (WordPress REST)

The publicly callable WordPress REST API that The Campbell's Company serves from its consumer brand site. It is the de facto successor to the retired Campbell's Kitchen API: the same recipe and product catalog is reachable anonymously over the wp/v2 namespace, alongside Campbell's own custom post types (recipe, product, external_product, csc_faq) and its product/recipe taxonomies (csc_product_line, csc_product_cat, csc_product_tag, csc_dietary_alternative, csc_main_ingredient, csc_recipe_collection, csc_topic). Reads need no key, no signup and no quota; write methods are declared by WordPress core but the live surface returns Allow: GET to anonymous callers. Observed 2026-09-05: 316 recipes, 210 products, 36 FAQs, 422 cross-type search matches for "soup". Campbell's publishes no OpenAPI, no documentation and no versioning or deprecation policy for it — the description in openapi/ is derived by API Evangelist from the site's own route discovery document.

Campbell’s Content API (WordPress REST) is published by Campbell Soup on the APIs.io network, described by a machine-readable OpenAPI specification.

Tagged areas include Recipes, Products, Nutrition, Content API, and WordPress. The published artifact set on APIs.io includes an OpenAPI specification, authentication docs, and rate-limit docs.

This API exposes 102 operations across 46 paths, organized into 12 resource areas, and defines 1 schema. It is described by OpenAPI 3.1.0, at version wp/v2.

Requests are made against 3 base URLs: https://www.campbells.com/wp-json, https://www.snydersofhanover.com/wp-json, https://www.pacefoods.com/wp-json.

102 operations 46 paths 1 schemas 19 DELETE44 GET39 POST

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.1.0
API Version
wp/v2
Base URL
https://www.campbells.com/wp-json
Authentication
HTTP Basic
Resource Areas
12

Authentication & Security 1

Campbell's Content API (WordPress REST) declares 1 security scheme for authenticating requests. It accepts HTTP basic authentication (basicAuth).

  • basicAuth — WordPress application passwords over HTTP Basic. Required for every write method; not issued to the public.

Paths & Operations 102

Across 46 paths, the API surfaces 102 operations — 19 DELETE, 44 GET, 39 POST. They span 12 resource areas, including Posts, Pages, Media, Products, Recipes, External Products, FAQs, Discovery, and 4 more. Each is listed below with its method, path, parameters, and response codes.

Posts 5
GET
/wp/v2/posts
GET /wp/v2/posts
getPosts 27 params → 200400401403404
POST
/wp/v2/posts
POST /wp/v2/posts
postPosts body → 200400401403404
GET
/wp/v2/posts/{id}
GET /wp/v2/posts/{id}
getPostsId 4 params → 200400401403404
POST
/wp/v2/posts/{id}
POST /wp/v2/posts/{id}
postPostsId 1 param body → 200400401403404
DELETE
/wp/v2/posts/{id}
DELETE /wp/v2/posts/{id}
deletePostsId 1 param → 200400401403404
Pages 5
GET
/wp/v2/pages
GET /wp/v2/pages
getPages 22 params → 200400401403404
POST
/wp/v2/pages
POST /wp/v2/pages
postPages body → 200400401403404
GET
/wp/v2/pages/{id}
GET /wp/v2/pages/{id}
getPagesId 4 params → 200400401403404
POST
/wp/v2/pages/{id}
POST /wp/v2/pages/{id}
postPagesId 1 param body → 200400401403404
DELETE
/wp/v2/pages/{id}
DELETE /wp/v2/pages/{id}
deletePagesId 1 param → 200400401403404
Media 7
GET
/wp/v2/media
GET /wp/v2/media
getMedia 23 params → 200400401403404
POST
/wp/v2/media
POST /wp/v2/media
postMedia body → 200400401403404
GET
/wp/v2/media/{id}
GET /wp/v2/media/{id}
getMediaId 2 params → 200400401403404
POST
/wp/v2/media/{id}
POST /wp/v2/media/{id}
postMediaId 1 param body → 200400401403404
DELETE
/wp/v2/media/{id}
DELETE /wp/v2/media/{id}
deleteMediaId 1 param → 200400401403404
POST
/wp/v2/media/{id}/post-process
POST /wp/v2/media/{id}/post-process
postMediaIdPostProcess 1 param body → 200400401403404
POST
/wp/v2/media/{id}/edit
POST /wp/v2/media/{id}/edit
postMediaIdEdit 1 param body → 200400401403404
Products 5
GET
/wp/v2/product
GET /wp/v2/product
getProduct 28 params → 200400401403404
POST
/wp/v2/product
POST /wp/v2/product
postProduct body → 200400401403404
GET
/wp/v2/product/{id}
GET /wp/v2/product/{id}
getProductId 3 params → 200400401403404
POST
/wp/v2/product/{id}
POST /wp/v2/product/{id}
postProductId 1 param body → 200400401403404
DELETE
/wp/v2/product/{id}
DELETE /wp/v2/product/{id}
deleteProductId 1 param → 200400401403404
Recipes 5
GET
/wp/v2/recipe
GET /wp/v2/recipe
getRecipe 20 params → 200400401403404
POST
/wp/v2/recipe
POST /wp/v2/recipe
postRecipe body → 200400401403404
GET
/wp/v2/recipe/{id}
GET /wp/v2/recipe/{id}
getRecipeId 3 params → 200400401403404
POST
/wp/v2/recipe/{id}
POST /wp/v2/recipe/{id}
postRecipeId 1 param body → 200400401403404
DELETE
/wp/v2/recipe/{id}
DELETE /wp/v2/recipe/{id}
deleteRecipeId 1 param → 200400401403404
External Products 5
GET
/wp/v2/external_product
GET /wp/v2/externalproduct
getExternalProduct 19 params → 200400401403404
POST
/wp/v2/external_product
POST /wp/v2/externalproduct
postExternalProduct body → 200400401403404
GET
/wp/v2/external_product/{id}
GET /wp/v2/externalproduct/{id}
getExternalProductId 4 params → 200400401403404
POST
/wp/v2/external_product/{id}
POST /wp/v2/externalproduct/{id}
postExternalProductId 1 param body → 200400401403404
DELETE
/wp/v2/external_product/{id}
DELETE /wp/v2/externalproduct/{id}
deleteExternalProductId 1 param → 200400401403404
FAQs 5
GET
/wp/v2/csc_faq
GET /wp/v2/cscfaq
getCscFaq 21 params → 200400401403404
POST
/wp/v2/csc_faq
POST /wp/v2/cscfaq
postCscFaq body → 200400401403404
GET
/wp/v2/csc_faq/{id}
GET /wp/v2/cscfaq/{id}
getCscFaqId 3 params → 200400401403404
POST
/wp/v2/csc_faq/{id}
POST /wp/v2/cscfaq/{id}
postCscFaqId 1 param body → 200400401403404
DELETE
/wp/v2/csc_faq/{id}
DELETE /wp/v2/cscfaq/{id}
deleteCscFaqId 1 param → 200400401403404
Discovery 6
GET
/wp/v2/types
GET /wp/v2/types
getTypes 1 param → 200400401403404
GET
/wp/v2/types/{type}
GET /wp/v2/types/{type}
getTypesType 2 params → 200400401403404
GET
/wp/v2/statuses
GET /wp/v2/statuses
getStatuses 1 param → 200400401403404
GET
/wp/v2/statuses/{status}
GET /wp/v2/statuses/{status}
getStatusesStatus 2 params → 200400401403404
GET
/wp/v2/taxonomies
GET /wp/v2/taxonomies
getTaxonomies 2 params → 200400401403404
GET
/wp/v2/taxonomies/{taxonomy}
GET /wp/v2/taxonomies/{taxonomy}
getTaxonomiesTaxonomy 2 params → 200400401403404
Taxonomies 45
GET
/wp/v2/categories
GET /wp/v2/categories
getCategories 12 params → 200400401403404
POST
/wp/v2/categories
POST /wp/v2/categories
postCategories body → 200400401403404
GET
/wp/v2/categories/{id}
GET /wp/v2/categories/{id}
getCategoriesId 2 params → 200400401403404
POST
/wp/v2/categories/{id}
POST /wp/v2/categories/{id}
postCategoriesId 1 param body → 200400401403404
DELETE
/wp/v2/categories/{id}
DELETE /wp/v2/categories/{id}
deleteCategoriesId 1 param → 200400401403404
GET
/wp/v2/tags
GET /wp/v2/tags
getTags 12 params → 200400401403404
POST
/wp/v2/tags
POST /wp/v2/tags
postTags body → 200400401403404
GET
/wp/v2/tags/{id}
GET /wp/v2/tags/{id}
getTagsId 2 params → 200400401403404
POST
/wp/v2/tags/{id}
POST /wp/v2/tags/{id}
postTagsId 1 param body → 200400401403404
DELETE
/wp/v2/tags/{id}
DELETE /wp/v2/tags/{id}
deleteTagsId 1 param → 200400401403404
GET
/wp/v2/csc_dietary_alternative
GET /wp/v2/cscdietaryalternative
getCscDietaryAlternative 12 params → 200400401403404
POST
/wp/v2/csc_dietary_alternative
POST /wp/v2/cscdietaryalternative
postCscDietaryAlternative body → 200400401403404
GET
/wp/v2/csc_dietary_alternative/{id}
GET /wp/v2/cscdietaryalternative/{id}
getCscDietaryAlternativeId 2 params → 200400401403404
POST
/wp/v2/csc_dietary_alternative/{id}
POST /wp/v2/cscdietaryalternative/{id}
postCscDietaryAlternativeId 1 param body → 200400401403404
DELETE
/wp/v2/csc_dietary_alternative/{id}
DELETE /wp/v2/cscdietaryalternative/{id}
deleteCscDietaryAlternativeId 1 param → 200400401403404
GET
/wp/v2/csc_main_ingredient
GET /wp/v2/cscmainingredient
getCscMainIngredient 12 params → 200400401403404
POST
/wp/v2/csc_main_ingredient
POST /wp/v2/cscmainingredient
postCscMainIngredient body → 200400401403404
GET
/wp/v2/csc_main_ingredient/{id}
GET /wp/v2/cscmainingredient/{id}
getCscMainIngredientId 2 params → 200400401403404
POST
/wp/v2/csc_main_ingredient/{id}
POST /wp/v2/cscmainingredient/{id}
postCscMainIngredientId 1 param body → 200400401403404
DELETE
/wp/v2/csc_main_ingredient/{id}
DELETE /wp/v2/cscmainingredient/{id}
deleteCscMainIngredientId 1 param → 200400401403404
GET
/wp/v2/csc_product_cat
GET /wp/v2/cscproductcat
getCscProductCat 12 params → 200400401403404
POST
/wp/v2/csc_product_cat
POST /wp/v2/cscproductcat
postCscProductCat body → 200400401403404
GET
/wp/v2/csc_product_cat/{id}
GET /wp/v2/cscproductcat/{id}
getCscProductCatId 2 params → 200400401403404
POST
/wp/v2/csc_product_cat/{id}
POST /wp/v2/cscproductcat/{id}
postCscProductCatId 1 param body → 200400401403404
DELETE
/wp/v2/csc_product_cat/{id}
DELETE /wp/v2/cscproductcat/{id}
deleteCscProductCatId 1 param → 200400401403404
GET
/wp/v2/csc_product_line
GET /wp/v2/cscproductline
getCscProductLine 12 params → 200400401403404
POST
/wp/v2/csc_product_line
POST /wp/v2/cscproductline
postCscProductLine body → 200400401403404
GET
/wp/v2/csc_product_line/{id}
GET /wp/v2/cscproductline/{id}
getCscProductLineId 2 params → 200400401403404
POST
/wp/v2/csc_product_line/{id}
POST /wp/v2/cscproductline/{id}
postCscProductLineId 1 param body → 200400401403404
DELETE
/wp/v2/csc_product_line/{id}
DELETE /wp/v2/cscproductline/{id}
deleteCscProductLineId 1 param → 200400401403404
GET
/wp/v2/csc_product_tag
GET /wp/v2/cscproducttag
getCscProductTag 12 params → 200400401403404
POST
/wp/v2/csc_product_tag
POST /wp/v2/cscproducttag
postCscProductTag body → 200400401403404
GET
/wp/v2/csc_product_tag/{id}
GET /wp/v2/cscproducttag/{id}
getCscProductTagId 2 params → 200400401403404
POST
/wp/v2/csc_product_tag/{id}
POST /wp/v2/cscproducttag/{id}
postCscProductTagId 1 param body → 200400401403404
DELETE
/wp/v2/csc_product_tag/{id}
DELETE /wp/v2/cscproducttag/{id}
deleteCscProductTagId 1 param → 200400401403404
GET
/wp/v2/csc_recipe_collection
GET /wp/v2/cscrecipecollection
getCscRecipeCollection 12 params → 200400401403404
POST
/wp/v2/csc_recipe_collection
POST /wp/v2/cscrecipecollection
postCscRecipeCollection body → 200400401403404
GET
/wp/v2/csc_recipe_collection/{id}
GET /wp/v2/cscrecipecollection/{id}
getCscRecipeCollectionId 2 params → 200400401403404
POST
/wp/v2/csc_recipe_collection/{id}
POST /wp/v2/cscrecipecollection/{id}
postCscRecipeCollectionId 1 param body → 200400401403404
DELETE
/wp/v2/csc_recipe_collection/{id}
DELETE /wp/v2/cscrecipecollection/{id}
deleteCscRecipeCollectionId 1 param → 200400401403404
GET
/wp/v2/csc_topic
GET /wp/v2/csctopic
getCscTopic 12 params → 200400401403404
POST
/wp/v2/csc_topic
POST /wp/v2/csctopic
postCscTopic body → 200400401403404
GET
/wp/v2/csc_topic/{id}
GET /wp/v2/csctopic/{id}
getCscTopicId 2 params → 200400401403404
POST
/wp/v2/csc_topic/{id}
POST /wp/v2/csctopic/{id}
postCscTopicId 1 param body → 200400401403404
DELETE
/wp/v2/csc_topic/{id}
DELETE /wp/v2/csctopic/{id}
deleteCscTopicId 1 param → 200400401403404
Authors 8
GET
/wp/v2/users
GET /wp/v2/users
getUsers 15 params → 200400401403404
POST
/wp/v2/users
POST /wp/v2/users
postUsers body → 200400401403404
GET
/wp/v2/users/{id}
GET /wp/v2/users/{id}
getUsersId 2 params → 200400401403404
POST
/wp/v2/users/{id}
POST /wp/v2/users/{id}
postUsersId 1 param body → 200400401403404
DELETE
/wp/v2/users/{id}
DELETE /wp/v2/users/{id}
deleteUsersId 1 param → 200400401403404
GET
/wp/v2/users/me
GET /wp/v2/users/me
getUsersMe 1 param → 200400401403404
POST
/wp/v2/users/me
POST /wp/v2/users/me
postUsersMe body → 200400401403404
DELETE
/wp/v2/users/me
DELETE /wp/v2/users/me
deleteUsersMe → 200400401403404
Comments 5
GET
/wp/v2/comments
GET /wp/v2/comments
getComments 20 params → 200400401403404
POST
/wp/v2/comments
POST /wp/v2/comments
postComments body → 200400401403404
GET
/wp/v2/comments/{id}
GET /wp/v2/comments/{id}
getCommentsId 3 params → 200400401403404
POST
/wp/v2/comments/{id}
POST /wp/v2/comments/{id}
postCommentsId 1 param body → 200400401403404
DELETE
/wp/v2/comments/{id}
DELETE /wp/v2/comments/{id}
deleteCommentsId 1 param → 200400401403404
Search 1
GET
/wp/v2/search
GET /wp/v2/search
getSearch 8 params → 200400401403404

Schemas 1

The contract defines 1 schema that model the data the API accepts and returns. The most detailed is WPError (3 properties). Each schema is shown below with its type and property counts.

WPError
object
The WordPress REST error envelope returned on every 4xx/5xx.
3 properties 2 required

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

campbell-soup-content-api-openapi.yml Raw ↑
Where this information came from

This is an independent, third-party profile of Campbell's Content API (WordPress REST), published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.