emergentmethods / asknews-php-sdk
AskNews API
Installs: 8 268
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 1
Forks: 0
Open Issues: 0
pkg:composer/emergentmethods/asknews-php-sdk
Requires
- php: ^8.0 || ^8.1 || ^8.2 || ^8.3
- ext-curl: *
- ext-json: *
- ext-mbstring: *
- guzzlehttp/guzzle: ^7.3
- guzzlehttp/psr7: ^1.7 || ^2.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.5
- phpunit/phpunit: ^8.0 || ^9.0
- dev-main
- 0.3.7
- 0.3.6
- 0.3.5
- 0.3.4
- 0.3.2
- 0.3.1
- 0.3.0
- 0.2.65
- 0.2.64
- 0.2.63
- 0.2.62
- 0.2.61
- 0.2.60
- 0.2.59
- 0.2.58
- 0.2.57
- 0.2.56
- 0.2.55
- 0.2.54
- 0.2.53
- 0.2.52
- 0.2.51
- 0.2.50
- 0.2.49
- 0.2.48
- 0.2.47
- 0.2.46
- 0.2.45
- 0.2.44
- 0.2.43
- 0.2.41
- 0.2.40
- 0.2.39
- 0.2.38
- 0.2.37
- 0.2.36
- 0.2.35
- 0.2.34
- 0.2.33
- 0.2.32
- 0.2.31
- 0.2.30
- 0.2.29
- 0.2.28
- 0.2.27
- 0.2.26
- 0.2.25
- 0.2.24
- 0.2.23
- 0.2.22
- 0.2.21
- 0.2.20
- 0.2.19
- 0.2.18
- 0.2.17
- 0.2.16
- 0.2.15
- 0.2.14
- 0.2.13
- 0.2.12
- 0.2.11
- 0.2.10
- 0.2.9
- 0.2.8
- 0.2.7
This package is auto-updated.
Last update: 2025-10-31 14:15:18 UTC
README
AskNews API
Installation & Usage
Requirements
PHP 8.0 and later.
Composer
To install the bindings via Composer, add the following to composer.json:
{
  "repositories": [
    {
      "type": "vcs",
      "url": "https://github.com/emergentmethods/asknews-php-sdk.git"
    }
  ],
  "require": {
    "emergentmethods/asknews-php-sdk": "*@dev"
  }
}
Then run composer install
Manual Installation
Download the files and include autoload.php:
<?php require_once('/path/to/asknews-php-sdk/vendor/autoload.php');
Getting Started
Please follow the installation procedure and then run the following:
<?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure sdk credentials $config = new AskNews\Configuration([ 'clientId' => 'YOUR_ASKNEWS_CLIENT_ID', 'clientSecret' => 'YOUR_ASKNEWS_CLIENT_SECRET', 'scopes' => ['news', 'chat', 'stories', 'analytics'] ]); $apiInstance = new AskNews\Api\AlertsApi( // If you want use custom http client, pass your client which implements `GuzzleHttp\ClientInterface`. // This is optional, `GuzzleHttp\Client` will be used as default. new GuzzleHttp\Client(), $config ); $create_alert_request = new \AskNews\Model\CreateAlertRequest(); // \AskNews\Model\CreateAlertRequest try { $result = $apiInstance->createAlert($create_alert_request); print_r($result); } catch (Exception $e) { echo 'Exception when calling AlertsApi->createAlert: ', $e->getMessage(), PHP_EOL; }
API Endpoints
All URIs are relative to https://api.asknews.app
| Class | Method | HTTP request | Description | 
|---|---|---|---|
| AlertsApi | createAlert | POST /v1/chat/alerts | Create an alert | 
| AlertsApi | deleteAlert | DELETE /v1/chat/alerts/{alert_id} | Delete an alert | 
| AlertsApi | getAlert | GET /v1/chat/alerts/{alert_id} | Get an alert | 
| AlertsApi | getAlertLogs | GET /v1/chat/alerts/{alert_id}/logs | Get alert logs | 
| AlertsApi | getAlerts | GET /v1/chat/alerts | Get all created alerts | 
| AlertsApi | getAllAlertLogs | GET /v1/chat/alerts/logs | Get all alert logs | 
| AlertsApi | putAlert | PUT /v1/chat/alerts/{alert_id} | Update an alert | 
| AlertsApi | runAlert | GET /v1/chat/alerts/{alert_id}/run | Run an existing alert | 
| AnalyticsApi | getAssetSentiment | GET /v1/analytics/finance/sentiment | Get a timeseries of finance news sentiment for assets | 
| AutofilterApi | autofilter | GET /v1/chat/autofilter | Generate filter params for AskNews endpoints | 
| ChatApi | deepNews | POST /v1/chat/deepnews | Deep research into real-time news, archive news, and Google. | 
| ChatApi | getChatCompletions | POST /v1/openai/chat/completions | Get chat completions from a news-infused AI assistant | 
| ChatApi | getHeadlineQuestions | GET /v1/chat/questions | Get example headline questions | 
| ChatApi | listChatModels | GET /v1/openai/models | List available chat models | 
| DistributionApi | domainHitShare | GET /v1/distribution/stats/hit_share | Get the hit share for a list of domains in a time period | 
| DistributionApi | findDomains | GET /v1/distribution/domains | Find domains | 
| DistributionApi | getArticleHits | GET /v1/distribution/stats/count | Get article hits | 
| DistributionApi | getDomain | GET /v1/distribution/domains/{name} | Get a domain by name | 
| DistributionApi | getDomainQueries | GET /v1/distribution/articles/domain_queries | Get queries that surfaced domain articles | 
| DistributionApi | topNArticlesByHits | GET /v1/distribution/articles/top_n | Get the top N articles by hits | 
| DistributionApi | topNArticlesForDomain | GET /v1/distribution/articles/top_n_for_domain | Get the top N articles by hits for domain | 
| DistributionApi | topNDomainsByHits | GET /v1/distribution/domains/top_n | Get the top N domains by hits | 
| DistributionApi | updateDomain | PUT /v1/distribution/domains/{name} | Update an existing domain | 
| ForecastApi | getForecast | GET /v1/chat/forecast | Make an expert forecast for a news event. | 
| GraphApi | buildGraph | POST /v1/news/graph | Build a custom mega-news-knowledge graph | 
| NewsApi | getArticle | GET /v1/news/{article_id} | Get an article by its UUID | 
| NewsApi | getArticles | GET /v1/news | Get multiple articles by UUID | 
| NewsApi | getIndexCounts | GET /v1/index_counts | Get the index counts underlying AskNews | 
| NewsApi | getSourcesReport | GET /v1/sources | Get the sources underlying AskNews | 
| NewsApi | searchNews | GET /v1/news/search | Search for enriched real-time news context | 
| NewslettersApi | deleteNewsletter | DELETE /v1/chat/newsletters/{newsletter_id} | Delete a newsletter | 
| NewslettersApi | deleteNewsletterContact | DELETE /v1/chat/newsletters/{newsletter_id}/contacts/{contact_id} | Delete a newsletter contact | 
| NewslettersApi | getNewsletter | GET /v1/chat/newsletters/{newsletter_id} | Get a newsletter | 
| NewslettersApi | getNewsletterContact | GET /v1/chat/newsletters/{newsletter_id}/contacts/{contact_id} | Get a newsletter contact | 
| NewslettersApi | getNewsletterContacts | GET /v1/chat/newsletters/{newsletter_id}/contacts | Get newsletter contacts | 
| NewslettersApi | getNewsletters | GET /v1/chat/newsletters | Get all created newsletters | 
| NewslettersApi | getPublicNewsletters | GET /v1/chat/newsletters/public | Get all public newsletters | 
| NewslettersApi | patchNewsletterContact | PATCH /v1/chat/newsletters/{newsletter_id}/contacts/{contact_id} | Update a newsletter contact | 
| NewslettersApi | postNewsletter | POST /v1/chat/newsletters | Create a newsletter | 
| NewslettersApi | postNewsletterContacts | POST /v1/chat/newsletters/{newsletter_id}/contacts | Create a newsletter contact | 
| NewslettersApi | putNewsletter | PUT /v1/chat/newsletters/{newsletter_id} | Update a newsletter | 
| NewslettersApi | unsubscribeNewsletter | POST /v1/chat/newsletters/{newsletter_id}/unsubscribe | Unsubscribe from a newsletter | 
| PingApi | ping | GET / | Ping | 
| ProfileApi | getUserProfile | GET /v1/profiles/me | Get the current user's profile | 
| RedditApi | searchReddit | GET /v1/reddit/search | Search Reddit, summarize threads, and return analysis. | 
| StoriesApi | getStories | GET /v1/stories | Filter and search for top news narratives | 
| StoriesApi | getStory | GET /v1/stories/{story_id} | Get a story containing updates | 
| WebsearchApi | liveWebSearch | GET /v1/chat/websearch | Run a live websearch. | 
| WikiApi | searchWiki | GET /v1/wiki/search | Search for Wikipedia context with natural language | 
Models
- AbcAPIErrorModel1
- AbcAPIErrorModel10
- AbcAPIErrorModel11
- AbcAPIErrorModel12
- AbcAPIErrorModel13
- AbcAPIErrorModel14
- AbcAPIErrorModel15
- AbcAPIErrorModel16
- AbcAPIErrorModel17
- AbcAPIErrorModel18
- AbcAPIErrorModel19
- AbcAPIErrorModel2
- AbcAPIErrorModel20
- AbcAPIErrorModel21
- AbcAPIErrorModel22
- AbcAPIErrorModel23
- AbcAPIErrorModel24
- AbcAPIErrorModel25
- AbcAPIErrorModel26
- AbcAPIErrorModel27
- AbcAPIErrorModel28
- AbcAPIErrorModel29
- AbcAPIErrorModel3
- AbcAPIErrorModel30
- AbcAPIErrorModel31
- AbcAPIErrorModel32
- AbcAPIErrorModel33
- AbcAPIErrorModel34
- AbcAPIErrorModel35
- AbcAPIErrorModel36
- AbcAPIErrorModel37
- AbcAPIErrorModel38
- AbcAPIErrorModel39
- AbcAPIErrorModel4
- AbcAPIErrorModel40
- AbcAPIErrorModel41
- AbcAPIErrorModel42
- AbcAPIErrorModel43
- AbcAPIErrorModel44
- AbcAPIErrorModel45
- AbcAPIErrorModel46
- AbcAPIErrorModel47
- AbcAPIErrorModel48
- AbcAPIErrorModel49
- AbcAPIErrorModel5
- AbcAPIErrorModel50
- AbcAPIErrorModel51
- AbcAPIErrorModel52
- AbcAPIErrorModel53
- AbcAPIErrorModel54
- AbcAPIErrorModel55
- AbcAPIErrorModel56
- AbcAPIErrorModel57
- AbcAPIErrorModel58
- AbcAPIErrorModel59
- AbcAPIErrorModel6
- AbcAPIErrorModel60
- AbcAPIErrorModel61
- AbcAPIErrorModel62
- AbcAPIErrorModel63
- AbcAPIErrorModel64
- AbcAPIErrorModel65
- AbcAPIErrorModel66
- AbcAPIErrorModel67
- AbcAPIErrorModel68
- AbcAPIErrorModel69
- AbcAPIErrorModel7
- AbcAPIErrorModel70
- AbcAPIErrorModel71
- AbcAPIErrorModel72
- AbcAPIErrorModel73
- AbcAPIErrorModel74
- AbcAPIErrorModel75
- AbcAPIErrorModel76
- AbcAPIErrorModel77
- AbcAPIErrorModel78
- AbcAPIErrorModel79
- AbcAPIErrorModel8
- AbcAPIErrorModel80
- AbcAPIErrorModel81
- AbcAPIErrorModel82
- AbcAPIErrorModel83
- AbcAPIErrorModel84
- AbcAPIErrorModel85
- AbcAPIErrorModel86
- AbcAPIErrorModel87
- AbcAPIErrorModel88
- AbcAPIErrorModel89
- AbcAPIErrorModel9
- AbcAPIErrorModel90
- AbcAPIErrorModel91
- AbcAPIErrorModel92
- AlertLog
- AlertResponse
- Article
- AskNewsSource
- AsknewsApiErrorsAPIErrorModel
- AsknewsApiSchemaV1CommonGraphRelationships
- AsknewsApiSchemaV1StoriesGraphRelationships
- Assets
- Assets1
- BadDomainUrl
- BadDomainUrl1
- BadDomainUrl2
- BlueskySource
- BlueskySourceParams
- BodyBuildGraph
- Choice
- CirrusMetadata
- Classification
- ClusterProbabilitiesValue
- Continent
- CountResponse
- CreateAlertRequest
- CreateChatCompletionRequest
- CreateChatCompletionRequestMessage
- CreateChatCompletionRequestMessage1
- CreateChatCompletionResponse
- CreateChatCompletionResponse1
- CreateChatCompletionResponseChoice
- CreateChatCompletionResponseChoice1
- CreateChatCompletionResponseStream
- CreateChatCompletionResponseStream1
- CreateChatCompletionResponseStreamChoice
- CreateChatCompletionResponseStreamChoice1
- CreateChatCompletionResponseUsage
- CreateChatCompletionResponseUsage1
- CreateDeepNewsRequest
- CreateDeepNewsRequestMessage
- CreateDeepNewsRequestMessage1
- CreateDeepNewsResponse
- CreateDeepNewsResponse1
- CreateDeepNewsResponseChoice
- CreateDeepNewsResponseChoice1
- CreateDeepNewsResponseStreamChunk
- CreateDeepNewsResponseStreamChunk1
- CreateDeepNewsResponseStreamChunkChoice
- CreateDeepNewsResponseStreamChunkChoice1
- CreateDeepNewsResponseStreamSource
- CreateDeepNewsResponseStreamSourcesGraphSource
- CreateDeepNewsResponseStreamSourcesNewsSource
- CreateDeepNewsResponseStreamSourcesWebSource
- CreateDeepNewsResponseUsage
- CreateDeepNewsResponseUsage1
- CreateNewsletterRequest
- DeepNewsResponseSources
- DeepNewsResponseSources1
- DisplayImageUrl
- DomainQueriesResponse
- DomainQueryArticleItem
- DomainQueryClusterItem
- DomainQueryItem
- DomainUrl
- DomainUrl1
- EmailAction
- EmailParams
- Entities
- Entities1
- FilterParams
- FilterParams1
- FilterParamsMetadata
- FilterParamsResponse
- FinanceResponse
- FinanceResponseTimeSeries
- FinanceResponseTimeSeriesData
- ForecastResponse
- GeoCoordinate
- GeoCoordinate1
- GoogleDocsAction
- GoogleDocsParams
- GraphRelationships
- GraphResponse
- HTTPValidationError
- HitShareItem
- HitShareResponse
- IndexCountItem
- IntraClusterStatistics
- KeyPerson
- ListModelResponse
- ModelItem
- NewsletterContactCreateResponse
- NewsletterContactRequest
- NewsletterContactResponse
- NewsletterContactUpdateResponse
- NewsletterPublicResponse
- NewsletterResponse
- Offset
- Offset1
- Offset2
- Offset3
- Offset4
- OrganizationProfile
- OrganizationProfileSubscription
- PaginatedResponseAlertLog
- PaginatedResponseAlertResponse
- PaginatedResponseNewsletterPublicResponse
- PaginatedResponseNewsletterResponse
- PaginatedResponseReadDomainResponse
- PingModel
- Profile
- ProfileResponse
- ReadDomainResponse
- RedditComment
- RedditEntities
- RedditPerspective
- RedditResponse
- RedditThread
- ReplyTo
- ReportRequest
- ReportingVoice
- ReportingVoice1
- ReportingVoice2
- ResendBroadcastAction
- ResendBroadcastParams
- SearchResponse
- SearchResponseDictItem
- SearchResponseDictItem1
- Sentiment
- Source
- SourceReportItem
- Sources1
- SourcesInner
- Stop
- StoriesResponse
- StoryResponse
- StoryUpdate
- StoryUpdateDisplayImageUrlsInner
- TelegramSource
- TelegramSourceParams
- ThreadId
- ThreadId1
- TopNArticlesByHitsItem
- TopNArticlesByHitsResponse
- TopNArticlesForDomainItem
- TopNArticlesForDomainResponse
- TopNDomainsByHitsItem
- TopNDomainsByHitsResponse
- TriggersInner
- UpdateAlertRequest
- UpdateDomainRequest
- UpdateNewsletterRequest
- User
- UserProfile
- UserProfileOrganization
- UserProfileSubscription
- ValidationError
- ValidationErrorItem
- ValidationErrorLocInner
- ValidationErrorModel
- Value
- WebSearchResponse
- WebSearchResult
- WebSearchResult1
- WebSource
- WebSourceParams
- WebhookAction
- WebhookParams
- WikiResponseDictItem
- WikiSearchResponse
Authorization
Find full details at the AskNews API documentation.
Support
Join our Discord to see what other people are building, and to get support with your projects.