Open documentation ↗Overview
<div class="api-description"> <h2>Authentication</h2> <p>For all calls, supply your API key. <a href="https://www.geneea.com/pricing">Sign up to <em>obtain the key</em></a>.</p> <p> Our API supports both <em>unencrypted (HTTP)</em> and <em>encrypted (HTTPS)</em> protocols. However, for security reasons, we strongly encourage using only the encrypted version. </p> <p>The API key should be supplied as either a request parameter <code>user_key</code> or in <code>Authorization</code> header.</p> <pre><code>Authorization: user_key <YOUR_API_KEY></code></pre> <h2>API operations</h2> <p> All API operations can perform analysis on supplied raw text or on text extracted from a given URL. Optionally, one can supply additional information which can make the result more precise. An example of such information would be the language of text or a particular text extractor for URL resources. </p> <p>The supported types of analyses are:</p> <ul> <li><strong>lemmatization</strong> ⟶ Finds out lemmata (basic forms) of all the words in the document. </li> <li><strong>correction</strong> ⟶ Performs correction (diacritization) on all the words in the document. </li> <li><strong>topic detection</strong> ⟶ Determines a topic of the document, e.g. finance or sports. </li> <li><strong>sentiment analysis</strong> ⟶ Determines a sentiment of the document, i.e. how positive or negative the document is. </li> <li><strong>named entity recognition</strong> ⟶ Finds named entities (like person, location, date etc.) mentioned the the document. </li> </ul> <h2>Encoding</h2> <p>The supplied text is expected to be in UTF-8 encoding, this is especially important for non-english texts.</p> <h2>Returned values</h2> <p>The API calls always return objects in serialized JSON format in UTF-8 encoding.</p> <p> If any error occurs, the HTTP response code will be in the range <code>4xx</code> (client-side error) or <code>5xx</code> (server-side error). In this situation, the body of the response will contain information about the error in JSON format, with <code>exception</code> and <code>message</code> values. </p> <h2>URL limitations</h2> <p> All the requests are semantically <code>GET</code>. However, for longer texts, you may run into issues with URL length limit. Therefore, it's possible to always issue a <code>POST</code> request with all the parameters encoded as a JSON in the request body. </p> <p>Example:</p> <pre><code> POST /s1/sentiment Content-Type: application/json {"text":"There is no harm in being sometimes wrong - especially if one is promptly found out."} </code></pre> <p>This is equivalent to <code>GET /s1/sentiment?text=There%20is%20no%20harm...</code></p> <h2>Request limitations</h2> <p> The API has other limitations concerning the size of the HTTP requests. The maximum allowed size of any POST request body is <em>512 KiB</em>. For request with a URL resource, the maximum allowed number of extracted characters from each such resource is <em>100,000</em>. </p> <h2>Terms of Service</h2> <p> By using the API, you agree to our <a href="https://www.geneea.com/terms.html" target="_blank">Terms of Service Agreement</a>. </p> <h2>More information</h2> <p> <a href="https://help.geneea.com/index.html" target="_blank"> The Interpretor Public Documentation </a> </p> </div>
Geneea Natural Language Processing is a text analysis API from geneea.com. Requests are authenticated with an API key. It is served over HTTPS. Its OpenAPI description documents 12 endpoints.
At a glance
- Authentication
- API key
- HTTPS
- Yes
- CORS
- Unknown
- Category
- Text Analysis
- Base URL
https://api.geneea.com/- Version
- 1.0
- Endpoints
- 12
- OpenAPI
- Specification ↗
- Spec updated
- 2019-02-13
Make a first request
Replace the placeholders; the documentation says exactly where credentials go.
curl -X GET "https://api.geneea.com/account" \
-H "Accept: application/json" \
-H "X-API-Key: YOUR_API_KEY"const response = await fetch("https://api.geneea.com/account", {
method: "GET",
headers: {
"Accept": "application/json",
"X-API-Key": "YOUR_API_KEY",
},
});
const data = await response.json();
console.log(data);import requests
response = requests.request(
"GET",
"https://api.geneea.com/account",
headers={
"Accept": "application/json",
"X-API-Key": "YOUR_API_KEY",
},
timeout=30,
)
print(response.json())Endpoints
| Method | Path | What it does |
|---|---|---|
| GET | /account | Information about current user account |
| GET | /s1/correction | Performs text correction (diacritization) on the given document |
| POST | /s1/correction | Performs text correction (diacritization) on the given document |
| GET | /s1/entities | Performs named-entity recognition on the given document |
| POST | /s1/entities | Performs named-entity recognition on the given document |
| GET | /s1/lemmatize | Performs lemmatization on the given document |
| POST | /s1/lemmatize | Performs lemmatization on the given document |
| GET | /s1/sentiment | Performs sentiment analysis on the given document |
| POST | /s1/sentiment | Performs sentiment analysis on the given document |
| GET | /s1/topic | Performs topic detection on the given document |
| POST | /s1/topic | Performs topic detection on the given document |
| GET | /status | Gets status of the Interpretor service |
Questions
Does the Geneea Natural Language Processing API need an API key?
Yes. The Geneea Natural Language Processing API uses API key authentication; the documentation explains how to get credentials.
Does the Geneea Natural Language Processing API support HTTPS?
Yes, the Geneea Natural Language Processing API is served over HTTPS.
How many endpoints does the Geneea Natural Language Processing API have?
Its OpenAPI description lists 12 endpoints in version 1.0. All of them are shown on this page.
What are alternatives to the Geneea Natural Language Processing API?
Other Text Analysis APIs include Google Cloud Natural, LanguageTool, Tisane, LibreTranslate, Asynchronous Speech-To-Text API Documentation.
Similar text analysis APIs
Compare alternatives →Google Cloud Natural
Text AnalysisNatural language understanding technology, including sentiment, entity and syntax analysis
LanguageTool
Text AnalysisStyle and Grammar Checker for 25+ Languages
Tisane
Text AnalysisText Analytics with focus on detection of abusive content and law enforcement applications
LibreTranslate
Text AnalysisTranslation tool with 17 available languages
Asynchronous Speech-To-Text API Documentation
Text AnalysisRev.ai provides quality speech-text recognition via a RESTful API. All public methods and objects are documented here for developer reference. For a real-time speech to text solution, use Rev.ai's [Streaming API](/docs/streaming). # Base Endpoint The base url for this version of the API is > `https://api.rev.ai/speechtotext/v1` All endpoints described in this documentation are relative to this base url. # Quick Start Follow the [getting started checklist](https://www.rev.ai/getting_started) ## Get your Access Token You can generate your [access token](#section/Authentication/Access-Token) on the [settings page](https://www.rev.ai/access_token) of your account. This access token only needs to be generated once and never expires. You can re-generate your token, however this will invalidate the previous token. ## Submit a File To submit an audio file for transcription to Rev.ai: ``` curl -X POST "https://api.rev.ai/speechtotext/v1/jobs" -H "Authorization: Bearer $REV_ACCESS_TOKEN" -H "Content-Type: application/json" -d "{\"media_url\":\"https://www.rev.ai/FTC_Sample_1.mp3\",\"metadata\":\"This is a sample submit jobs option\"}" ``` You’ll receive a response like this: ~~~ { "id": "Umx5c6F7pH7r", "created_on": "2018-09-15T05:14:38.13", "name": "sample.mp3", "metadata": "This is a sample submit jobs option for multipart", "status": "in_progress" } ~~~ The `id` (in this case `Umx5c6F7pH7r`) will allow you to retrieve your transcript. ## Get Your Transcript Once a transcription job's `status` becomes `transcribed`, you can retrieve the transcript in JSON format by running: ``` curl -X GET "https://api.rev.ai/speechtotext/v1/jobs/{id}/transcript" -H "Authorization: Bearer $REV_ACCESS_TOKEN" -H "Accept: application/vnd.rev.transcript.v1.0+json" ``` Alternatively you can get the plain text version by running: ``` curl -X GET "https://api.rev.ai/speechtotext/v1/jobs/{id}/transcript" -H "Authorization: Bearer $REV_ACCESS_TOKEN" -H "Accept: text/plain" ``` You can poll for the `status` of your job by querying for the job periodically: ``` curl -X GET https://api.rev.ai/speechtotext/v1/jobs/{id} -H "Authorization: Bearer $REV_ACCESS_TOKEN" ``` **Note:** Polling is NOT recommended in a production server. Rather, use [webhooks](#section/Webhooks) to asynchronously receive notifications once the transcription job completes If you have any further questions, contact us at <[email protected]> # Submitting Files Two `POST` request formats can be used to submit a file: `application/json` or `multipart/form-data`. ## JSON This is the preferred method of file submission. Uses the `media_url` property to provide a direct download URL to the Rev.ai server. This method supports the use of pre-signed URLs. Links to videos hosted on platforms like Youtube are not valid because they are not direct download links. **Important note on presigned URLs:** Signed URLs usually have an expiration time which is configurable. To ensure the Rev.ai server can access the link, make sure the expiration time is set to 2 hours or more. In the event you plan on resending the same file, make sure to generate a new presigned URL. ## FormData Used to send a local file to the Rev.ai server. This allows the customer to send the file directly from the host machine. Certain limits apply to this format, see the [Async API Limits section](#section/Async-API-Limits) for more detals. # Turnaround Time and Chunking Often, especially for shorter files, your transcript will be ready in 5 minutes or less. It generally takes no longer than 15 minutes to return longer audios. If you require faster turn around time please contact <[email protected]> Chunking is the act of breaking audio files into smaller segments. Rev.ai uses this method to decrease turnaround time of audios greater than 3 minutes in length. # Webhooks If the optional `callback_url` is provided, the API will make an HTTP POST request to the `callback_url` with the following request body when the job either completes successfull
Detect Language
Text AnalysisDetects text language
Listed from APIs.guru (CC0).