SocialCrawl

App schema

The unified SocialCrawl app-store listing schema. Every field, its type, per-platform availability, and a machine-readable JSON Schema, generated from the canonical Zod source.

Every SocialCrawl endpoint that returns a app-store listing gives you this exact shape, whatever the source platform. Write your parser once and the same code reads app data from every platform below. That is the unified schema: one contract instead of a dozen raw upstream formats.

Field reference

FieldTypeNullableDescription
idstringNoStore app ID (Google Play package name / App Store numeric id)
storestringNoApp marketplace ("google_play" or "app_store")
urlstringYes
titlestringYesApp title
subtitlestringYes
iconstringYes
descriptionstringYes
developer.idstringYes
developer.namestringYes
developer.urlstringYes
developer.emailstringYes
developer.addressstringYes
developer.websitestringYes
rating.valuenumberYes
rating.maxnumberYes
rating.countnumberYes
price.currentnumberYes
price.originalnumberYes
price.currencystringYes
price.is_freebooleanYes
price.displayedstringYes
reviews_countnumberYes
categorystringYes
categoriesstring[]Yes
installs.displaystringYes
installs.countnumberYes
versionstringYes
minimum_os_versionstringYes
sizestringYes
released_atstring or numberYesUnion: string | number | null
updated_atstring or numberYesUnion: string | number | null
update_notesstringYes
image_urlsstring[]YesScreenshot URLs
video_urlsstring[]Yes
languagesstring[]Yes
advisoriesstring[]YesApple age/content advisories (null on Google)
genresstring[]YesGoogle Play genres (null on Apple)
tagsstring[]Yes
similar_appsobject[]Yes
more_by_developerobject[]Yes
ranknumberYes1-based position in the store chart (app-list) or the keyword results (app-search); absent on app-info and app-listings-search

Extension fields (ext)

Platform-specific passthrough. Each field is present only on the platforms that expose it and is absent everywhere else, so treat every ext.* field as optional. These carry the richer, per-platform signals the unified leaves cannot hold, and the join keys that chain endpoints together.

FieldTypeNullableDescription
ext.appdataobjectYes

Platform availability

2 platforms return the App shape. id, store are never null on any platform. The fields below vary: yes means the platform populates it (the value may still be null); a blank means the platform never provides it, so it is always null.

Platformurltitlesubtitleicondescriptiondeveloper.iddeveloper.namedeveloper.urldeveloper.emaildeveloper.addressdeveloper.websiterating.value
Apple App Storeyesyesyesyesyesyesyesyesyesyesyesyes
Google Playyesyesyesyesyesyesyesyesyesyesyesyes

Machine-readable schema

Validate responses programmatically against the JSON Schema (2020-12):

/schemas/app.json

Point a validator (Ajv, jsonschema, or your framework's) at that URL, or hand it to an agent so it can check the shape without a live call.

Returned by

Endpoints with the App / AppList archetype return this shape:

Apple App Store · Google Play

See how the same fields map to each platform's raw upstream names in the cross-platform field equivalence table.

On this page